統計 05 · ベイズの定理 — 「陽性でも病気とは限らない」

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. 定理

\[ \boxed{P(H \mid D) = \frac{P(D \mid H)P(H)}{P(D)}} \]

導出は驚くほど簡単である。\(H\cap D\) の確率を乗法定理(04 章 4 節)で 2 通りに書くだけ。

\[ P(H \cap D) = P(D\mid H)P(H), \qquad P(H\cap D) = P(H \mid D)P(D) \]

左辺が同じなので右辺どうしも等しい。\(P(D)\) で割れば定理を得る。∎

分母は全確率の公式(04 章 6 節)で展開できる。\(H\) と \(H^c\)(\(H\) が成り立たない事象)は標本空間の分割なので、この 2 つで場合分けすると

\[ P(H\mid D) = \frac{P(D\mid H)P(H)}{P(D\mid H)P(H) + P(D\mid H^c)P(H^c)} \]

一般に \(H_1,\dots,H_k\) が分割なら

\[ P(H_i \mid D) = \frac{P(D\mid H_i)P(H_i)}{\sum_{j} P(D\mid H_j)P(H_j)} \]

2. 各項の名前と意味

記号 \(H\) は仮説 (Hypothesis)、\(D\) はデータ (Data) の頭文字である。

記号名前意味
\(P(H)\)事前確率 (prior)データを見る前の信念
\(P(D\mid H)\)尤度 (likelihood)仮説が正しいとして、そのデータが出る確率
\(P(D)\)周辺尤度 (marginal likelihood)そのデータが出る確率(仮説の真偽によらず全体で)
\(P(H\mid D)\)事後確率 (posterior)データを見た後の信念
\[ \boxed{\text{事後} \propto \text{尤度} \times \text{事前}} \]

(\(\propto\) は「比例する」の記号。「左辺は右辺の定数倍」という意味で、ここでの定数は \(1/P(D)\) である。 \(P(D)\) は \(H\) によらないので、複数の仮説を比べるときは無視してよい。)

この定理は何をしているのか. 「もともとこう思っていた(事前)」に、 「こういう証拠が出た(尤度)」を掛けて、「だからこう思い直す(事後)」を作っている。 つまり信念の更新規則である。

重要なのは、事前確率を無視できないという点である。 どんなに強い証拠が出ても、もともと極端にありそうにない仮説は、そう簡単には有力にならない。 「並外れた主張には並外れた証拠が要る」という格言は、この定理の直感的表現である。

3. 検査の問題を解く

設定

この節では、病気である事象を \(D^+\)、病気でない事象を \(D^- = (D^+)^c\)、検査が陽性である事象を \(T^+\)、陰性である事象を \(T^- = (T^+)^c\) と書く(\(D\) は disease、\(T\) は test の頭文字。1 節 の「データ」の \(D\) とは別の記号である)。

問い: 陽性だった人が実際に病気である確率 \(P(D^+ \mid T^+)\) は?

ベイズの定理で

\[ P(D^+\mid T^+) = \frac{P(T^+\mid D^+)P(D^+)}{P(T^+\mid D^+)P(D^+) + P(T^+\mid D^-)P(D^-)} \]
\[ = \frac{0.99 \times 0.001}{0.99\times 0.001 + 0.01 \times 0.999} = \frac{0.00099}{0.00099 + 0.00999} = \frac{0.00099}{0.01098} \approx 0.090 \]
\[ \boxed{\text{約 } 9\%} \]

99% の精度の検査で陽性でも、9 割方は病気ではない。

なぜそうなるのか — 人数で数え直す

10 万人で考えると一目で分かる。

病気 (100 人)健康 (99,900 人)計
陽性999991,098
陰性198,90198,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)\) が消える)。

\[ \frac{P(H\mid D)}{P(H^c\mid D)} = \frac{P(D\mid H)}{P(D\mid H^c)} \times \frac{P(H)}{P(H^c)} \]
\[ \boxed{\text{事後オッズ} = \text{尤度比} \times \text{事前オッズ}} \]

先ほどの例で:

尤度比という考え方が便利な理由. 尤度比 (likelihood ratio) は 「その証拠が、仮説をどれだけ有利にするか」だけを表す量で、事前確率と切り離せる。 医学では検査そのものの性能指標として LR+ = 感度/(1−特異度) がよく使われる。 複数の独立な証拠があれば、尤度比を掛けていくだけでよい。

