統計 - 均值假設檢驗(雙側檢驗)
總體 均值 是一個總體的值的平均數。
假設檢驗用於檢查關於該總體均值大小的宣告。
均值假設檢驗
假設檢驗使用以下步驟
- 檢查條件
- 定義斷言
- 確定顯著性水平
- 計算檢驗統計量
- 結論
例如
- 總體:諾貝爾獎得主
- 類別:獲獎時的年齡。
我們要檢驗的斷言是
“諾貝爾獎獲得者獲獎時的平均年齡**不是**60歲”
透過抽取 30 名隨機選擇的諾貝爾獎獲得者樣本,我們可以發現:
- 樣本均值 (\(\bar{x}\)) 為 62.1
- 樣本年齡的標準差 (\(s\)) 為 13.46
我們根據以下步驟,使用此樣本資料檢驗斷言。
1. 檢查條件
計算比例置信區間的條件是
- 樣本是隨機選擇的
- 並且滿足以下任一條件:
- 總體資料呈正態分佈
- 樣本量足夠大
通常,30 這樣的中等樣本量就足夠大了。
在此示例中,樣本量為 30 且是隨機抽取的,因此條件已滿足。
注意: 資料是否呈正態分佈可以透過專門的統計檢驗來檢查。
2. 定義斷言
我們需要根據我們正在檢驗的斷言來定義一個零假設 (\(H_{0}\)) 和一個備擇假設 (\(H_{1}\))。
斷言是
“諾貝爾獎獲得者獲獎時的平均年齡**不是**60歲”
在這種情況下,引數是諾貝爾獎獲得者獲獎時的平均年齡 (\(\mu\))。
零假設和備擇假設是
零假設:平均年齡是60歲。
備擇假設:平均年齡**不是**60歲。
可以用符號表示為
\(H_{0}\): \(\mu = 60 \)
\(H_{1}: \(\mu \neq 60 \)
這是一個“**雙側檢驗**”,因為備擇假設聲稱比例**不同於**零假設。
如果資料支援備擇假設,我們拒絕零假設並接受備擇假設。
3. 確定顯著性水平
顯著性水平 (\(\alpha\)) 是我們在假設檢驗中拒絕零假設時接受的不確定性。
顯著性水平是意外做出錯誤結論的百分比機率。
典型的顯著性水平是
- \(\alpha = 0.1\) (10%)
- \(\alpha = 0.05\) (5%)
- \(\alpha = 0.01\) (1%)
較低的顯著性水平意味著資料中的證據需要更強才能拒絕零假設。
沒有“正確”的顯著性水平——它只說明瞭結論的不確定性。
注意:5% 的顯著性水平意味著當我們拒絕一個零假設時
我們預計在 100 次中會拒絕 5 次真實的零假設。
4. 計算檢驗統計量
檢驗統計量用於決定假設檢驗的結果。
檢驗統計量是根據樣本計算出的標準化值。
總體均值檢驗統計量 (TS) 的公式是:
\(\displaystyle \frac{\bar{x} - \mu}{s} \cdot \sqrt{n} \)
\(\bar{x}-\mu\) 是樣本均值 (\(\bar{x}\)) 與所聲稱的總體均值 (\(\mu\)) 之間的差值。
\(s\) 是樣本標準差。
\(n\) 是樣本大小。
在我們的例子中
聲稱的(\(H_{0}\))總體均值(\(\mu\))是 \( 60 \)
樣本均值 (\(\bar{x}\)) 為 \(62.1\)
樣本標準差 (\(s\)) 為 \(13.46\)
樣本量 (\(n\)) 為 \(30\)
所以檢驗統計量 (TS) 是
\(\displaystyle \frac{62.1-60}{13.46} \cdot \sqrt{30} = \frac{2.1}{13.46} \cdot \sqrt{30} \approx 0.156 \cdot 5.477 = \underline{0.855}\)
您也可以使用程式語言函式計算檢驗統計量
示例
使用 Python,可以利用 scipy 和 math 庫來計算檢驗統計量。
import scipy.stats as stats
import math
# 指定樣本均值 (x_bar)、樣本標準差 (s)、零假設聲稱的均值 (mu_null) 和樣本量 (n)
x_bar = 62.1
s = 13.46
mu_null = 60
n = 30
# 計算並列印檢驗統計量
print((x_bar - mu_null)/(s/math.sqrt(n)))
自己動手試一試 »
示例
使用 R,可以利用內建的數學和統計函式來計算檢驗統計量。
# 指定樣本均值 (x_bar)、樣本標準差 (s)、零假設聲稱的均值 (mu_null) 和樣本量 (n)
x_bar <- 62.1
s <- 13.46
mu_null <- 60
n <- 30
# 輸出檢驗統計量
(x_bar - mu_null)/(s/sqrt(n))
自己動手試一試 »
5. 做出結論
做出假設檢驗結論主要有兩種方法
- 臨界值方法將檢驗統計量與顯著性水平的臨界值進行比較。
- P 值方法將檢驗統計量的 P 值與顯著性水平進行比較。
注意:這兩種方法只是在呈現結論的方式上有所不同。
臨界值方法
對於臨界值方法,我們需要找到顯著性水平 (\(\alpha\)) 的臨界值 (CV)。
對於總體均值檢驗,臨界值 (CV) 是來自學生 t 分佈的 T 值。
這個臨界 T 值 (CV) 定義了檢驗的拒絕域。
拒絕域是標準正態分佈尾部的機率區域。
因為聲稱總體比例**不同於**60,所以拒絕區域被分成左尾和右尾兩部分。
拒絕域的大小由顯著性水平 (\(\alpha\)) 決定。
學生 t 分佈會根據較小樣本的不確定性進行調整。
這種調整稱為自由度 (df),它是樣本量 \((n) - 1\)
在本例中,自由度 (df) 是:\(30 - 1 = \underline{29} \)
選擇顯著性水平(\(\alpha\))為0.05,即5%,我們可以從T表中找到臨界T值,或使用程式語言函式。
注意: 因為這是一個雙側檢驗,所以尾部面積(\(\alpha\))需要分成兩半(除以2)。
示例
使用Python,可以使用Scipy Stats庫中的 t.ppf()
函式找到對於 \(\alpha\)/2 = 0.025,自由度(df)為29的T值。
import scipy.stats as stats
print(stats.t.ppf(0.025, 29))
自己動手試一試 »
使用任何一種方法,我們都可以找到臨界T值約為 \(\underline{-2.045}\)
對於**雙側檢驗**,我們需要檢查檢驗統計量(TS)是否**小於**負臨界值(-CV),**或大於**正臨界值(CV)。
如果檢驗統計量小於**負**臨界值,則檢驗統計量位於**拒絕區域**。
如果檢驗統計量大於**正**臨界值,則檢驗統計量位於**拒絕區域**。
當檢驗統計量在拒絕域內時,我們拒絕零假設 (\(H_{0}\))。
在此,檢驗統計量(TS)約為 \(\underline{0.855}\),臨界值約為 \(\underline{-2.045}\)
下圖顯示了此檢驗的圖示
由於檢驗統計量**介於**臨界值之間,我們**保留**零假設。
這意味著樣本資料不支援備擇假設。
我們可以總結結論如下
在**5%的顯著性水平**下,樣本資料**不支援**“諾貝爾獎獲得者獲獎時的平均年齡不是60歲”的說法。
P 值方法
對於 P 值方法,我們需要找到檢驗統計量 (TS) 的 P 值。
如果 P 值小於顯著性水平 (\(\alpha\)),我們拒絕零假設 (\(H_{0}\))。
檢驗統計量計算結果約為 \( \underline{0.855} \)
對於總體比例檢驗,檢驗統計量是來自學生 t 分佈的 T 值。
因為這是一個**雙側檢驗**,我們需要找到大於0.855的T值的P值,然後**乘以2**。
學生 t 分佈根據自由度 (df) 進行調整,自由度為樣本量 \((30) - 1 = \underline{29}\)
我們可以使用 T 表或程式語言函式來找到 P 值。
示例
使用Python,可以使用Scipy Stats庫中的 t.cdf()
函式找到對於雙側檢驗,自由度(df)為29,檢驗統計量大於0.855的P值。
import scipy.stats as stats
print(2*(1-stats.t.cdf(0.855, 29)))
自己動手試一試 »
使用任何一種方法,我們都可以找到P值約為 \(\underline{0.3996}\)
這告訴我們,要**拒絕**零假設,顯著性水平(\(\alpha\))需要小於0.3996,即39.96%。
下圖顯示了此檢驗的圖示
這個P值**大於**任何常見的顯著性水平(10%、5%、1%)。
因此,零假設在所有這些顯著性水平下都被保留。
我們可以總結結論如下
在**10%、5%或1%的顯著性水平**下,樣本資料**不支援**“諾貝爾獎獲得者獲獎時的平均年齡不是60歲”的說法。
使用程式設計計算假設檢驗的 P 值
許多程式語言可以計算 P 值來決定假設檢驗的結果。
對於大型資料集,使用軟體和程式設計計算統計量更為常見,因為手動計算會變得困難。
此處計算的 P 值將告訴我們零假設可以被拒絕的最低可能顯著性水平。
示例
使用Python,可以使用scipy和math庫來計算均值的雙側假設檢驗的P值。
這裡,樣本量為30,樣本均值為62.1,樣本標準差為13.46,檢驗的是均值是否不同於60。
import scipy.stats as stats
import math
# 指定樣本均值 (x_bar)、樣本標準差 (s)、零假設聲稱的均值 (mu_null) 和樣本量 (n)
x_bar = 62.1
s = 13.46
mu_null = 60
n = 30
# 計算檢驗統計量
test_stat = (x_bar - mu_null)/(s/math.sqrt(n))
# 輸出檢驗統計量的p值(雙側檢驗)
print(2*(1-stats.t.cdf(test_stat, n-1)))
自己動手試一試 »
示例
使用R,使用內建的數學和統計函式來計算均值的雙側假設檢驗的P值。
這裡,樣本量為30,樣本均值為62.1,樣本標準差為13.46,檢驗的是均值是否不同於60。
# 指定樣本均值 (x_bar)、樣本標準差 (s)、零假設聲稱的均值 (mu_null) 和樣本量 (n)
x_bar <- 62.1
s <- 13.46
mu_null <- 60
n <- 30
# 計算檢驗統計量
test_stat = (x_bar - mu_null)/(s/sqrt(n))
# P-value 檢驗統計量的 p 值(雙側檢驗)
2*(1-pt(test_stat, n-1))
自己動手試一試 »
左尾和雙尾檢驗
這是一個**左側**尾部檢驗的示例,其中備擇假設聲稱的引數**小於**零假設的聲稱值。
您可以在此處檢視其他型別的等效分步指南