TRILL開発部の石田です。
先日Twitterで以下のツイートが流れてきました。
ある検査は精度95%で正しい結果を出すが、5%の確率で間違えた結果を出す。
— 加納裕三 (Yuzo Kano) (@YuzoKano) 2021年1月5日
実際に病気である人は全体の5%だ。
その検査で陽性反応がでた。この人が本当に病気である確率は何%か?
ある検査は精度95%で正しい結果を出すが、5%の確率で間違えた結果を出す。 実際に病気である人は全体の5%だ。
その検査で陽性反応がでた。この人が本当に病気である確率は何%か?
非常に興味深い内容なので、こちらについて言及していきたいと思います。
ちなみに元ツイートを参照すると分かりますが、正解は95%ではなく50%です。
問題の整理
まず、ツイート中の以下の文について考えてみます。
ある検査は精度95%で正しい結果を出すが、5%の確率で間違えた結果を出す。
これは言い換えると以下のようになります。
- 病気の人が検査をしたとき、陽性と出る確率が95%で、陰性と出る確率が5%
- 健康な人が検査をしたとき、陽性と出る確率が5%で、陰性と出る確率が95%
また、問いは以下となっています。
その検査で陽性反応がでた。この人が本当に病気である確率は何%か?
これも言い換えると以下のようになります。
- 陽性と出たとき、病気である確率は何%か
このツイートは一見当たり前のことを問うているようなのですが整理すると、
- 与えられた確率: 病気 or 健康な人が検査をしたときの結果の確率
- 求めたい確率: 検査結果が陽性のときの病気の確率
となり、与えられた確率と求めたい確率が違うことが分かります。
例を挙げると、仮に検査結果が病気でも健康でも全て陽性と出るとき、「検査結果が陽性のときの病気の確率」は100%でも0%でもなく、実際に病気である人の割合と同じになることが分かると思います。
ベイズの定理
さて、上記の問いを解く前にベイズの定理について説明します。
まず条件付き確率について説明します。
条件付き確率とは「Aが起こったときにBも起こる確率」であり、例えば「病気のときに陽性と出る確率」のようなものです。 「Aが起こったときにBも起こる確率」は と表現されます。
は、Aが起こった確率 のうちで、AとBが起こる確率 なので、
\begin{equation} P(B | A) = \frac{P(A \cap B)}{P(A)} \end{equation}
と表現できます。
ちょっと分かりづらいので具体例を挙げてみます。
サイコロを振って「偶数が出たとき出目が4以上である確率」を考えると、確率は と表され、偶数が [2, 4, 6] でありその中で4以上なのは [4, 6] となるので と求められます。
同様に出目が偶数の確率 は [2, 4, 6] の で、偶数かつ4以上の確率 は [4, 6] の となります。
式に当てはめてみると、
\begin{align} P(4以上 | 偶数) &= \frac{P(偶数 \cap 4以上)}{P(偶数)}\\ &= \frac{\frac{1}{3}}{\frac{1}{2}}\\ &= \frac{2}{3} \end{align}
となり、等式が成り立つことが分かります。
と同様に も
\begin{equation} P(A | B) = \frac{P(A \cap B)}{P(B)} \end{equation}
と表現でき、2つの式の分母を払って を削除する等式を書くと、
\begin{equation} P(B | A)P(A) = P(A | B)P(B) \end{equation}
となり変形すると、
\begin{equation} P(B | A) = \frac{P(A | B) P(B)}{P(A)} \end{equation}
という式になります。
これがベイズの定理です。
問題の解法
ベイズの定理だけでは何のことかよく分からないので、ベイズの定理を使って実際に先のツイートの問題を解いてみます。
求めたい確率は「陽性と出たとき、病気である確率」でした。 これにベイズの定理を当てはめると、
\begin{equation} P(病気 | 陽性) = \frac{P(陽性 | 病気) P(病気)}{P(陽性)} \end{equation}
となります。
値を埋めていきます。
実際に病気である人は全体の5%だ。
とあるので、 となり、病気の人が検査をしたとき陽性と出る確率が95%なので となります。
陽性の人の確率 はちょっとややこしいのですが、陽性の人が全体の何%か考えると、病気の人 (5%) の中で陽性と出た人 (5% x 95%) と、健康な人 (95%) の中で陽性と出た人 (95% x 5%) の合計なので、
\begin{align} P(陽性) &= 0.05 \times 0.95 + 0.95 \times 0.05\\ &= 0.095 \end{align}
となります。
以上より、ベイズの定理を使って を求めると、
\begin{align} P(病気 | 陽性) &= \frac{P(陽性 | 病気) P(病気)}{P(陽性)} \\ &= \frac{0.95 \times 0.05}{0.095} \\ &= 0.5 \end{align}
と計算でき、50%となります。
まとめ
ベイズの定理を具体例を交えて紹介しました。
分かったようで分からない感のあるものだと思っており、自分もよく混乱しています。
この記事を読んで少しでも理解の一助となれば幸甚です。
delyでは全方面でエンジニアを積極採用中です。 興味のある方は是非お声がけください。