单样本检验 案例练习
根据政府要求新排放标准:引擎排放平均值<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
网友评论