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