選單
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP 如何操作 W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA 生成式 AI SCIPY AWS 網路安全 資料科學
     ❯   

統計學 - 比例的假設檢驗(雙尾)


總體比例是指屬於特定類別的總體份額。

假設檢驗用於檢驗關於總體比例大小的斷言。


比例的假設檢驗

假設檢驗使用以下步驟

  1. 檢查條件
  2. 定義斷言
  3. 確定顯著性水平
  4. 計算檢驗統計量
  5. 結論

例如

  • 總體:諾貝爾獎得主
  • 類別:女性

我們要檢驗的斷言是

“諾貝爾獎女性得主所佔的比例不是 50%”

透過隨機抽取 100 名諾貝爾獎得主樣本,我們發現

樣本中有 100 名諾貝爾獎得主中的 10 名是女性

因此樣本比例為:\(\displaystyle \frac{10}{100} = 0.1\),即 10%。

我們根據以下步驟,使用此樣本資料檢驗斷言。


1. 檢查條件

計算比例置信區間的條件是

  • 樣本是隨機選擇
  • 只有兩個選項
    • 屬於該類別
    • 不屬於該類別
  • 樣本至少需要
    • 5 個成員屬於該類別
    • 5 個成員不屬於該類別

在我們的示例中,我們隨機選擇了 10 名女性。

其餘不是女性,所以在其他類別中有 90 人。

在這種情況下,條件得到滿足。

注意:在沒有每個類別都達到 5 個成員的情況下進行假設檢驗是可能的。但需要進行特殊調整。


2. 定義斷言

我們需要根據我們正在檢驗的斷言來定義一個零假設 (\(H_{0}\)) 和一個備擇假設 (\(H_{1}\))。

斷言是

“諾貝爾獎女性得主所佔的比例不是 50%”

在這種情況下,引數是諾貝爾獎女性得主的比例 (\(p\))。

零假設和備擇假設是

零假設:50% 的諾貝爾獎得主是女性。

備擇假設:諾貝爾獎女性得主所佔的比例不是 50%。

可以用符號表示為

\(H_{0}\):\(p = 0.50 \)

\(H_{1}\):\(p \neq 0.50 \)

這是一個“雙尾”檢驗,因為備擇假設聲稱該比例與零假設中的比例不同(更大或更小)。

如果資料支援備擇假設,我們拒絕零假設並接受備擇假設。



3. 確定顯著性水平

顯著性水平 (\(\alpha\)) 是我們在假設檢驗中拒絕零假設時接受的不確定性

顯著性水平是意外做出錯誤結論的百分比機率。

典型的顯著性水平是

  • \(\alpha = 0.1\) (10%)
  • \(\alpha = 0.05\) (5%)
  • \(\alpha = 0.01\) (1%)

較低的顯著性水平意味著資料中的證據需要更強才能拒絕零假設。

沒有“正確”的顯著性水平——它只說明瞭結論的不確定性。

注意:5% 的顯著性水平意味著當我們拒絕一個零假設時

我們預計在 100 次中會拒絕 5 次真實的零假設。


4. 計算檢驗統計量

檢驗統計量用於決定假設檢驗的結果。

檢驗統計量是根據樣本計算出的標準化值。

總體比例的檢驗統計量 (TS) 公式是

\(\displaystyle \frac{\hat{p} - p}{\sqrt{p(1-p)}} \cdot \sqrt{n} \)

\(\hat{p}-p\) 是樣本比例 (\(\hat{p}\)) 與聲稱的總體比例 (\(p\)) 之間的差值

\(n\) 是樣本大小。

在我們的例子中

聲稱的 (\(H_{0}\)) 總體比例 (\(p\)) 為 \( 0.50 \)

樣本比例 (\(\hat{p}\)) 為 100 分之 10,即:\(\displaystyle \frac{10}{100} = 0.10\)

樣本大小 (\(n\)) 為 \(100\)

所以檢驗統計量 (TS) 是

