Python統計分析-獨立樣本t檢驗

單個正態總體參數的顯著性檢驗, 它是把樣本統計量的觀察值與原假設所提供的總體參數作比較, 這種檢驗要求我們事先能提出合理的參數假設值, 並對參數有某種意義的備擇值, 但在實際工作中很難做到這一點, 因而限制了這種方法在實際中的應用.實際中常常選擇兩個樣本, 一個作爲處理,一個作爲對照, 在兩個樣本之間作比較. 比如, 要比較某班男生的成績是否比女生的高, 服用某種維生素的人是否比不服用的人不易感冒, 或判斷它們之間是否存在明顯顯著的差異, 等等。

設總體X與Y獨立,XN($\mu_1,\sigma_1^{2}$),YN(μ2,σ22\mu_2,\sigma_2^{2})。X1X_{1}, X2X_{2},X3X_{3},…,Xn1X_{n1}是來自總體X的樣本,Xˉ\bar{X}爲其樣本均值,S12S_1^{2}爲其樣本方差。Y1Y_{1}, Y2Y_{2},Y3Y_{3},…,Yn2Y_{n2}是來自總體Y的樣本,Yˉ\bar{Y}爲其樣本均值,S22S_2^{2}爲其樣本方差。

設兩正態總體的方差相等,即σ12\sigma_1^{2}=σ22\sigma_2^{2}=σ2\sigma^2

(1)H0:μ1=μ2<>H1:μ1μ2H_0:\mu_1=\mu_2 <---> H_1:\mu_1\neq\mu_2 (雙邊假設檢驗)

(2)H0:μ1μ2<>H1:μ1>μ2H_0:\mu_1\leq\mu_2 <---> H_1:\mu_1>\mu_2 (單邊假設檢驗)

(3)H0:μ1μ2<>H1:μ1<μ2H_0:\mu_1\geq\mu_2 <---> H_1:\mu_1<\mu_2 (單邊假設檢驗)

這時在H0:μ1=μ2H_0:\mu_1=\mu_2下可得:
T=(xˉyˉ)(μ1μ2)(1n1+1n2)s2T=\frac{(\bar{x}-\bar{y})-(\mu_1-\mu_2)}{\sqrt{(\frac{1}{n_1}+\frac{1}{n_2})}s^2} ~ t(n1+n22)t(n_1+n_2-2)

例:甲、乙兩臺機牀分別加工某種軸承, 軸承的直徑分別服從正態分佈N(μ1,σ12\mu_1,\sigma_1^{2})和N(μ2,σ22\mu_2,\sigma_2^{2}), 從各自加工的軸承中分別抽取若干個軸承測其直徑。

μ1=μ2\mu_1=\mu_2問兩臺機牀的加工精度有無顯著差異?(取α=0.05)

總體 樣本容量 直徑
X(機牀甲) 8 20.5, 19.8, 19.7, 20.4, 20.1, 20.0, 19.0, 19.9
Y(機牀乙) 7 20.7, 19.8, 19.5, 20.8, 20.4, 19.6, 20.2
from  scipy.stats import ttest_ind, levene
import pandas as pd

x = [20.5, 19.8, 19.7, 20.4, 20.1, 20.0, 19.0, 19.9]
y = [20.7, 19.8, 19.5, 20.8, 20.4, 19.6, 20.2]
# 方差齊性檢驗
print(levene(x,y))

# 獨立樣本T檢驗,默認方差齊性
print(ttest_ind(x, y))
# 如果方差不齊性,則equal_var=False
print(ttest_ind(x,y,equal_var=False))
print(levene(x,y))
# LeveneResult(statistic=0.49616519174040724, pvalue=0.49361609677338825)
# 檢驗結果爲p>0.05所以,可以認爲方差是相等的。
print(ttest_ind(x, y))
# Ttest_indResult(statistic=-0.8548480353442837, pvalue=0.40811369790462515)
#  因爲p值=0.4081>0.05, 故接受原假設, 認爲兩臺機牀的加工精度無顯著差異。 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章