機械学習に詳しくなりたいブログ

機械学習や数学について勉強した内容を中心に書きます。100%趣味です。記事は数学的に厳密でなかったり誤りを含んでいるかもしれません。ご指摘頂ければ幸いです。

ベイズ推定 よくある例題

ベイズの定理を使った事後確率の推定、ベイズ推定の例題を解いてみます。いろんな参考書でよく見かける例題です。

  • ある検査を受けたとき、被験者がガンであるときに陽性となる確率は95%、ガンでないが陽性と誤判定する確率は2%とする。また、ガンの罹患率は0.1%とする。この条件下において、検査結果が陽性ならばガンである確率はいくらか?

直感的な数字と実際の値が乖離するので例題としてよく用いられるのだと思います。95%の確率でガンを発見する検査が陽性だったら、愕然としてしまいそうです。

実際に計算してみます。

ガンであるという事象をA、検査が陽性である事象をBとすれば、問題の条件より


\displaystyle P(B|A) = \frac{95}{100}, P(B|\bar{A})=\frac{2}{100}, P(A) = \frac{1}{1000} \tag{1}

です。

条件付き確率、同時確率、周辺確率の周辺化、確率の乗法定理より


P(B)= P(B|A)P(A) + P(B|\bar{A})P(\bar{A}) \tag{2}

ですから、ベイズの定理より


\begin{eqnarray*}
\displaystyle P(A|B) &=& \frac{P(B|A)P(A)}{P(B)} \tag{3} \\
&=& \frac{P(B|A)P(A)}{P(B|A)P(A) + P(B|\bar{A})P(\bar{A})} \tag{4} \\
&=& \frac{\frac{95}{100}\times\frac{1}{1000}}{\frac{95}{100}\times\frac{1}{1000}+\frac{2}{100}\times\frac{999}{1000}} \tag{5} \\
&\fallingdotseq & 0.045\tag{6}
\end{eqnarray*}

となり、検査が陽性だったとしても本当にガンである確率はたった4.5%なのでした。ベイズの定理を知らなくても高校で学ぶ確率で計算できますが、ベイズ主義的な解釈をすれば、ガンである事前確率0.1%が、検査が陽性だったという情報により、事後確率4.5%に改訂されたということです。 P(B|A)は尤度ですが、これは検査が陽性であったとき、ガンである"もっともらしさ"は \frac{95}{100}ということです。

なお直感的でない数字が導かれる原因は、数字を書き出せば理解できます。100万人いたとします。このうち1000人がガンで、検査を受ければ950人が陽性です。99万9000人がガンではありませんが検査を受ければ1万9980人が陽性になります。つまりトータルで約2万人が陽性の結果になりますが、このうち本当にガンなのは1000人だけです。