はじめに
今回は区間推定に関して学びます
🔍 区間推定ってなに?
区間推定とは、「母集団の値(平均や割合など)」を1つの数(点推定)ではなく、**ある範囲(区間)**として推定する方法です。
例:支持率は 54% ± 5%(95%信頼区間)
これは、「真の支持率は49%〜59%の間にあると95%の信頼で言える」という意味です。
📊 よく使う区間推定(比率の場合)
例:100人に調査して、54人が「はい」と回答
-
標本比率:
54 ÷ 100 = 0.54 -
標準誤差(SE):
√(0.54 × 0.46 ÷ 100) ≒ 0.049 -
信頼係数(95%):
1.96 -
信頼区間:
0.54 ± 1.96 × 0.049 ≒ 0.54 ± 0.096
つまり、0.444〜0.636 の間に真の比率があると考えられます。
標準誤差は「たまたま選んだ標本が、どれくらい母集団の値とズレる可能性があるか」を数値で表したもの
✅ ポイントまとめ
- 区間推定:範囲で「母集団の値」を推測する方法
- 信頼区間:その範囲に「真の値」が含まれる確率が高い
- 95%信頼区間なら「100回中95回はその範囲に入る」イメージ
問
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import math
from scipy.stats import norm
# フォント設定(日本語対応)
plt.rcParams['font.family'] = 'IPAexGothic'
# 例題:アンケート結果
# 120人中、72人が「はい」と回答したとする(=60%)
n = 120
x = 72
p_hat = x / n # 標本比率
# 標準誤差の計算
se = math.sqrt(p_hat * (1 - p_hat) / n)
# 95%信頼区間のz値
z = norm.ppf(0.975) # ≒1.96
# 信頼区間の計算
lower = p_hat - z * se
upper = p_hat + z * se
# 結果出力
print("標本比率 (p̂):", round(p_hat, 3))
print("標準誤差 (SE):", round(se, 3))
print("95%信頼区間: ({:.3f}, {:.3f})".format(lower, upper))
標本比率 (p̂): 0.6
標準誤差 (SE): 0.045
95%信頼区間: (0.512, 0.688)