\(\displaystyle \frac{0.1-0.5}{\sqrt{0.5(1-0.5)}} \cdot \sqrt{100} = \frac{-0.4}{\sqrt{0.5(0.5)}} \cdot \sqrt{100} = \frac{-0.4}{\sqrt{0.25}} \cdot \sqrt{100} = \frac{-0.4}{0.5} \cdot 10 = \underline{-8}\)

您也可以使用程式語言函式計算檢驗統計量

示例

使用 Python,利用 scipy 和 math 庫計算比例的檢驗統計量。

import scipy.stats as stats
import math

# 指定出現次數 (x)、樣本大小 (n) 和零假設中聲稱的比例 (p)
x = 10
n = 100
p = 0.5

# 計算樣本比例
p_hat = x/n

# 計算並列印檢驗統計量
print((p_hat-p)/(math.sqrt((p*(1-p))/(n))))
自己動手試一試 »

示例

使用 R 語言,可以使用內建的數學函式來計算比例的檢驗統計量。

# 指定樣本出現次數 (x)、樣本大小 (n) 和零假設聲稱 (p)
x <- 10
n <- 100
p <- 0.5

# 計算樣本比例
p_hat = x/n

# 計算並輸出檢驗統計量
(p_hat-p)/(sqrt((p*(1-p))/(n)))
自己動手試一試 »

5. 做出結論

做出假設檢驗結論主要有兩種方法

  • 臨界值方法將檢驗統計量與顯著性水平的臨界值進行比較。
  • P 值方法將檢驗統計量的 P 值與顯著性水平進行比較。

注意:這兩種方法只是在呈現結論的方式上有所不同。

臨界值方法

對於臨界值方法,我們需要找到顯著性水平 (\(\alpha\)) 的臨界值 (CV)。

對於總體比例檢驗,臨界值 (CV) 是來自標準正態分佈Z 值

此臨界 Z 值 (CV) 定義了檢驗的拒絕域

拒絕域是標準正態分佈尾部的機率區域。

由於宣告是總體比例與 50% 不同,因此拒絕區域分為左尾和右尾。

Standard Normal Distribution with a left and right tail area (rejection region) denoted as the greek symbol alpha

拒絕域的大小由顯著性水平 (\(\alpha\)) 決定。

選擇顯著性水平 (\(\alpha\)) 為 0.01 或 1%,我們可以從 Z 表 或使用程式語言函式找到臨界 Z 值。

注意:由於這是雙尾檢驗,尾部面積 (\(\alpha\)) 需要分成兩半(除以 2)。

示例

使用 Python,使用 Scipy Stats 庫的 norm.ppf() 函式找到左尾 \(\alpha\)/2 = 0.005 的 Z 值。

import scipy.stats as stats
print(stats.norm.ppf(0.005))
自己動手試一試 »

示例

使用 R 語言,使用內建的 qnorm() 函式找到左尾 \(\alpha\) = 0.005 的 Z 值。

qnorm(0.005)
自己動手試一試 »

使用任何一種方法,我們都可以發現左尾的臨界 Z 值約為 \(\approx \underline{-2.5758}\)

由於正態分佈是對稱的,我們知道右尾的臨界 Z 值將是相同的數字,只是正數:\(\underline{2.5758}\)

對於雙尾檢驗,我們需要檢查檢驗統計量 (TS) 是否小於負臨界值 (-CV),或者大於正臨界值 (CV)。

如果檢驗統計量小於臨界值,則檢驗統計量在拒絕區域內。

如果檢驗統計量大於臨界值,則檢驗統計量在拒絕區域內。

當檢驗統計量在拒絕域內時,我們拒絕零假設 (\(H_{0}\))。

這裡,檢驗統計量 (TS) 約為 \(\underline{-8}\),臨界值約為 \(\underline{-2.5758}\)

下圖顯示了此檢驗的圖示

Standard Normal Distribution with a left tail area (rejection region) equal to 0.01, a critical value of -2.3263, and a test statistic of -2.543

