見出し画像

ベイズ推定:コインを振ったのはイカサマ師か善人か

ベイズ推定を使って、簡単な問題を解いてみます。ここで紹介する方法はより複雑で現実的な問題にも応用可能なものです。

問題設定

扉の後ろに一人の男がいます。男が誰であるか特定はできていので$${X}$$と呼ぶことにしました。しかし、$${X}$$が悪名高いイカサマ師か、善人であることはわかっています。恐ろしいことに、イカサマ師は何らかの方法でコインを必ず表にすることができます。善人は公平なコインを振ります。扉には腕を通せるほどの小さな穴があります。$${X}$$がそこから手を出しコインを振ったところ表が出ました。さて、$${X}$$はイカサマ師または善人のどちらなのでしょうか。

問題の整理

問題で与えられている設定からは、男がイカサマ師であるか完全に特定することはできないでしょう。そこで、完全な予測は諦めて確率的な予測を試みます。すなわち、$${X}$$がイカサマ師である確率を求めることを目標にします。$${X}$$がイカサマ師であるということは、コインを振って表が出る確率$${\theta}$$が1であるということを意味しています。一方、$${X}$$が善人であるということは表が出る確率$${\theta}$$が$${1/2}$$だということです。したがって、$${\theta}$$を推定できれば、$${X}$$がイカサマ師である確率も推定できます。
$${\theta}$$は$${1}$$か$${1/2}$$のいずれかであるということはわかっています。そこで、$${\theta}$$を確率変数と考え、その確率分布を次のように仮定します(以下では、確率変数とその実現値を記号で区別することはしません。):

$$
\begin{equation}
\mathrm{P}(\theta=1) = \mathrm{P}(\theta=1/2) = 1/2
\end{equation}
$$

この分布は、コインをイカサマ師が振ったのか、善人が振ったのか全く分からないという状況を表しています。このように、持っている情報や経験に基づいて事前に定められた確率分布を事前分布と呼びます。

実際に観測される結果(コインが表か裏か)を確率変数$${o}$$で表すことにします。表が出るということを$${o=\mathrm{H}}$$, 裏が出るということを$${o=\mathrm{T}}$$で表します。

次に、事前分布からコインの表裏が決まる確率的な構造を次のように仮定しましょう。

  1. 確率変数$${\theta}$$から$${1または1/2}$$が生成される

  2. その値に基づいて確率分布$${\mathrm{P}({o|\theta})}$$が定まる

  3. $${\mathrm{P}(o|\theta)}$$から$${\mathrm{H}または\mathrm{T}}$$が生成される

$${\mathrm{P}(o|\theta)}$$は次のように定めます。

$$
\begin{equation}{}
\mathrm{P}(\mathrm{H}|\theta)=\theta,\quad\mathrm{P}(\mathrm{T}|\theta)=1-\theta
\end{equation}
$$

確率$${\theta}$$で表が、$${1-\theta}$$で裏が出るということです。

ベイズの定理

求めたいのは、$${\mathrm{H}}$$という結果が得られたときの$${\theta}$$の分布$${\mathrm{P}(\theta|o=\mathrm{H})}$$です($${\mathrm{P}(\theta, o)}$$でないのは、$${\theta}$$の分布が興味の対象だからです。$${\mathrm{P}(\theta, o)}$$は二次元の分布になってしまいます)。これはベイズの定理から求めることができます。

$$
\begin{array}{}
\mathrm{P}(\theta|\mathrm{H})
&=&\displaystyle\frac{\mathrm{P}(\theta,\mathrm{H})}{\mathrm{P}(\mathrm{H})}\\\
&=&\displaystyle\frac{\mathrm{P}(\mathrm{H}|\theta)\mathrm{P}(\theta)}{\mathrm{P}(\mathrm{H})}
\end{array}
$$

ここで事前分布の式(1)と条件付き確率の式(2)を用いると

$$
P(\theta|\mathrm{H})=\frac{1}{2}\frac{1}{\mathrm{P}(\mathrm{H})}\theta
$$

となります。規格化条件$${P(1|\mathrm{H}) + P(1/2|\mathrm{H}) = 1}$$と合わせると、

$$
\mathrm{P}(1|\mathrm{H}) = \frac{2}{3},\quad \mathrm{P}(1/2|\mathrm{H}) = \frac{1}{3}
$$

となります。コインの表が出たという結果から、コインを振ったのがイカサマ師である確率が$${2/3}$$と推測できました。

まとめ

今回はコイン投げという非常に単純なモデルでベイズ推論を行いました。事前分布の設定、確率モデルの設定、ベイズの定理の利用という順に推定が進められました。この流れはより複雑なモデルでも変わりません。このようなトイモデルで一度流れを掴んでおくと、複雑なモデルに取り組みやすくなるでしょう。


この記事が気に入ったらサポートをしてみませんか?