Python玩轉數據分析——T檢驗概念適用條件單樣本 t 檢驗兩獨立樣本 t 檢驗兩配對樣本 t 檢驗


# 概念

T檢驗,也稱 student t 檢驗 ( Student’s t test ) ,用來比較兩個樣本的均值差異是否顯著,通常用於樣本含量較小 ( n <
30 ) 的樣本。分為單樣本 t 檢驗、兩獨立樣本 t 檢驗和兩配對樣本 t 檢驗。

# 適用條件

1. 已知一個總體均數;
2. 可得到一個樣本均數及該樣本標准差;
3. 樣本來自正態或近似正態總體。

# 單樣本 t 檢驗

假設現在有10個男生的體重數據(單位:千克),問這些男生體重的均值與70千克是否有顯著差異(顯著性水平為0.05)?代碼如下:

```code
weight=[53,75,69,67,58,64,70,72,65,74]
def t_1samp(list_c,u):
lst=list_c.copy()
n=len(lst)
s=np.std(lst)*(n**0.5)/(n-1)**0.5
t=(np.mean(lst)-u)/(s/(n)**0.5)
sig=2*stats.t.sf(abs(t),n-1)
dic_res=[{'t值':t,'自由度':n-1,'Sig.':sig,'平均值差值':np.mean(lst)-u}]
df_res=pd.DataFrame(dic_res,columns=['t值','自由度','Sig.','平均值差值'])
return df_res
t_1samp(weight,70)
```

結果如下:
![在這里插入圖片描述](https://img-blog.csdnimg.cn/20190920200333323.png)
由於p值 Sig.= 0.170 > 0.05 ,故可以認為這些男生的體重均值與70千克無明顯差異。

# 兩獨立樣本 t 檢驗

假設現在還有另外10個女生的體重數據,問上一組男生的體重和這一組女生的體重有無明顯差異(顯著性水平為0.05)。代碼如下:

```code
weight_f=[42,44,54,62,58,57,63,55,57,48]
def t_2samp(list_c1,list_c2):
lst1,lst2=list_c1.copy(),list_c2.copy()
n1,n2=len(lst1),len(lst2)
sig_homovar=stats.levene(lst1,lst2)[1]
var1,var2=np.var(lst1)*n1/(n1-1),np.var(lst2)*n2/(n2-1)
var12=((n1-1)*var1+(n2-1)*var2)/(n1+n2-2)
t_homo=(np.mean(lst1)-np.mean(lst2))/(var12*(1/n1+1/n2))**0.5
df_homo=n1+n2-2
sig_homo=2*stats.t.sf(abs(t_homo),df_homo)
t_nothomo=(np.mean(lst1)-np.mean(lst2))/(var1/n1+var2/n2)**0.5
df_nothomo=(var1/n1+var2/n2)**2/((var1/n1)**2/n1+(var2/n2)**2/n2)
sig_nothomo=2*stats.t.sf(abs(t_nothomo),df_nothomo)
df_res=pd.DataFrame(index=['假定等方差','不假定等方差'],columns=['顯著性','t值','自由度','Sig.'])
df_res['顯著性']=[sig_homovar,'-']
df_res['t值']=[t_homo,t_nothomo]
df_res['自由度']=[df_homo,df_nothomo]
df_res['Sig.']=[sig_homo,sig_nothomo]
return df_res
t_2samp(weight,weight_f)
```

結果如下:
![在這里插入圖片描述](https://img-blog.csdnimg.cn/20190920200910860.png)
因為方差齊性檢驗的顯著性大於0.05,故可以認為兩組獨立樣本等方差,其p值 Sig. = 0.001 < 0.05
,故可以認為男生的體重和女生的體重有顯著差異。

# 兩配對樣本 t 檢驗

假設現在這組男生開始用某種減肥方法減肥,一個星期后測得各自體重,問這種減肥方法效果是否顯著(顯著性水平為0.05)。代碼如下:

```code
weight2=[54,73,65,65,59,63,68,70,61,67]
diff=[weight[i]-weight2[i] for i in range(len(weight))]
t_1samp(diff,0)
```

結果如下:
![在這里插入圖片描述](https://img-blog.csdnimg.cn/20190920214552973.png)
由於p值 Sig. = 0.0174 < 0.05 ,故可以認為男生的減肥方法效果顯著。


![在這里插入圖片描述](https://img-blog.csdnimg.cn/20210608151750993.gif)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM