Chapter 05
ベイズの定理 — 「陽性でも病気とは限らない」
この章がなぜ必要なのか——直感が最も派手に外れる場所.
精度 99% の検査で陽性だった。病気である確率は何%か? 多くの人(医師を含む)が「99%」と答える。正解は、本章の設定(1000 人に 1 人の病気)では約 9% である。
99% と 9%——この 10 倍の食い違いは、計算間違いではない。 「もともと何人が病気なのか」という情報を無視していることから来る。
ベイズの定理は、たった 1 行の式である。だがこの 1 行は、 医療診断、迷惑メール判定、裁判の証拠評価、機械学習——あらゆる場所で 「証拠を見た後に、信念をどう更新すべきか」を決めている。
そして 23 章のベイズ統計はすべてこの定理の上に立っている。
この章で使う既出の用語(定義は各リンク先). 事象・\(A\cap B\)(かつ)・余事象 \(A^c\)(04 章 2 節)、 条件付き確率 \(P(A\mid B)\) と乗法定理(04 章 4 節)、 独立(04 章 5 節)、分割と全確率の公式(04 章 6 節)、 オッズ(03 章 8 節)。 以下、\(P(H\mid D_1, D_2)\) のようにコンマで並べた条件は \(P(H\mid D_1\cap D_2)\) の略記である。
1. 定理
導出は驚くほど簡単である。\(H\cap D\) の確率を乗法定理(04 章 4 節)で 2 通りに書くだけ。
左辺が同じなので右辺どうしも等しい。\(P(D)\) で割れば定理を得る。∎
分母は全確率の公式(04 章 6 節)で展開できる。\(H\) と \(H^c\)(\(H\) が成り立たない事象)は標本空間の分割なので、この 2 つで場合分けすると
一般に \(H_1,\dots,H_k\) が分割なら
2. 各項の名前と意味
記号 \(H\) は仮説 (Hypothesis)、\(D\) はデータ (Data) の頭文字である。
| 記号 | 名前 | 意味 |
|---|---|---|
| \(P(H)\) | 事前確率 (prior) | データを見る前の信念 |
| \(P(D\mid H)\) | 尤度 (likelihood) | 仮説が正しいとして、そのデータが出る確率 |
| \(P(D)\) | 周辺尤度 (marginal likelihood) | そのデータが出る確率(仮説の真偽によらず全体で) |
| \(P(H\mid D)\) | 事後確率 (posterior) | データを見た後の信念 |
(\(\propto\) は「比例する」の記号。「左辺は右辺の定数倍」という意味で、ここでの定数は \(1/P(D)\) である。 \(P(D)\) は \(H\) によらないので、複数の仮説を比べるときは無視してよい。)
この定理は何をしているのか. 「もともとこう思っていた(事前)」に、 「こういう証拠が出た(尤度)」を掛けて、「だからこう思い直す(事後)」を作っている。 つまり信念の更新規則である。
重要なのは、事前確率を無視できないという点である。 どんなに強い証拠が出ても、もともと極端にありそうにない仮説は、そう簡単には有力にならない。 「並外れた主張には並外れた証拠が要る」という格言は、この定理の直感的表現である。
3. 検査の問題を解く
設定
この節では、病気である事象を \(D^+\)、病気でない事象を \(D^- = (D^+)^c\)、検査が陽性である事象を \(T^+\)、陰性である事象を \(T^- = (T^+)^c\) と書く(\(D\) は disease、\(T\) は test の頭文字。1 節 の「データ」の \(D\) とは別の記号である)。
- 有病率(事前確率): \(P(D^+) = 0.001\)(1000 人に 1 人)
- 感度(病気の人を正しく陽性にする率): \(P(T^+ \mid D^+) = 0.99\)
- 特異度(健康な人を正しく陰性にする率): \(P(T^- \mid D^-) = 0.99\)
- したがって偽陽性率 \(P(T^+\mid D^-) = 0.01\)
問い: 陽性だった人が実際に病気である確率 \(P(D^+ \mid T^+)\) は?
ベイズの定理で
99% の精度の検査で陽性でも、9 割方は病気ではない。
なぜそうなるのか — 人数で数え直す
10 万人で考えると一目で分かる。
| 病気 (100 人) | 健康 (99,900 人) | 計 | |
|---|---|---|---|
| 陽性 | 99 | 999 | 1,098 |
| 陰性 | 1 | 98,901 | 98,902 |
陽性者 1,098 人のうち、本当に病気なのは 99 人。\(99/1098 \approx 9\%\)。
決定的なのは母数の差である. 健康な人は 999 倍もいる。 だから偽陽性率がたった 1% でも、偽陽性の人数(999 人)が真の陽性者(99 人)を圧倒する。
これを基準率の無視 (base rate neglect) と呼ぶ。 人は「99% の精度」という目立つ数字に飛びつき、「1000 人に 1 人」という地味な数字を忘れる。
有病率を変えるとどうなるか
| 有病率 | 陽性的中率 \(P(D^+\mid T^+)\) |
|---|---|
| 0.01% | 1.0% |
| 0.1% | 9.0% |
| 1% | 50% |
| 10% | 91.7% |
| 50% | 99% |
同じ検査でも、対象集団を変えるだけで意味がまるで変わる。
これが「検診の対象を絞る」理由である. 症状のある人や高リスク群では有病率が高いので、陽性の意味が重い。 症状のない一般人口に無差別に検査をすると、偽陽性の山ができ、 不要な精密検査・不安・医療費・時にはリスクのある処置を生む。
「全員に検査すればよい」が単純に正しくないのは、統計的にはこの表がすべてである。
4. オッズ形式 — 実務で計算が速い
事後確率を直接計算するより、オッズ(起きる確率と起きない確率の比 \(P(H)/P(H^c)\))で考えるほうが速い。 ベイズの定理を \(H\) について書いた式と \(H^c\) について書いた式を割り算する(共通の分母 \(P(D)\) が消える)。
先ほどの例で:
- 事前オッズ \(= 0.001/0.999 \approx 1/999\)
- 尤度比 \(= 0.99/0.01 = 99\)
- 事後オッズ \(= 99/999 \approx 1/10.1\)
- 事後確率 \(= \dfrac{1/10.1}{1+1/10.1} = \dfrac{1}{11.1} \approx 9\%\) ✓
尤度比という考え方が便利な理由. 尤度比 (likelihood ratio) は 「その証拠が、仮説をどれだけ有利にするか」だけを表す量で、事前確率と切り離せる。 医学では検査そのものの性能指標として LR+ = 感度/(1−特異度) がよく使われる。 複数の独立な証拠があれば、尤度比を掛けていくだけでよい。
5. 逐次更新 — 証拠を 1 つずつ足す
証拠 \(D_1, D_2\) が \(H\) の下で条件付き独立であるとは、
が成り立つことをいう(\(H^c\) の下でも同様)。「\(H\) の真偽が分かっているなら、\(D_1\) を知っても \(D_2\) の出やすさは変わらない」という意味である。
このとき、ベイズの定理の尤度の部分が積に分かれる。
さらに、これは 1 つ目の事後確率を 2 つ目の事前確率として使ったベイズの定理と同じ形になる。 条件付き確率の定義と乗法定理から
であり、条件付き独立なら \(P(D_2\mid H\cap D_1) = P(D_1\cap D_2\mid H)/P(D_1\mid H) = P(D_2\mid H)\) なので
これは「事前 \(P(H\mid D_1)\)、尤度 \(P(D_2\mid H)\)」でベイズの定理を適用した式そのものである。∎
これがベイズの最も美しい性質である. データが少しずつ届く状況で、 過去のデータを保存しておく必要がない。今の信念だけ持っていれば、次のデータで更新できる。 オンライン学習、カルマンフィルタ、逐次ベイズ更新はすべてこの構造を使っている。
例(2 回検査する): 1 回目陽性で事後 9%。これを事前として 2 回目も陽性なら
- 事前オッズ \(= 0.09/0.91 \approx 0.099\)
- 事後オッズ \(= 99 \times 0.099 = 9.8\)
- 事後確率 \(= 9.8/10.8 \approx 91\%\)
2 回続けて陽性なら、今度は 9 割方本物である。
注意: 条件付き独立が要る. 同じ原理の検査を 2 回やっても、 同じ人の体質で偽陽性が出るなら 2 回目も陽性になりやすい。 このとき「独立」は成り立たず、上の計算は効果を過大評価する。 だから臨床では原理の異なる確認検査を行う。
6. 迷惑メールフィルタ(ナイーブベイズ)
\(H\) = 「スパムである」、\(D\) = メールに含まれる単語の集合 \(w_1,\dots,w_m\)。
(\(\prod\) は総乗の記号。\(\sum\) が足し算なら \(\prod\) は掛け算で、\(\prod_{j=1}^{m} a_j = a_1 a_2\cdots a_m\)。)
これは前節の逐次更新を \(m\) 個の証拠に繰り返したものである。 「単語どうしが \(H\) の下で条件付き独立」という(明らかに正しくない)仮定を置くのでナイーブと呼ばれる。
なぜ間違った仮定でうまく動くのか. 確率の値そのものは不正確になるが、 スパムかどうかの判定に必要なのは大小関係だけである。 相関を無視すると確率は歪むが、順位はしばしば保たれる。 「モデルは間違っているが役に立つ」の典型例である。
実装上は、1 より小さい確率を何百個も掛けると値が \(10^{-300}\) 程度より小さくなり、コンピュータの浮動小数点数では 0 になってしまう(アンダーフロー)。そこで対数を取り、掛け算を足し算に変える。
また、学習データに現れなかった単語は \(P(w\mid H)=0\) となり全体を 0 にしてしまうので、 ラプラス平滑化(各カウントに 1 を足す)を行う。
7. 検察官の誤謬 — 現実の被害
架空だが典型的な法廷の主張. 「犯行現場の DNA が被告と一致した。無実の人がたまたま一致する確率は 100 万分の 1 である。 したがって被告が無実である確率は 100 万分の 1 である。」
これは誤りである。 前半は \(P(\text{一致}\mid\text{無実}) = 10^{-6}\)、 後半は \(P(\text{無実}\mid\text{一致})\)。別の量である。
ベイズで正しく計算する。容疑者を絞る他の証拠がなく、 対象となりうる人口が 1000 万人だったとする。事前確率は \(P(\text{有罪}) = 10^{-7}\)。 また、真犯人の DNA は必ず一致するとして \(P(\text{一致}\mid\text{有罪}) = 1\) とする。
- 事前オッズ \(= P(\text{有罪})/P(\text{無実}) = 10^{-7}/(1-10^{-7}) \approx 10^{-7}\)
- 尤度比 \(= P(\text{一致}\mid\text{有罪})/P(\text{一致}\mid\text{無実}) = 1/10^{-6} = 10^{6}\)
- 事後オッズ \(\approx 10^{-7}\times 10^{6} = 0.1\)
- 事後確率 \(= 0.1/1.1 \approx 9\%\)
DNA が一致しても、他に証拠がなければ有罪確率は 9% にすぎない。 1000 万人の中には期待値で 10 人ほど一致する人がいるからである。
本物の冤罪例(サリー・クラーク事件、英国 1999 年). 2 人の乳児を続けて亡くした母親が殺人で有罪となった。 検察側の専門家証人は「乳幼児突然死が同じ家庭で 2 回起きる確率は 7300 万分の 1」と証言した。
少なくとも 2 つの誤りがあった。 1 つは 2 件を独立と仮定したこと(遺伝的・環境的要因があれば 2 件目は起きやすい)。 もう 1 つは比較対象を出さなかったこと——比べるべきは「母親が 2 人の子を殺す確率」であり、 それもまた極めて小さい。小さい確率どうしを比べなければ意味がない。
有罪判決は後に破棄されたが、母親は 3 年以上収監され、釈放後に亡くなっている。 統計の誤用が人を殺しうるという、忘れてはならない実例である。
8. 頻度論とベイズ — 立場の違い
| 頻度論 (frequentist) | ベイズ | |
|---|---|---|
| パラメータ \(\theta\)(母平均や有病率のように、知りたい母集団の値。「未知の量」の総称として 10 章以降で使う記号) | 固定された未知の定数 | 確率変数(信念の対象) |
| 確率の意味 | 長期的な相対頻度 | 信念の度合い |
| 事前分布(\(\theta\) の取りうる値ごとに事前確率を並べたもの。23 章) | 使わない | 必ず置く |
| 区間の解釈 | 「区間が \(\theta\) を含む」が 95% の割合で起きる手順 | 「\(\theta\) がこの区間にある確率が 95%」 |
| 主な章 | 10 章〜22 章 | 23 章 |
どちらが正しいのか. 論争は 100 年続いているが、実務的な答えは「道具として使い分ける」である。 事前情報が明確にあるなら(検査の有病率のように)ベイズが自然。 事前情報が無く、客観性が強く求められる場面(新薬の承認など)では頻度論の枠組みが好まれる。
本シリーズは主に頻度論で進み、23 章でベイズを扱う。 だがこの章の考え方(事前を無視するな)は、頻度論を使うときにも常に効いている。 12 章で p 値を学んだあと、17 章で「有意な結果をそのまま信じてはいけない理由」を語るとき、 出てくるのはまさにこの基準率の話である。
9. まとめ
| 概念 | 式 |
|---|---|
| ベイズの定理 | \(P(H\mid D) = \dfrac{P(D\mid H)P(H)}{P(D)}\) |
| 比例形 | 事後 \(\propto\) 尤度 × 事前 |
| オッズ形式 | 事後オッズ = 尤度比 × 事前オッズ |
| 逐次更新 | 昨日の事後は今日の事前 |
- 事前確率(基準率)を無視すると、答えは桁で狂う。99% の検査でも陽性的中率が 9% になりうる。
- \(P(A\mid B)\) と \(P(B\mid A)\) の取り違えは、法廷で人を殺すレベルの誤りである。
- 証拠は尤度比として効き、掛け算で積み上がる。ただし条件付き独立が前提。
- 「並外れた主張には並外れた証拠が要る」は、ベイズの定理の言い換えである。