美文网首页
单样本检验:引擎排放标准是否达达到要求

单样本检验:引擎排放标准是否达达到要求

作者: 龍猫君 | 来源:发表于2018-07-25 12:21 被阅读0次

    单样本检验 案例练习
    根据政府要求新排放标准:引擎排放平均值<20ppm,才到达环保的要求。

    有某家生产汽车引擎的公司,需要测试该公司的引擎排放是否达到标准。

    现在有10台引擎供测试使用,每一台的引擎排放水平的数据分别为:15,6,16.2,22.5,20.5,16.4,19.4,16.6,17.9,12.7,13.9

    如果知道该公司的引擎是否达到政府要求的排放标准呢?

    一、求样本平均值和样本标准差

    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    
    #样本数据集
    dataSer=pd.Series([15.6,16.2,22.5,20.5,16.4,19.4,16.6,17.9,12.7,13.9])
    
    #样本平均值
    sample_mean=dataSer.mean()
    #样本标准差
    sample_std=dataSer.std()
    print('样本平均值=',sample_mean, '单位:ppm',' 样本标准差=',sample_std,'单位:ppm')
    
    样本平均值= 17.169999999999998 单位:ppm  样本标准差= 2.9814426038413018 单位:ppm
    

    二、推论统计分析

    1.问题是什么?

    问题:公司引擎排放是否到达政府要求的标准?

    零假设和备选假设

    根据问题我们提出零假设和备选假设:

    零假设:公司引擎排放不满足标准,也就是平均值u>=20

    备选假设:公司引擎排放满足标准。也就是平均值u <20

    其中零假设总是表述为研究没有改变,没有效果等,这里就是指不满足标准。

    得出公司引擎排放满足标准,也就是平均值<20

    检验类型

    由于这里只有一个样本,所以是单样本检验

    import seaborn as sns
    sns.distplot(dataSer)
    plt.title("数据集分布")
    plt.show()
    

    这里汽车引擎样本大小是10(小于30)是属于小样本,根据数据集可知样本分布近似正态分布,所以抽样分布属于t分布

    检验方向

    因为备选假设是引擎的排放量平均值u<20,所以该检验方向为单尾检验中的左尾检验。

    2.证据是什么?

    在零假设成立前提下,得到样本平均值的概率p是多少?

    计算标准误差和 t的值

    1)计算标准误差

    标准误差=样本标准差除以样本大小n的开方。

    2)计算t值

    t=(样本平均值-总体平均值)/标准误差

    3)根据t值,查找t表格,得到概率p值

    #导入stats模块
    from scipy import stats
    #样本大小10 
    n=10
    #标准误差=样本标准差/(n的开方)
    se=sample_std/(np.sqrt(n))
    
    #总体平均值:就是政府发布的标准20
    pop_mean=20
    #t值
    t=(sample_mean-pop_mean) / se
    #计算出t值=-3
    print('标准误差se=',se)
    print('t=',t)
    
    标准误差se= 0.9428149341201592
    t= -3.001649525885985
    
    #用python统计包scipy自动计算,用scipy计算出的是:双尾检验
    pop_mean=20
    
    t,p_twoTail =stats.ttest_1samp(dataSer,pop_mean)
    
    print('t值=',t,'双尾检验的p值=',p_twoTail) 
    
    t值= -3.001649525885985 双尾检验的p值= 0.014916414248897527
    

    因为scipy计算出的是双尾检验的t值和p值,但是我们这里是左尾检验。
    根据对称性,双尾的p值是对应单尾p值的2倍

    #单尾检验的p值
    p_oneTail=p_twoTail/2
    
    print('单尾检验的p值=',p_oneTail)
    
    单尾检验的p值= 0.0074582071244487635
    

    3. 判断标准是什么?

    # 判断标准这里设置alpha=5%
    alpha=0.05
    
    if(t<0 and p_oneTail<alpha):
        print('拒绝零假设,有统计显著,公司生产的引擎排放量符合标准')
    else:
        print('接受零假设,没有统计显著,公司生产的引擎排放量不符合标准')
    
    拒绝零假设,有统计显著,公司生产的引擎排放量符合标准
    

    4.求置信区间

    求置信区间的公式:

    下限a=样本平均值-t_ci*标准误差

    上限b=样本平均值+t_ci*标准误差

    通过查找t表格,得出95%置信水平下的t_ci值 ,自由度是n-1对应的t值 t=2.262

    t_ci=2.262
    #标准误差
    se=stats.sem(dataSer)
    #求a和b的值
    a=sample_mean-t_ci*se
    b=sample_mean+t_ci*se
    
    print('置信区间,95置信水平CI=[%f,%f]'%(a,b))
    
    置信区间,95置信水平CI=[15.037353,19.302647]
    

    5.效应量

    效应量是指处理效应的大小

    在判断某个调查研究的结果,是否有意义或者重要时,要考虑的另一项指标是效应量。效应量太小,意味着处理即使达到了显著水平,也缺乏实用价值

    所以,在假设检验中,我们给出了有统计显著性和效应量,一起来判断在研究的这个结果是否有意义。

    衡量效应量的指标有两个:

    1.差异指标d值

    Cohen's d = (样本平均值1-样本平均值2) / 标准差

    2.相关度指标R平方

    R2=t2/(t2+df) 其中r2是指r的平方,t2是t的平方

    #样本大小
    n=10
    #自由度
    df=n-1
    d=(sample_mean - pop_mean) / sample_std
    R2=(t*t)/(t*t+df)
    print('d=',d,'R2=',R2)
    
    d= -0.9492049239364257 R2= 0.5002748453994631
    

    三、数据分析报告

    1、描述统计分析

    样本平均值17.17ppm,样本标准差2.98ppm

    2、推论统计分析

    1)假设检验

    独立样本t(9)=-3.00,p=.0074(α=5%),单尾检验(左尾)

    公司引擎排放满足标准

    2)置信区间

    平均值的置信区间,95% 置信水平 CI=[15.037353,19.302647]

    3)效应量

    d=-0.9492

    相关文章

      网友评论

          本文标题:单样本检验:引擎排放标准是否达达到要求

          本文链接:https://www.haomeiwen.com/subject/nmrpmftx.html