ベイズの確率論の勉強(1)

知人からこの本

を貸してもらい、今、ベイズの理論というのを勉強しています。
ベイズの理論を今までにも勉強しかけたことがあったのですが、普通の確率の話と何が異なるのかよく分かりませんでした。読んでいても当たり前のことが書いてあるだけで、どこがすごいのか理解出来ませんでした。
この本も私は半分ぐらいまでは、ああ、もう知っている話だ、と思いながら読んでいきました。しかし、以下に示す例題を読んだ時にはおお、これは!!」と驚きを覚えました。常識と異なる結果が出てきたからです。
だからベイズの理論がどうすごいのか、まだ、私には人に説明するだけの理解は出来ていませんが、とりあえずこの例題のことをご紹介したいと思います。


それは以下の例題です。

ある病気を発見する検査Tに関して、次のことが知られている。

  • 病気にかかっている人に検査Tを適用すると、98%の確率で病気であると正しく判定される。
  • 病気にかかっていない人に検査Tを適用すると、5%の確率で誤って病気にかかっていると判定される。
  • 人全体では、病気にかかっている人と病気にかかっていない人との割合はそれぞれ3%、97%である。

母集団より無作為に抽出された1人に検査Tを適用し、病気にかかっていると判定されたとき、この人が実際に病気にかかっている確率を求めよ。

最初これを読んだ時、「病気にかかっている人に検査Tを適用すると、98%の確率で病気であると正しく判定される」し「病気にかかっていない人に検査Tを適用」しても誤診になるのは5%と低いので、この検査によって病気にかかっていると判定されたならば、ほぼ間違いなく本当に病気なんだろうなあ、と思いました。


ところが、この本の記述を読んでいくとそうでないことが分かります。それは、3番目の記述
「人全体では、病気にかかっている人と病気にかかっていない人との割合はそれぞれ3%、97%である。」
が関係してきます。こんなことがどうして分かっているんだ、というツッコミは可能だと思うのですが、ここでは素直にこの記述を認めてしまいましょう。


さてここに10,000人の人がいるとすると、この記述から、病気にかかっている人は10,000人の3%で、300人ということになります。この300人が検査Tを受けると、300人の98%で、294人が病気と判定されます。


一方、病気にかかっていない人は10,000人の97%なので、9,700人です。この9,700人が検査Tを受けると、5%の割合で病気と判定されるので、それを計算してみると、485人が病気と判定されることになります。


するとこういうことになります。

  • 本当に病気であって、検査Tでも病気と判定された人、294人
  • 本当は病気ではないのに、検査Tで病気と判定された人、485人


なんと、誤判定の人のほうが数が多いのです!。その結果、最初の問題である

  • 「検査Tを適用し、病気にかかっていると判定されたとき、この人が実際に病気にかかっている確率」

というのは

  • \frac{294}{294+485}=0.38

つまり、実際に病気にかかっている確率というのは38%でしかないのです!。この検査Tはあてにならない、ということでしょうか?


ここで上記の解法を振り返ってみると、どうも「人全体では、病気にかかっている人と病気にかかっていない人との割合はそれぞれ3%、97%である。」というところが、この結果に影響していることが見えてきます。ベイスの理論ではこれを事前確率と呼んでいるとのことです。そして先ほど求めた38%というのは事後確率と呼んでいるとのことです。事前とか事後とかいっているのは、この例題に関して言えば、検査Tの前か後か、ということです。
そしてベイズ理論の枠組みでは、「ある人が病気である事前確率が3%であったが、検査Tで病気と判定された(陽性だった)ことによって、その確率が変化し、事後確率が38%になった」、と、とらえる、とのことです。


ベイズの理論については、やはり私はまだうまく説明出来ないので、それは今後の勉強として、今は上の例題をいろいろ変形して理解を深めてみたいと思います。
たとえば、

  • 病気にかかっている人に検査Tを適用すると、98%の確率で病気であると正しく判定される。

というのを

  • 病気にかかっている人に検査Tを適用すると、100%の確率で病気であると正しく判定される。

に変えてみたら、どんな結果になるでしょうか? つまり、

  • 病気にかかっている人に検査Tを適用すると、100%の確率で病気であると正しく判定される。
  • 病気にかかっていない人に検査Tを適用すると、5%の確率で誤って病気にかかっていると判定される。
  • 人全体では、病気にかかっている人と病気にかかっていない人との割合はそれぞれ3%、97%である。

です。


さて、同じように計算をしていきましょう。


また、10,000人に登場してもらいます。
病気にかかっている人は10,000人の3%で、300人ということになります。この300人が検査Tを受けると、(100%正しく判定されるから)300人全員が病気と判定されます。


一方、病気にかかっていない人は10,000人の97%なので、9,700人です(最初の例題と同じ結果です)。この9,700人が検査Tを受けると、5%の割合で病気と判定されるので、485人が病気と判定されることになります(これも最初の例題と同じ結果です)。


するとこういうことになります。

  • 本当に病気であって、検査Tでも病気と判定された人、300人
  • 本当は病気ではないのに、検査Tで病気と判定された人、485人


病気の人を100%正しく判定出来るというのに、やはり、病気でない人のほうが多い結果になりました。ですので、この検査を受けて「病気です」と判定されても、病気でない確率のほうが大きいのです!  不思議ですね。(よく考えると不思議ではないのですが・・・)


どうも、「病気にかかっていない人に検査Tを適用すると、5%の確率で誤って病気にかかっていると判定される。」というところに、この検査があてにならない原因がありそうです。そして、病気にかかっていない人の数のほうが、かかっている人の数より圧倒的に大きいというところも、原因のようです。