母比率の区間推定
統計的推論では、観察されたサンプルに基づいて、より大きな母集団の特性についての記述や予測を行うことがしばしば目的とされます。そのような特性の一つに、母比率があります。
母比率は、母集団のメンバー間で共有される特定の特性の尺度であり、
区間推定は、パラメータの推定値が存在する範囲を提供します。点推定ではパラメータの単一のもっとも確からしい値を提供しますが、区間推定ではパラメータを含む可能性のある値の範囲を提供します。この範囲は、パラメータが与えられた範囲内に存在する確信度を定量化する信頼水準とともに表示されることが一般的です。
母比率の区間推定では、真の母比率がおそらく含まれる値の範囲(または区間)を決定することが目標です。これは、サンプルデータと、サンプリングの変動性を考慮した統計的な手法を使用して行われます。
母比率の区間推定の手順
母比率の区間推定の手順について説明します。
サンプルからの推定量の計算
区間推定の最初のステップは、サンプルから推定量を計算することです。推定量は通常、
ここで、
信頼区間の設定
2番目のステップは、所望の信頼水準を設定することです。この信頼水準は、推定された区間内に真の母比率が存在する確信度を示します。重要なことは、信頼水準は信頼区間の計算に使用されるZスコアも決定することです。一般的に使用される信頼水準には、90%、95%、99%などがあり、それぞれに対応するZスコアは約1.645、1.96、2.576です。
推定量のサンプル分布の考慮
区間推定の重要な側面は、推定量の分布を理解することです。データの性質によって、異なる分布が適用される場合があります。
二項分布
同じサイズの多数のサンプルを母集団から抽出し、それぞれのサンプルについて
二項分布の確率質量関数は次のように与えられます。
ここで、
正規分布への近似
実際には、二項分布は扱いにくい場合があります、特にサンプルサイズが大きい場合です。ただし、サンプルサイズが十分に大きい場合(通常は
区間の計算
最後に、区間推定の計算を行います。母比率の場合、通常は
標準誤差は次のように計算されます。
したがって、母比率の信頼区間は次のようになります。
これが母比率の区間推定の最終結果です。これにより、ある信頼水準で真の母比率を含む値の範囲が得られます。
実践例
比率の区間推定の理解を深めるために、実践的な例を考えます。
1000人の患者のうち、治療後に500人が回復(成功)し、残りの人は回復しなかった(失敗)とする臨床試験を考えます。広範な人口における成功割合を推定したいとします。
- サンプルからの推定量の計算
サンプルの成功割合は次のように計算されます。
- 信頼区間の設定
95%の信頼水準を設定します。
- 推定量のサンプル分布の考慮
データが2値(成功/失敗)であるため、二項分布が適用されます。ただし、サンプルサイズが大きいため、正規分布の近似を使用できます。
- 区間の計算
この場合、二項比率の標準誤差は次の式を使って計算できます。
ここで、
信頼区間は次のように計算されます。
この結果から、95%の信頼水準で、真の成功割合がこの区間に含まれることが言えます。
Pythonコード
以下にPythonコードを示します。
import numpy as np
from scipy.stats import norm
# Sample data
successes = 500
failures = 500
total = successes + failures
# Step 1: Calculation of Estimator from Sample
estimator = successes / total
# Step 3: Consideration of Sample Distribution of Estimator
# Calculation of standard error
p = successes / total
se = np.sqrt(p * (1 - p) / total)
# Step 4: Calculation of Interval
z_value = norm.ppf(0.975) # For 95% confidence level
confidence_interval = (estimator - z_value*se, estimator + z_value*se)
print(f"95% confidence interval for the success proportion is: {confidence_interval}")
# If we use binomial distribution
from scipy.stats import binom
ci_lower, ci_upper = binom.interval(0.95, n=total, p=estimator)
print(f"95% confidence interval for the success proportion is: ({ci_lower/n}, {ci_upper/n})")
95% confidence interval for the success proportion is: (0.4690102483847719, 0.5309897516152281)
95% confidence interval for the success proportion is: (0.469, 0.531)