選單
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO 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 GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

統計 - 估計總體比例


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

置信區間用於估計總體比例。


估計總體比例

來自樣本的統計量用於估計總體的引數。

引數最可能的值是點估計

此外,我們還可以為估計的引數計算一個下界和一個上界

誤差範圍是下界和上界與點估計之間的差值。

下界和上界共同定義了置信區間


計算置信區間

以下步驟用於計算置信區間:

  1. 檢查條件
  2. 找到點估計
  3. 確定置信水平
  4. 計算誤差範圍
  5. 計算置信區間

例如

  • 總體:諾貝爾獎得主
  • 類別:出生在美國

我們可以抽取一個樣本,看看其中有多少人出生在美國。

樣本資料用於估計所有諾貝爾獎獲得者在美國出生的比例。

透過隨機抽取 30 位諾貝爾獎獲得者,我們發現

樣本中有 30 位諾貝爾獎獲得者中有 6 位出生在美國

根據這些資料,我們可以按照以下步驟計算置信區間。


1. 檢查條件

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

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

在我們的例子中,我們隨機抽取了 6 位出生在美國的人。

其餘的人不是出生在美國,所以其他類別有 24 人。

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

注意:在每種類別中都有 5 個的情況下,計算置信區間是可能的。但需要進行特殊調整。



2. 找到點估計

點估計是樣本比例(\(\hat{p}\))。

計算樣本比例的公式是發生次數(\(x\)) 除以樣本大小(\(n\))。

\(\displaystyle \hat{p} =\frac{x}{n}\)

在我們的例子中,30 人中有 6 人出生在美國:\(x\) 是 6,\(n\) 是 30。

因此,比例的點估計是

\(\displaystyle \hat{p} = \frac{x}{n} = \frac{6}{30} = \underline{0.2} = 20\%\)

因此,樣本中有 20% 的人出生在美國。


3. 確定置信水平

置信水平用百分比或小數表示。

例如,如果置信水平是 95% 或 0.95

那麼剩餘的機率(\(\alpha\)) 是:5% 或 1 - 0.95 = 0.05。

常用的置信水平是

  • 90% 帶有 \(\alpha\) = 0.1
  • 95% 帶有 \(\alpha\) = 0.05
  • 99% 帶有 \(\alpha\) = 0.01

注意: 95% 的置信水平意味著,如果我們抽取 100 個不同的樣本並分別為每個樣本製作置信區間

真實引數將有 95 次出現在這 100 個置信區間內。

我們使用標準正態分佈來計算置信區間的誤差範圍

剩餘的機率(\(\alpha\)) 被分成兩半,一半在分佈的左尾區域,一半在右尾區域。

分隔尾部區域和中間區域的 z 值軸上的值稱為臨界 z 值

下面是標準正態分佈的圖,顯示了不同置信水平的尾部區域(\(\alpha\))。

Standard Normal Distributions with two tail areas, with different sizes.


4. 計算誤差範圍

誤差範圍是點估計與下界和上界之間的差值。

比例的誤差範圍(\(E\)) 使用臨界 z 值標準誤差來計算

\(\displaystyle E = Z_{\alpha/2} \cdot \sqrt{\frac{\hat{p}(1-\hat{p})}{n}} \)

臨界 z 值 \(Z_{\alpha/2} \) 從標準正態分佈和置信水平計算得出。

標準誤差 \(\sqrt{\frac{\hat{p}(1-\hat{p})}{n}} \) 從點估計(\(\hat{p}\)) 和樣本大小(\(n\)) 計算得出。

在我們例子中,30 位諾貝爾獎獲得者樣本中有 6 位出生在美國,標準誤差是

\(\displaystyle \sqrt{\frac{\hat{p}(1-\hat{p})}{n}} = \sqrt{\frac{0.2(1-0.2)}{30}} = \sqrt{\frac{0.2 \cdot 0.8}{30}} = \sqrt{\frac{0.16}{30}} = \sqrt{0.00533..} \approx \underline{0.073}\)

如果我們選擇 95% 作為置信水平,則 \(\alpha\) 是 0.05。

所以我們需要找到臨界 z 值 \(Z_{0.05/2} = Z_{0.025}\)

