Mímisbrunnr知恵の泉

← ベイズ統計 一覧

🎓 レベル:標準 | 重要度:B(標準)

📎 前提:無情報事前と弱情報事前 | 関連:ベータ二項モデル

要点(BLUF)

1. 事前を選ぶ3つの足場

事前は恣意的に決めるものではなく、次の足場で設計します。

選んだら点検します。点検の2本柱が事前予測チェックと感度分析です。

2. 事前予測チェック:事前が含意するデータを見る

事前単体の良し悪しは判断しづらいですが、事前 + 尤度が生み出すデータなら常識と照合できます。θ\theta\sim 事前、kBinom(n,θ)k\sim\mathrm{Binom}(n,\theta) と生成し、得られる kk の広がりが妥当かを見ます。

import numpy as np
from scipy import stats

# θ~事前 → k~Binom(n,θ) を生成し、事前が含意する「成功数 k」の広がりを見る
rng = np.random.default_rng(0)
n = 20
print("事前予測:n=20回中の成功数 k の平均±SD")
for (a, b, name) in [(1, 1, "Beta(1,1)一様"), (2, 2, "Beta(2,2)弱"), (50, 50, "Beta(50,50)強")]:
    th = stats.beta(a, b).rvs(100000, random_state=rng)
    k = rng.binomial(n, th)
    print(f"  {name:<16}: k平均={k.mean():.2f}  k_SD={k.std():.2f}")

出力:

事前予測:n=20回中の成功数 k の平均±SD
  Beta(1,1)一様     : k平均=10.01  k_SD=6.05
  Beta(2,2)弱      : k平均=10.02  k_SD=4.90
  Beta(50,50)強    : k平均=9.99  k_SD=2.43

出力の意味:一様 Beta(1,1)\mathrm{Beta}(1,1)kk002020 まで広く散る(SD 6.06.0)=「どんな成功数もありうる」という無情報な含意。一方 Beta(50,50)\mathrm{Beta}(50,50) は SD 2.42.4 と狭く、「成功はほぼ必ず 1010 前後」と強く主張します。もし本当は成功率の見当がつかないのに Beta(50,50)\mathrm{Beta}(50,50) を使えば、事前予測が現実より狭すぎる——これが事前が強すぎるサインです。事前予測を生成して「こんなデータを想定してよいか?」と自問するのが、事前を据える前の健全な点検です(事後を見てから行う事後予測チェックは 事後予測チェック で扱います)。

3. 感度分析:結論は事前に頑健か

最終的に知りたいのは「事前を変えたら結論が変わるか」です。複数の事前で事後を求めて比べます。データ量で様子が一変します。

import numpy as np

priors = [(1,1,"一様"), (0.5,0.5,"Jeffreys"), (2,2,"弱"), (8,2,"情報・高"), (2,8,"情報・低")]
print("感度分析:事前を変えたときの事後平均 (a+k)/(a+b+n)")
for (n, k, label) in [(5, 4, "小標本 n=5,k=4"), (200, 160, "大標本 n=200,k=160")]:
    means = [(a + k)/(a + b + n) for (a, b, _) in priors]
    print(f"  {label}: " + ", ".join(f"{nm}={m:.3f}" for (_,_,nm), m in zip(priors, means)))
    print(f"           → 事前による振れ幅 = {max(means)-min(means):.3f}")

出力:

感度分析:事前を変えたときの事後平均 (a+k)/(a+b+n)
  小標本 n=5,k=4: 一様=0.714, Jeffreys=0.750, 弱=0.667, 情報・高=0.800, 情報・低=0.400
           → 事前による振れ幅 = 0.400
  大標本 n=200,k=160: 一様=0.797, Jeffreys=0.799, 弱=0.794, 情報・高=0.800, 情報・低=0.771
           → 事前による振れ幅 = 0.029

出力の意味:いずれもデータの比率は 0.80.8 ですが、小標本 n=5n=5 では事後平均が 0.400.400.800.80 まで振れ(振れ幅 0.400.40)、事前の選択が結論を支配します。大標本 n=200n=200 では 0.770.770.800.80 に収まり(振れ幅 0.030.03)、どの事前からもほぼ同じ結論。つまり「データが少ないほど事前に敏感、多いほど頑健」。小標本でベイズを使うときは、事前を明示し、この感度分析を必ず添えるべきだと分かります。逆に振れ幅が小さければ「結論は事前に頑健」と胸を張れます。

4. 報告に何を書くか

事前を隠さず、頑健性を示す——これがベイズ分析の透明性です(信用区間と信頼区間 の「仮定が透明」の実践)。

⚠️ よくある誤解

まとめ(Phase 3)

第3章では、共役が使えるかに関わらず通用する事後の扱い方を整えました——点・区間・確率の要約(事後分布の要約)、信用区間と信頼区間の読みの違い(信用区間と信頼区間)、事前の作法(無情報・弱情報・ジェフリーズ、本ノートの選択と点検)。要約はすべてサンプルから計算できる形に揃えました。次章では、共役が崩れて閉形式が無い事後から、そのサンプルを生成する MCMC に進みます。

関連ノート