單樣本檢驗 案例練習(xí)
根據(jù)政府要求新排放標準:引擎排放平均值<20ppm,才到達環(huán)保的要求。
有某家生產(chǎn)汽車引擎的公司,需要測試該公司的引擎排放是否達到標準。
現(xiàn)在有10臺引擎供測試使用,每一臺的引擎排放水平的數(shù)據(jù)分別為: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
#樣本數(shù)據(jù)集
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
二、推論統(tǒng)計分析
1.問題是什么?
問題:公司引擎排放是否到達政府要求的標準?
零假設(shè)和備選假設(shè)
根據(jù)問題我們提出零假設(shè)和備選假設(shè):
零假設(shè):公司引擎排放不滿足標準,也就是平均值u>=20
備選假設(shè):公司引擎排放滿足標準。也就是平均值u <20
其中零假設(shè)總是表述為研究沒有改變,沒有效果等,這里就是指不滿足標準。
得出公司引擎排放滿足標準,也就是平均值<20
檢驗類型
由于這里只有一個樣本,所以是單樣本檢驗
import seaborn as sns
sns.distplot(dataSer)
plt.title("數(shù)據(jù)集分布")
plt.show()

這里汽車引擎樣本大小是10(小于30)是屬于小樣本,根據(jù)數(shù)據(jù)集可知樣本分布近似正態(tài)分布,所以抽樣分布屬于t分布
檢驗方向
因為備選假設(shè)是引擎的排放量平均值u<20,所以該檢驗方向為單尾檢驗中的左尾檢驗。
2.證據(jù)是什么?
在零假設(shè)成立前提下,得到樣本平均值的概率p是多少?
計算標準誤差和 t的值
1)計算標準誤差
標準誤差=樣本標準差除以樣本大小n的開方。
2)計算t值
t=(樣本平均值-總體平均值)/標準誤差
3)根據(jù)t值,查找t表格,得到概率p值
#導(dǎo)入stats模塊
from scipy import stats
#樣本大小10
n=10
#標準誤差=樣本標準差/(n的開方)
se=sample_std/(np.sqrt(n))
#總體平均值:就是政府發(fā)布的標準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統(tǒng)計包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值,但是我們這里是左尾檢驗。
根據(jù)對稱性,雙尾的p值是對應(yīng)單尾p值的2倍
#單尾檢驗的p值
p_oneTail=p_twoTail/2
print('單尾檢驗的p值=',p_oneTail)
單尾檢驗的p值= 0.0074582071244487635
3. 判斷標準是什么?
# 判斷標準這里設(shè)置alpha=5%
alpha=0.05
if(t<0 and p_oneTail<alpha):
print('拒絕零假設(shè),有統(tǒng)計顯著,公司生產(chǎn)的引擎排放量符合標準')
else:
print('接受零假設(shè),沒有統(tǒng)計顯著,公司生產(chǎn)的引擎排放量不符合標準')
拒絕零假設(shè),有統(tǒng)計顯著,公司生產(chǎn)的引擎排放量符合標準
4.求置信區(qū)間
求置信區(qū)間的公式:
下限a=樣本平均值-t_ci*標準誤差
上限b=樣本平均值+t_ci*標準誤差
通過查找t表格,得出95%置信水平下的t_ci值 ,自由度是n-1對應(yīng)的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('置信區(qū)間,95置信水平CI=[%f,%f]'%(a,b))
置信區(qū)間,95置信水平CI=[15.037353,19.302647]
5.效應(yīng)量
效應(yīng)量是指處理效應(yīng)的大小
在判斷某個調(diào)查研究的結(jié)果,是否有意義或者重要時,要考慮的另一項指標是效應(yīng)量。效應(yīng)量太小,意味著處理即使達到了顯著水平,也缺乏實用價值
所以,在假設(shè)檢驗中,我們給出了有統(tǒng)計顯著性和效應(yīng)量,一起來判斷在研究的這個結(jié)果是否有意義。
衡量效應(yīng)量的指標有兩個:
1.差異指標d值
Cohen's d = (樣本平均值1-樣本平均值2) / 標準差
2.相關(guān)度指標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
三、數(shù)據(jù)分析報告
1、描述統(tǒng)計分析
樣本平均值17.17ppm,樣本標準差2.98ppm
2、推論統(tǒng)計分析
1)假設(shè)檢驗
獨立樣本t(9)=-3.00,p=.0074(α=5%),單尾檢驗(左尾)
公司引擎排放滿足標準
2)置信區(qū)間
平均值的置信區(qū)間,95% 置信水平 CI=[15.037353,19.302647]
3)效應(yīng)量
d=-0.9492