5. 逐次更新 — 証拠を 1 つずつ足す

証拠 \(D_1, D_2\) が \(H\) の下で条件付き独立であるとは、

\[ P(D_1\cap D_2 \mid H) = P(D_1\mid H)\,P(D_2\mid H) \]

が成り立つことをいう(\(H^c\) の下でも同様)。「\(H\) の真偽が分かっているなら、\(D_1\) を知っても \(D_2\) の出やすさは変わらない」という意味である。

このとき、ベイズの定理の尤度の部分が積に分かれる。

\[ P(H\mid D_1, D_2) = \frac{P(D_1\cap D_2\mid H)P(H)}{P(D_1\cap D_2)} = \frac{P(D_2\mid H)P(D_1\mid H)P(H)}{P(D_1\cap D_2)} \propto P(D_2\mid H)\,P(D_1\mid H)\,P(H) \]

さらに、これは 1 つ目の事後確率を 2 つ目の事前確率として使ったベイズの定理と同じ形になる。 条件付き確率の定義と乗法定理から

\[ P(H\mid D_1\cap D_2) = \frac{P(H\cap D_1\cap D_2)}{P(D_1\cap D_2)} = \frac{P(D_2\mid H\cap D_1)\,P(H\mid D_1)\,P(D_1)}{P(D_2\mid D_1)\,P(D_1)} = \frac{P(D_2\mid H\cap D_1)\,P(H\mid D_1)}{P(D_2\mid D_1)} \]

であり、条件付き独立なら \(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\cap D_2) = \frac{P(D_2\mid H)\,P(H\mid D_1)}{P(D_2\mid D_1)} \]

これは「事前 \(P(H\mid D_1)\)、尤度 \(P(D_2\mid H)\)」でベイズの定理を適用した式そのものである。∎

\[ P(H) \xrightarrow{D_1} P(H\mid D_1) \xrightarrow{D_2} P(H\mid D_1,D_2) \xrightarrow{D_3}\cdots \]

これがベイズの最も美しい性質である. データが少しずつ届く状況で、 過去のデータを保存しておく必要がない。今の信念だけ持っていれば、次のデータで更新できる。 オンライン学習、カルマンフィルタ、逐次ベイズ更新はすべてこの構造を使っている。

例(2 回検査する): 1 回目陽性で事後 9%。これを事前として 2 回目も陽性なら

2 回続けて陽性なら、今度は 9 割方本物である。

注意: 条件付き独立が要る. 同じ原理の検査を 2 回やっても、 同じ人の体質で偽陽性が出るなら 2 回目も陽性になりやすい。 このとき「独立」は成り立たず、上の計算は効果を過大評価する。 だから臨床では原理の異なる確認検査を行う。

6. 迷惑メールフィルタ(ナイーブベイズ)

\(H\) = 「スパムである」、\(D\) = メールに含まれる単語の集合 \(w_1,\dots,w_m\)。

\[ P(H\mid w_1,\dots,w_m) \propto P(H)\prod_{j=1}^{m} P(w_j \mid H) \]

(\(\prod\) は総乗の記号。\(\sum\) が足し算なら \(\prod\) は掛け算で、\(\prod_{j=1}^{m} a_j = a_1 a_2\cdots a_m\)。)

これは前節の逐次更新を \(m\) 個の証拠に繰り返したものである。 「単語どうしが \(H\) の下で条件付き独立」という(明らかに正しくない)仮定を置くのでナイーブと呼ばれる。

なぜ間違った仮定でうまく動くのか. 確率の値そのものは不正確になるが、 スパムかどうかの判定に必要なのは大小関係だけである。 相関を無視すると確率は歪むが、順位はしばしば保たれる。 「モデルは間違っているが役に立つ」の典型例である。

実装上は、1 より小さい確率を何百個も掛けると値が \(10^{-300}\) 程度より小さくなり、コンピュータの浮動小数点数では 0 になってしまう(アンダーフロー)。そこで対数を取り、掛け算を足し算に変える。

\[ \log P(H\mid D) = \log P(H) + \sum_j \log P(w_j\mid H) + \text{const} \]

また、学習データに現れなかった単語は \(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\) とする。

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\) 尤度 × 事前
オッズ形式事後オッズ = 尤度比 × 事前オッズ
逐次更新昨日の事後は今日の事前