由於檢驗統計量小於負臨界值,我們拒絕零假設。

這意味著樣本資料支援備擇假設。

我們可以總結結論如下

樣本資料在 1% 顯著性水平支援“諾貝爾獎女性得主所佔的比例不是 50%”的說法。

P 值方法

對於 P 值方法,我們需要找到檢驗統計量 (TS) 的 P 值

如果 P 值小於顯著性水平 (\(\alpha\)),我們拒絕零假設 (\(H_{0}\))。

檢驗統計量約為 \( \underline{-8} \)

對於總體比例檢驗,檢驗統計量是來自標準正態分佈的 Z 值。

由於這是雙尾檢驗,我們需要找到 Z 值小於 -8 的 P 值,然後乘以 2

我們可以使用 Z 表或使用程式語言函式找到 P 值

示例

使用 Python,使用 Scipy Stats 庫的 norm.cdf() 函式找到雙尾檢驗 Z 值小於 -8 的 P 值。

import scipy.stats as stats
print(2*stats.norm.cdf(-8))
自己動手試一試 »

示例

使用 R 語言,使用內建的 pnorm() 函式找到雙尾檢驗 Z 值小於 -8 的 P 值。

2*pnorm(-8)
自己動手試一試 »

使用任何一種方法,我們都可以發現 P 值約為 \(\approx \underline{1.25 \cdot 10^{-15}}\) 或 \(0.00000000000000125\)

這告訴我們,顯著性水平 (\(\alpha\)) 需要大於 0.000000000000125% 才能拒絕零假設。

下圖顯示了此檢驗的圖示

這個 P 值小於任何常見的顯著性水平(10%、5%、1%)。

因此,零假設在所有這些顯著性水平下都被拒絕

我們可以總結結論如下

樣本資料在 10%、5% 和 1% 顯著性水平支援“諾貝爾獎女性得主所佔的比例不是 50%”的說法。


使用程式設計計算假設檢驗的 P 值

許多程式語言可以計算 P 值來決定假設檢驗的結果。

對於大型資料集,使用軟體和程式設計計算統計量更為常見,因為手動計算會變得困難。

此處計算的 P 值將告訴我們零假設可以被拒絕的最低可能顯著性水平

示例

使用 Python,使用 scipy 和 math 庫計算比例的雙尾假設檢驗的 P 值。

這裡,樣本大小是 100,發生次數是 10,檢驗是針對比例不等於 0.50 的。

import scipy.stats as stats
import math

# 指定出現次數 (x)、樣本大小 (n) 和零假設中聲稱的比例 (p)
x = 10
n = 100
p = 0.5

# 計算樣本比例
p_hat = x/n

# 計算檢驗統計量
test_stat = (p_hat-p)/(math.sqrt((p*(1-p))/(n)))

# 輸出檢驗統計量的 p 值(雙尾檢驗)
print(2*stats.norm.cdf(test_stat))
自己動手試一試 »

示例

使用 R 語言,使用內建的 prop.test() 函式找到比例的左尾假設檢驗的 P 值。

這裡,樣本大小是 100,發生次數是 10,檢驗是針對比例不等於 0.50 的。

# 指定樣本出現次數 (x)、樣本大小 (n) 和零假設聲稱 (p)
x <- 10
n <- 100
p <- 0.5

# 0.01 顯著性水平下的左尾比例檢驗的 P 值
prop.test(x, n, p, alternative = c("two.sided"), conf.level = 0.99, correct = FALSE)$p.value
自己動手試一試 »

注意:R 程式碼中的 conf.level 與顯著性水平相反。

這裡,顯著性水平是 0.01 或 1%,所以置信水平是 1-0.01 = 0.99 或 99%。


左尾和雙尾檢驗

這是一個尾檢驗的示例,其中備擇假設聲稱引數與零假設的宣告不同

您可以在此處檢視其他型別的等效分步指南


×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援