python進行t檢驗

實現下圖中的檢驗:
在這裏插入圖片描述
檢驗均值是否相等:
當方差相等時:t檢驗;
當方差不相等時:大樣本可以參考下圖(紅色字部分),小樣本不太清楚。
在這裏插入圖片描述

from scipy import stats
import numpy as np
 
#成對樣本t檢驗
sample1=[23.6,28.9,24.1, 21.7, 27.4, 28.6, 29.0, 24.2, 26.3, 22.1]
sample2=[29.1, 24.4, 30.9, 28.8, 25.3, 29.8, 26.0, 30.2, 31.7, 27.6]
sample1 = np.asarray(sample1)
sample2 = np.asarray(sample2)

檢驗方差是否相等:採用的是F檢驗,且均值都未知的情況,即上圖最後一行的檢驗統計量:

stats.levene(sample1, sample2)
LeveneResult(statistic=0.6793360369706678, pvalue=0.4206034513918334)

p值明顯大於0.05,所以認爲兩組數據具有方差齊性。

r = stats.ttest_ind(sample1,sample2)
print("statistic:", r.__getattribute__("statistic"))
print("pvalue:", r.__getattribute__("pvalue"))
statistic: -2.3594320552510495
pvalue: 0.02980156243762345

p值小於0.05,則拒絕原假設,認爲均值不相等。

以上的實現爲雙邊檢驗,單邊檢驗可參考:t檢驗–單邊

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章