臨界 z 值可以使用Z 表或程式語言函式找到。

示例

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

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

示例

使用 R,請使用內建的 qnorm() 函式找到 \(\alpha\)/2 = 0.025 的 Z 值。

qnorm(1-0.025)
自己動手試一試 »

使用任一方法,我們都可以發現臨界 Z 值 \( Z_{\alpha/2} \) 約為 \(\underline{1.96}\)。

標準誤差 \(\sqrt{\frac{\hat{p}(1-\hat{p})}{n}}\) 約為 \(\underline{0.073}\)。

因此,誤差範圍(\(E\)) 是

\(\displaystyle E = Z_{\alpha/2} \cdot \sqrt{\frac{\hat{p}(1-\hat{p})}{n}} \approx 1.96 \cdot 0.073 = \underline{0.143}\)


5. 計算置信區間

置信區間的下界和上界是透過從點估計(\(\hat{p}\)) 減去和加上誤差範圍(\(E\)) 來找到的。

在我們的例子中,點估計為 0.2,誤差範圍為 0.143,那麼

下界是

\(\hat{p} - E = 0.2 - 0.143 = \underline{0.057} \)

上界是

\(\hat{p} + E = 0.2 + 0.143 = \underline{0.343} \)

置信區間是

\([0.057, 0.343]\) 或 \([5.7 \%, 34.4 \%]\)

我們可以透過陳述來總結置信區間:

出生在美國的諾貝爾獎獲得者比例的95%置信區間在5.7% 和 34.4%之間。


使用程式設計計算置信區間

置信區間可以使用許多程式語言計算。

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

示例

使用 Python,請使用 scipy 和 math 庫來計算估計比例的置信區間。

這裡,樣本大小是 30,發生次數是 6。

import scipy.stats as stats
import math

# 指定樣本發生次數 (x)、樣本大小 (n) 和置信水平
x = 6
n = 30
confidence_level = 0.95

# 計算點估計、alpha、臨界 z 值、標準誤差和誤差範圍
point_estimate = x/n
alpha = (1-confidence_level)
critical_z = stats.norm.ppf(1-alpha/2)
standard_error = math.sqrt((point_estimate*(1-point_estimate)/n))
margin_of_error = critical_z * standard_error

# 計算置信區間的下界和上界
lower_bound = point_estimate - margin_of_error
upper_bound = point_estimate + margin_of_error

# 列印結果
print("點估計: {:.3f}".format(point_estimate))
print("臨界 Z 值: {:.3f}".format(critical_z))
print("誤差範圍: {:.3f}".format(margin_of_error))
print("置信區間: [{:.3f},{:.3f}]".format(lower_bound,upper_bound))
print("人口比例的 {:.1%} 置信區間為:".format(confidence_level))
print("介於 {:.3f} 和 {:.3f} 之間".format(lower_bound,upper_bound))
自己動手試一試 »

示例

使用 R,請使用內建的數學和統計函式來計算估計比例的置信區間。

這裡,樣本大小是 30,發生次數是 6。

# 指定樣本發生次數 (x)、樣本大小 (n) 和置信水平
x = 6
n = 30
confidence_level = 0.95

# 計算點估計、alpha、臨界 z 值、標準誤差和誤差範圍
point_estimate = x/n
alpha = (1-confidence_level)
critical_z = qnorm(1-alpha/2)
standard_error = sqrt(point_estimate*(1-point_estimate)/n)
margin_of_error = critical_z * standard_error

# 計算置信區間的下界和上界
lower_bound = point_estimate - margin_of_error
upper_bound = point_estimate + margin_of_error

# 列印結果
sprintf("點估計: %0.3f", point_estimate)
sprintf("臨界 Z 值: %0.3f", critical_z)
sprintf("誤差範圍: %0.3f", margin_of_error)
sprintf("置信區間: [%0.3f,%0.3f]", lower_bound, upper_bound)
sprintf("人口比例的 %0.1f%% 置信區間為:", confidence_level*100)
sprintf("介於 %0.4f 和 %0.4f 之間", lower_bound, upper_bound)
自己動手試一試 »

×

聯絡銷售

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

報告錯誤

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

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

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