ベイズ推定を一言でいうと、「自分の予想」を「実際のデータ」で修正していく方法です。
たとえば、友達から渡されたコインがあるとします。最初は「普通のコインだから、表が出る確率は半々(50%)くらいだろう」と予想しますよね。 これが事前分布(データを見る前の予想)です。
実際にコインを10回投げたら、7回も表が出ました。すると「あれ、このコイン、ちょっと表が出やすいかも?」と予想を修正しますよね。 この「予想の修正」を数学的に正確にやるのがベイズ推定です。 修正後の予想を事後分布と呼びます。
しかも、ベイズ推定が返すのは「p = 0.7」のような一つの数字ではなく、「p は 0.55〜0.82 あたりにありそう」という確率の分布です。 つまり「どのくらい自信があるか」まで分かります。上のグラフで、データを増やすほど分布が鋭くなる(自信が増す)様子を確認してみてください。
ベイズの定理(数式):P(仮説 | データ) ∝ P(データ | 仮説) × P(仮説)日本語にすると:「データを見た後の予想」は「そのデータが出る確率」と「最初の予想」の掛け算で決まる
ベイズ推定の威力がよく分かる有名な例を紹介します。これは統計学の教科書で必ず登場する問題です。
問題
ある病気は1,000人に1人がかかります(発症率 0.1%)。 この病気を検出する検査があり、感度99%(病気の人を正しく「陽性」と判定できる確率)、特異度99%(健康な人を正しく「陰性」と判定できる確率)です。 あなたが検査を受けて「陽性」と出ました。本当に病気である確率は?
1
事前確率(検査前の予想)
何も情報がない段階では、あなたが病気である確率は発症率と同じ 0.1%(1/1,000)です。
2
データ(検査結果=陽性)で更新
1,000人が検査を受けると:病気の1人はほぼ確実に陽性(感度99%)。 健康な999人のうち約10人が誤って陽性(偽陽性、特異度99%)。 陽性は合計約11人。
3
事後確率(検査後の答え)
陽性の11人のうち、本当に病気なのは1人だけ。つまり、陽性でも本当に病気である確率は 約9%(1/11)しかありません!
この問題をベイズ推定に当てはめると
事前分布発症率 0.1%。検査を受ける前の段階では「病気である確率はとても低い」という予想
尤度(データ)検査結果が「陽性」だったという事実。感度99%なので、病気なら陽性が出やすいという証拠力
事後分布検査結果で更新された「本当に病気である確率」の分布。事前の0.1%から大きく上がるが、99%にはならない
MAP推定値最もありそうな値 ≈ 約9%。検査精度99%でも、事前確率が低いため「陽性=病気」とはならない
95%信用区間病気である確率が収まる範囲。この例では非常に狭い区間(9%前後)に集中する
この例を分布図にすると
事前分布(発症率 0.1%)
事後分布(検査後)
MAP推定値
グレーの破線が「検査前の予想」で、ほぼ 0% 付近に張り付いています(1,000人に1人しかかからないため)。 検査で陽性が出ると、紫の実線のように 9% 付近に山が移動します。 赤い破線(MAP)が「最もありそうな値 ≈ 9%」です。
つまり、検査精度が99%でも、陽性と出た人が本当に病気である確率はたった9%ということがこのグラフから読み取れます。
この例のポイント「検査精度99%」と聞くとほぼ確実に思えますが、事前確率(発症率)が低いと、陽性でも実際に病気である確率は意外と低くなります。 事前の知識(発症率)を無視してデータ(検査結果)だけで判断すると間違えてしまう――これがベイズ推定の核心的な教えです。