import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
“超级引擎”是一家专门生产汽车引擎的公司,根据政府发布的新排放要求,引擎排放平均值要低于20ppm,(ppm是英文百万分之一的缩写,这里我们只要理解为是按照环保要求汽车尾气中碳氢化合物要低于20ppm)
data = pd.Series([15.6,16.2,22.5,20.5,16.4,
19.4,16.6,17.9,12.7,13.9])
mean=data.mean()
std=data.std()
print("样本标准差:",std)
print("样本均值:",mean)
样本标准差: 2.9814426038413018
样本均值: 17.169999999999998
原假设和备假设
原假设H0:公司引擎排放不满足标准,也就是平均值u>=20。这里的20是政府规定新标准的最低可能值。
备选假设H1:公司引擎排放满足标准,也就是平均值u<20
确定检验类型
检验类型有很多种,因为这里只有1个样本,所以选择单样本检验
确定抽样的分布类型
在我们这个汽车引擎案例中,样本大小是10(小于30),属于小样本。那小样本的抽样分布是否满足t分布呢?因为t分布还要求数据集近似正态分布,所以我们看下样本数据集的分布长什么样。
import seaborn as sns
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
sns.distplot(data)
plt.title('数据集分布')
plt.grid(True)
plt.show()
上图可知:满足正态分布,符合t分布,自由度df=n-1=10-1=9
检验方向
单尾检验(左尾,右尾),还是双尾检验?
因为备选假设是公司引擎排放满足标准,也就是平均值u<20
所以我们使用单尾检验中的左尾检验
总结
综合以上分析,本次假设检验是单样本,t分布检验,单尾检验中的左尾。
证据是什么?
在零假设成立前提下,得到样本平均值的概率p是多少?
计算p值步骤:
(1)计算出标准误差
标准误差=样本标准差除以样本大小n的开方。这里的样本标准差是用来估计总体标准差的
(2)计算t值
t=(样本平均值-总体平均值)/标准误差
(3)根据t值,自由度的计算出概率p值
from scipy import stats
pop_mean = 20
t,p_two = stats.ttest_1samp(data,pop_mean)
print('t值 = ',t,'双尾检验的p值=',p_two)
t值 = -3.001649525885985 双尾检验的p值= 0.014916414248897527
p_one = p_two/2
print('单尾检验的p值=',p_one)
单尾检验的p值= 0.0074582071244487635
判断标准是什么?
alpha=0.05
if(t<0 and p_one< alpha):
#左尾判断条件
print('拒绝零假设,有统计显著,也就是汽车引擎排放满足标准')
else:
print('接受零假设,没有统计显著,也就是汽车引擎排放不满足标准')
拒绝零假设,有统计显著,也就是汽车引擎排放满足标准
#查找t表格获取95%的置信水平,自由度n-1对应的t值
t_ci = 2.262
# 使用scipy计算标准误差
se = stats.sem(data)
# 置信区间上限
a = mean - t_ci * se
#置信区间下限
b=mean + t_ci * se
print('单个平均值的置信区间,95置信水平 CI=(%f,%f)'%(a,b))
单个平均值的置信区间,95置信水平 CI=(15.037353,19.302647)
数据分析报告
1、描述统计分析
样本平均值 17.17ppm,样本标准差2.98ppm
2、推论统计分析
(1)假设检验 单样本t(9)=-3.00 , p=.0074 (α=5%),单尾检验(左尾)
公司引擎排放满足标准
(2)置信区间
单个平均值的置信区间,95% CI=(17.11,17.23)
本文介绍了“超级引擎”公司汽车引擎排放是否满足政府新排放要求的假设检验过程。通过原假设与备选假设的设定,确定了单样本t检验,并进行左尾检验。样本数据显示满足正态分布,最终计算得出p值为0.0074,低于显著性水平,因此可以认为公司引擎排放满足标准。
6527

被折叠的 条评论
为什么被折叠?



