🎓 レベル:標準 | 重要度:B(標準)
📎 前提:無情報事前と弱情報事前 | 関連:ベータ二項モデル
要点(BLUF)
- 事前の選び方の足場は3つ:ドメイン知識を擬似観測に翻訳する/迷ったら弱情報事前を既定値にする/極力誘導を避けたいなら無情報事前(ただし限界あり、無情報事前と弱情報事前)。
- 事前予測チェック:事前+尤度が含意するデータを実際に生成し、常識的に妥当か見る。強すぎる事前は「ありえないほど狭いデータ」を含意してしまいます。
- 感度分析:複数の事前で事後を比べ、結論が事前に頑健かを確かめる。データが多ければ頑健、少なければ事前に敏感——だから小標本では事前の明示と感度分析が必須です。
1. 事前を選ぶ3つの足場
事前は恣意的に決めるものではなく、次の足場で設計します。
- ドメイン知識を擬似観測に翻訳:「成功率はおよそ7割、根拠は10件くらい」なら 。比 で位置、和 で確信の強さ(ベータ二項モデル の擬似観測)。
- 弱情報事前を既定値に:強い根拠がなければ、ありえない値だけ穏やかに排除する弱情報事前(無情報事前と弱情報事前)。
- 無情報事前:誘導を避けたいとき。ただし「平坦=無情報」ではない点に注意。
選んだら点検します。点検の2本柱が事前予測チェックと感度分析です。
2. 事前予測チェック:事前が含意するデータを見る
事前単体の良し悪しは判断しづらいですが、事前 + 尤度が生み出すデータなら常識と照合できます。 事前、 と生成し、得られる の広がりが妥当かを見ます。
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
出力の意味:一様 は が 〜 まで広く散る(SD )=「どんな成功数もありうる」という無情報な含意。一方 は SD と狭く、「成功はほぼ必ず 前後」と強く主張します。もし本当は成功率の見当がつかないのに を使えば、事前予測が現実より狭すぎる——これが事前が強すぎるサインです。事前予測を生成して「こんなデータを想定してよいか?」と自問するのが、事前を据える前の健全な点検です(事後を見てから行う事後予測チェックは 事後予測チェック で扱います)。
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
出力の意味:いずれもデータの比率は ですが、小標本 では事後平均が 〜 まで振れ(振れ幅 )、事前の選択が結論を支配します。大標本 では 〜 に収まり(振れ幅 )、どの事前からもほぼ同じ結論。つまり「データが少ないほど事前に敏感、多いほど頑健」。小標本でベイズを使うときは、事前を明示し、この感度分析を必ず添えるべきだと分かります。逆に振れ幅が小さければ「結論は事前に頑健」と胸を張れます。
4. 報告に何を書くか
- 使った事前を明示(分布と理由)。「弱情報 を既定とした」など。
- 感度分析の結果:「事前を一様〜情報事前まで変えても事後平均は 〜 で結論は頑健」。
- 小標本で敏感なら、その旨と「追加データで解消する」見通し。
事前を隠さず、頑健性を示す——これがベイズ分析の透明性です(信用区間と信頼区間 の「仮定が透明」の実践)。
⚠️ よくある誤解
- 「事前は適当でよい/データが消す」ではない:消えるのはデータが十分多いときだけ。小標本では事前が結論を左右します(§3)。
- 「感度分析は事後だけ見ればよい」ではない:事前予測(事後を見る前)と事後予測(事後予測チェック)は別の点検。事前予測は「想定が常識的か」を据える前に確認します。
- 「強い事前=悪、無情報=善」ではない:根拠ある強い事前は小標本で有用。逆に無情報のつもりの平坦事前が暴走することもある(無情報事前と弱情報事前)。
- 「感度分析で結論が変わったら失敗」ではない:それは「データが結論を決めるには足りない」という重要な発見。隠さず報告するのが正しい姿勢です。
まとめ(Phase 3)
第3章では、共役が使えるかに関わらず通用する事後の扱い方を整えました——点・区間・確率の要約(事後分布の要約)、信用区間と信頼区間の読みの違い(信用区間と信頼区間)、事前の作法(無情報・弱情報・ジェフリーズ、本ノートの選択と点検)。要約はすべてサンプルから計算できる形に揃えました。次章では、共役が崩れて閉形式が無い事後から、そのサンプルを生成する MCMC に進みます。
関連ノート
- 無情報事前と弱情報事前
- 事後分布の要約(サンプルからの要約)
- ベータ二項モデル(擬似観測としての事前の強さ)
- 事後予測チェック(事後を見たあとのモデル点検)
- なぜサンプリングか(共役が崩れた事後のサンプル生成へ)
- 第3章 事後分布の解析と要約 目次
- ベイズ統計テキスト 全体目次