これは?
ベイズ推定の考え方を、問題を通して見ていきます。
問題
「赤」と「青」の2種類のボールがあり、そのボールが合計10個ずつ入った袋が2つある。
それぞれの袋に入っているボールの種類は以下の通り。
袋A : 赤、赤、赤、赤、赤、赤、赤、赤、赤、青 (赤: 9個、 青: 1個)
袋B : 赤、赤、赤、赤、赤、青、青、青、青、青 (赤: 5個、 青: 5個)
あなたは、上記の2つの袋から1つを選ぶ。
その後、以下の動作を10回繰り返した。
・ 選んだ袋からボールを取り出して、色を記録した後、ボールを袋に戻す。
その結果、取り出されたボールの色は以下の通りであった。
・ 赤、青、青、赤、青、赤、赤、青、赤、赤
あなたが選んだ袋は、「袋A」と「袋B」のどちらであるか?
この問題の答えとして、「袋Bを選んだ」可能性が高いと思われます。
もし「袋A」を選んでいたのであれば、青いボールが取り出される確率はわずか10%であるため、10回中4回も青いボールが取り出されることは考えにくいためです。
⬆️ これがベイズ推定の考え方です
ベイズ推定とは
ある事象の結果から、その原因がどうであったかを推定する。
とある事象の結果を「D」、その原因を「θ」とした場合、原因「θ」の条件付き確率は以下の式で表すことができます。
P(θ|D) = \frac{P(D|θ)・P(θ)}{P(D)}
従来の統計学の場合、とある「原因」が与えられた場合に、それによる「結果」の確率分布を求めるものです。
ベイズ推定は、とある「結果」から、その原因である「θ」の確率分布を求めます。そのため、P(θ|D)は「逆確率」または「原因の確率」とも呼ばれます。
ベイズ推定で「問題」を解いてみる
先ほどのと同じ問題です。
「赤」と「青」の2種類のボールがあり、そのボールが合計10個ずつ入った袋が2つある。
それぞれの袋に入っているボールの種類は以下の通り。
袋A : 赤、赤、赤、赤、赤、赤、赤、赤、赤、青 (赤: 9個、 青: 1個)
袋B : 赤、赤、赤、赤、赤、青、青、青、青、青 (赤: 5個、 青: 5個)
あなたは、上記の2つの袋から1つを選ぶ。
その後、以下の動作を10回繰り返した。
・ 選んだ袋からボールを取り出して、色を記録した後、ボールを袋に戻す。
その結果、取り出されたボールの色は以下の通りであった。
・ 赤、青、青、赤、青、赤、赤、青、赤、赤
あなたが選んだ袋は、「袋A」と「袋B」のどちらであるか?
取り出されたボールの色を「結果」、選んだ袋を「原因」として、以下を求めたいと思います。
袋Aを選んだ確率 = P(袋A|赤、青、青、赤、青、赤、赤、青、赤、赤)
袋Bを選んだ確率 = P(袋B|赤、青、青、赤、青、赤、赤、青、赤、赤)
ベイス推定の式で以下のように表せます。 ※「赤、青、青、赤、青、赤、赤、青、赤、赤」が長いので、以降は「結果」と置きます。
P(袋A|結果) = \frac{P(結果|袋A)・P(袋A)}{P(結果)}
P(袋B|結果) = \frac{P(結果|袋B)・P(袋B)}{P(結果)}
今回一番わかりやすいのは、「P(袋A)」と「P(袋B)」でしょうか。 これらは、「袋A」を選ぶ確率と「袋B」を選ぶ確率であり、特に問題では何も触れていないので、それぞれ半分ずつ(1/2)と見なすことにします。
「袋A」を選ぶ確率 = P(袋A) = 0.5
「袋B」を選ぶ確率 = P(袋B) = 0.5
次に「P(結果|袋A)」と「P(結果|袋B)」ですが、これらは「袋A」を選んだとした上で結果が「赤、青、青、赤、青、赤、赤、青、赤、赤」となる確率と、その「袋B」バージョンです。 袋の中のボールの種類は分かっていますし、取り出したボールを袋に戻した後に再度取り出しを行うので、以下のようになります。
「袋A」を選んだ上で「結果」となる確率 = P(結果|袋A) \\
= \biggl(\frac{9}{10}\Bigr)^{6} * \biggl(\frac{1}{10}\Bigr)^{4} ≒ 0.0000531
「袋B」を選んだ上で「結果」となる確率 = P(結果|袋B) \\
= \biggl(\frac{5}{10}\Bigr)^{6} * \biggl(\frac{5}{10}\Bigr)^{4} ≒ 0.0009766
最後に「P(結果)」ですが、これは結果が「赤、青、青、赤、青、赤、赤、青、赤、赤」となる確率です。 袋Aと袋Bの2つの袋がありますので、それぞれの袋を選び、その結果が「赤、青、青、赤、青、赤、赤、青、赤、赤」となる確率の合計となります。
「結果」となる確率 = P(結果|袋A) * P(袋A) + P(結果|袋B) * P(袋B) \\
= 0.0000531 * 0.5 + 0.0009766 * 0.5 = 0.00051485
これで全てのピースが揃いました。結果を求めていきましょう!
P(袋A|結果) = \frac{P(結果|袋A)・P(袋A)}{P(結果)} \\
= \frac{0.0000531 * 0.5}{0.00051485} ≒ 0.0516
P(袋B|結果) = \frac{P(結果|袋B)・P(袋B)}{P(結果)} \\
= \frac{0.0009766 * 0.5}{0.00051485} ≒ 0.9484
たいたい、95%の確率で「袋B」を選んだとの結果になりました!
おわりに
今回は原因が全て分かっていましたので、楽に原因の確率分布を求めることができました。
しかし、現実では「結果」は分かっているけど、「原因」がよく分からない状態であったり、原因と考えられるものが多数存在し複雑に絡み合っていたりします。
そういう場合は、まず原因について仮説を立てて統計モデル作成するらしく、なかなか難しいようです。