技術をかじる猫

適当に気になった技術や言語、思ったこと考えた事など。

ベイズ定理を使ってみる

A を結果事象、 B をその原因事象としたとき、「 A の原因が B に起因したものである確率 」を以下の式で示す


P(B|A) = P_A(B) = \frac{P_B(A) P(B)}{ P_B(A) P(B) + P_{B^c}(A) P(B^c) }

P_A(B) は事象  A が起きた後の B の発生確率(事後確率)。
この時 P(B) は事象 A が発生する前の事象 B の確率(事前確率)。
P_B(A)A が発生した際に、 B が原因である確率(尤度)。

これは原因が一つであることを前提とした式で、原因が複数 ( B_1, B_2, B_3, ... 等)ある場合の一般式は


P(B_i|A) = P_A(B_i) = \frac{P(A|B_i) P(B_i)}{ \sum^k_{j=1} P(A|B_j) P(B_j) }

実計算

  • ある病気 X に感染している可能性は 0.1 % である。
  • ある PCR 検査したとき、感染している患者は 99% の確率で陽性反応が出る。
  • 健康な人に PCR 検査を行った時、3% の確率で陽性反応が誤検知される。
  • あなたは陽性反応が出ている。実際に感染している可能性は?

事象から定義してみる。

  • A : X に感染している
  • B : PCR が陽性を示す

P_A(B) ... 感染している人が陽性反応を示す = 0.99 \\
P(A) ... 感染している可能性 = 0.001 \\
P_{A^c}(B) ... 感染していないが陽性反応が出てしまった 0.03 \\
P(A^c) ... 非感染者の割合 = 0.999

とすると、ベイズ定理に当てはめると


P_A(B) = \frac{P_B(A) P(B)}{ P_B(A) P(B) + P_{B^c}(A) P(B^c) }

因果的には PCR (B) → 感染? (A) なので、AB読み替えで


P_B(A) = \frac{P_A(B) P(A)}{ P_A(B) P(A) + P_{A^c}(B) P(A^c) } \\
= \frac{ 0.99 \cdot 0.001 }{ 0.99 \cdot 0.001 + 0.03 \cdot 0.999 } \\
= \frac{ 0.00099 }{ 0.00099 + 0.02997 }
= 0.03197674418604651

結論: 約 3.2% の確率で感染しています。
と、いうように扱うことができた。