数学とベイズ推定

公文もそろばんもやってなかったけど、高校まで妙に算数・数学だけできた。
小学生の頃、授業中退屈だったから、半年くらいで教科書を終わらせてた。
中学生の頃、暗算で解いて途中式を書かなかったら怒られてやる気をなくす。
高校生の頃、例題見ながらさっさと数研の教科書終わらせて、オリジナルって問題集も
B問題と発展だけ全部解いて、授業中話を聞かずに赤チャートをガリガリやってた。
あてられたって、やるべき問題はすべて解いてあるのですぐ答えた。嫌なガキだな。
車のナンバープレートを見て、左の二桁と右の二桁を即足し算するとか
けっこう日常的に無意識にやってしまう計算馬鹿だったりする。


でも、大学の数学をやるような頭がなかったんで、ずいぶん遠ざかってしまった。
数学的な考え方とかアルゴリズムって必要だとは最近感じている。
大学一年のとき全然興味がわかなかったけど、今なら興味が湧くかも、
と思って、少しずついろいろ取り組んでみようと思ったり思わなかったり。
機会があったんで、なんとなくベイズ推定からやってみる。
ベイズ推定 - Wikipedia
http://ja.wikipedia.org/wiki/%E3%83%99%E3%82%A4%E3%82%BA%E6%8E%A8%E5%AE%9A
応用例二つ目の偽陽性ってとこまで読んだ。メモしてみる。
wikipediaと見比べないと何書いてるかわかんないと思う。


スパムフィルタとしてベイジアンフィルタがけっこう頻繁に利用されているわけだが、
その原理はどうなっているのかということ。ベン図とか書けばわかりやすいかもしれないけど
面倒なので図は省略。数式はTeX記法でやってみようかな。
まず、条件付き確率が前提になるから、それから。
条件付き確率 - Wikipedia
http://ja.wikipedia.org/wiki/%E6%9D%A1%E4%BB%B6%E4%BB%98%E3%81%8D%E7%A2%BA%E7%8E%87
数学B(今は違うかも)の知識が必要かな。思い出すのにけっこう時間がかかった。
去年まで高校生に数学教えてたのに情けないな。

記号の確認

P(X|A):Aである場合にXである確率
P(X∩A):XかつAである確率
P(X):Xである確率
P(A):Aである確率

ベイズの定理

条件付き確率の定義
P(X|A)=\frac{P(X\cap A)}{P(A)}
これは単純に次の式を変形したものとも言える。
Aである確率×Aである場合にXである確率=XかつAである確率
P(X\cap A)=P(A)P(X|A)
同様に
Xである確率×Xである場合にAである確率=XかつAである確率
P(X\cap A)=P(X)P(A|X)
とすると、
P(A)P(X|A)=P(X)P(A|X)
であるから
P(A|X)=\frac{P(X|A)P(A)}{P(X)}
で、分母のP(X)について書けばいいのか。
P(X)=\sum_BP(X|B)P(B)
ということで全ての事象を考える。
これは具体例の方がわかりやすそう。

どちらのボウルにクッキーがあるか

数値当てはめたらまあ答えが出てくるんだけど、
全ての事象をってことを書いてみると
ここではボウル#1を選ぶかボウル#2を選ぶか。
その二つの事象について足し合わせればOK。
#1でプレーンが出る確率と#2でプレーンが出る確率。
あと必要な数は書いてあるから問題無さげ。

臨床検査における偽陽性

検査の結果陽性であっても、実際は陽性じゃないかもという話。
患者が病気であることをAとし、
検査が陽性であることをBとする。
特に断り書きがないけど
A^CってのはAじゃないってことだろう。
患者が病気である確率
P(A)=0.001
患者が病気ではない確率
P(A^C)=1-0.001=0.999
患者が病気の場合に陽性の確率
P(B|A)=0.99
病気でない場合に陽性の確率
P(B|A^C)=1-0.95=0.05
あとはまあ計算するだけ。
陽性という結果本当に陽性の確率は0.019。
約98パーセントの確率で、実際は陽性ではない。
ということが計算からわかる。

偽陰性

式としては、Bの肩にCをつけただけ。
P(A|B^C)=\frac{P(B^C|A)P(A)}{P(B^C|A)P(A)+P(B^C|A^C)P(A^C)}=0.01\times 0.001/(0.01\times 0.001+0.95\times 0.99)=1.06325292\times 10^{-5}
googleって便利。10万分の1くらいの確率で、検査の結果大丈夫でも
実際に病気ってことがあったりするということ。計算で出てきて面白い。