Mímisbrunnr知恵の泉

← シミュレーション 一覧

🎓 レベル:標準 | 重要度:A(必須)

📎 前提:収束率と誤差(√n則) | 関連:ブートストラップ信頼区間

要点(BLUF)

1. なぜ信頼区間が要るか

「推定値は 1.7197 です」だけでは、それがどれくらい信頼できるのか分かりません。サンプルが少なければ大きくブレ、多ければ精度が高い——その不確かさの幅を一緒に報告するのが信頼区間です。モンテカルロでは標準誤差が計算できるので、信頼区間は安価に付けられます。これを怠ると、検証で「理論値と一致したか」を判断する基準も失います。

2. 正規近似信頼区間

中心極限定理より、推定量 θ^n=1ng(Xi)\hat{\theta}_n = \frac{1}{n}\sum g(X_i) は近似的に N(θ, σ2/n)\mathcal{N}(\theta,\ \sigma^2/n) に従います。真の σ\sigma は未知なので、標本標準偏差 ss(不偏分散の平方根)で置き換えます。nn が大きければ zz 値を使えて、信頼水準 1α1-\alpha の区間は

[ θ^nz1α/2sn,θ^n+z1α/2sn ]\left[\ \hat{\theta}_n - z_{1-\alpha/2}\,\frac{s}{\sqrt{n}},\quad \hat{\theta}_n + z_{1-\alpha/2}\,\frac{s}{\sqrt{n}}\ \right]

95% なら z0.975=1.96z_{0.975} = 1.96標準誤差 s/ns/\sqrt{n} に 1.96 を掛けた幅を点推定の両側に取るだけです。nn が小さいときは tt 分布を使いますが、モンテカルロでは nn が大きいので正規近似で十分なことがほとんどです。

3. 被覆率の検証:本当に95%か

信頼区間が正しければ、「95% 区間」は実験を多数回繰り返したとき約95%が真値を含むはずです。これを実測します(01exdx\int_0^1 e^x dx、真値 e1e-1)。

import numpy as np

# 乱数シードを固定
rng = np.random.default_rng(22)
true = np.e - 1
n = 10_000
trials = 5_000
covered = 0

for t in range(trials):
    x = rng.random(n)
    g = np.exp(x)
    mean = g.mean()
    se = g.std(ddof=1) / np.sqrt(n)        # 標準誤差(標本SD/√n)
    lo, hi = mean - 1.96*se, mean + 1.96*se
    if lo <= true <= hi:                    # 区間が真値を含むか
        covered += 1

print(f"95%信頼区間の被覆率({trials}回)= {covered/trials:.4f}  (目標 0.95)")

出力:

95%信頼区間の被覆率(5000回)= 0.9540  (目標 0.95)

出力の意味:5000回の独立な実験のうち 95.4% で、構成した区間が真値 e1e-1 を含みました。目標の 95% とよく一致——正規近似信頼区間が正しく機能しています。逆に言えば、約5%は真値を外すのが設計通りで、「信頼区間が真値を含む確率95%」という頻度論的な意味そのものです。

4. 区間の使い方と縮め方

import numpy as np
rng = np.random.default_rng(99)
n = 10_000
x = rng.random(n); g = np.exp(x)
mean = g.mean(); se = g.std(ddof=1)/np.sqrt(n)
print(f"推定 = {mean:.4f} +/- {1.96*se:.4f}  -> [{mean-1.96*se:.4f}, {mean+1.96*se:.4f}]")

出力例:

推定 = 1.7211 +/- 0.0097  -> [1.7115, 1.7308]

区間幅は 2×1.96s/n2 \times 1.96\,s/\sqrt{n} なので、幅を半分にするにはサンプルを4倍1/n1/\sqrt{n} 則、収束率と誤差(√n則))。サンプルを増やさず幅を縮めるには、ss そのものを下げる分散減少法が効きます。なお、平均でなく分位点や複雑な統計量の区間が欲しいときは、正規近似が使えないのでブートストラップに頼ります。

数式の直観的意味

信頼区間は「推定値を中心に、標準誤差という物差しで95%ぶんの揺らぎを囲った範囲」です。1.96 は標準正規分布で中央95%を挟む臨界値(両裾2.5%ずつ)。s/ns/\sqrt{n} が「1回の推定がどれだけブレるか」の見積もりで、それを1.96倍した幅に真値が入る——というのが頻度論の保証。被覆率0.954が0.95に一致するのは、中心極限定理による正規近似が n=10000n=10000 で十分良いことの証拠です。nn が小さく gg が歪んでいると正規近似がずれ、被覆率が95%から外れることがあります(その対処がブートストラップやスチューデント化)。

⚠️ よくある誤解・落とし穴

対応シミュレーション参照

本文の被覆率検証(default_rng(22)、5000回で0.954)。区間幅の縮小は第4章 分散減少法 目次へ。

関連ノート