ベイジアンになりたい!ほぼゼロから始めるベイズ統計学 2 (統計的推定)


前回:ベイジアンになりたい!ほぼゼロから始めるベイズ統計学 1 (確率とベイズの定理) 

「過去の結果でできるのは予想までです。勝負はやってみなければわからないと思います」
($P(\theta|x)$ はあくまで予想です。$\theta$ はやってみなければわからないと思います)

黒子のバスケより)

 ベイジアンになりたいけどまだなれていない人たちの一助になることを願って、Courseraのオンライン講義 Bayesian Statistics: From Concept to Data Analysis (ベイズ統計学:そのコンセプトからデータ解析まで) の2週目、 Statistical Inference (統計的推定) の内容を、自分なりにまとめたものを共有したいと思います。

二項分布 (binomial distribution) の例題

 以下の例題を、頻度論者 (Frequentist) のアプローチ、ベイジアン (Bayesian) のアプローチで考えることで、統計的推定の流れを理解したいと思います。

 K君は行きつけの定食屋さんで、いつもおまかせ定食を頼みます。おまかせ定食のメインディッシュは肉か魚なのですが、作っているのがご主人か女将さんかによって、メインディッシュの種類の確率が異なることにA君は気づきました。ご主人が作った場合、肉の確率は4/7、魚の確率は3/7ですが、女将さんが作った場合、肉と魚の確率は同じで1/2です。とある週、友達のL君が毎日通っておまかせ定食を頼んだところ、5日は肉、2日は魚が出ました。この週調理を担当したのがご主人か女将さんどちらかだった場合、どちらが調理を担当した可能性が高いでしょうか。また、その推定結果に対する自信も教えてください。

頻度論者的推定 (Frequentist inference)

(頻度論者のFさん)どうもこんにちは。こういう推定の問題はですね、何よりもまず尤度 (Likelihood) を計算するんです。尤度ってのは、あるモデルパラメーターが$\theta$ だったとき、データ$x$ が得られる確率のことです。


likelihood : P(x|\theta)

 今回のパラメーター$\theta$ は、調理したのがご主人か女将さんかという事象ですね。


\theta = (ご主人, 女将)

 データ$x$ に対応するのが、L君が観測した、肉5回魚2回という結果です。一度の定食には肉か魚か2通りしかないので、データは二項分布 (Binomial distribution) に従います。例えば、$N$ 食のうち肉が$x$ 回出てくるときの尤度は、以下のように計算できます。


P(x|\theta) = \binom{N}{x}P(\theta)^{x}(1 - P(\theta))^{N-x}

 調理を担当されたのがご主人だった場合の尤度は、$N=7, x=5$で、肉が出てくる確率$P(\theta)=4/7$ ですから、以下のように計算できます。


\begin{align}
P(x|\theta) &= \binom{7}{5}(\frac{4}{7})^{5}(1 - \frac{4}{7})^{7-5}\\
&= 42(\frac{4}{7})^{5}(\frac{3}{7})^{2}\\
&= 0.470
\end{align}

 同様に、女将さんの尤度も計算できます。このときは$P(\theta)=1/2$ ですね。


\begin{align}
P(x|\theta) &= \binom{7}{5}(\frac{1}{2})^{5}(1 - \frac{1}{2})^{7-5}\\
&= 42(\frac{1}{2})^{5}(\frac{1}{2})^{2}\\
&= 0.328
\end{align}

 
 この2つの尤度を比べたときに、大きいのはご主人ですね。そのため、調理を担当されたのはご主人だと言っていいでしょう。

 ......え、推定結果への自信?いや......そんなこと言われても......??

ベイズ推定 (Bayesian Inference)

(ベイジアンのBさん)どうもー、Fさんの後ですががんばりまーす。まずですね、人によって感じる不確実性って違うじゃないですか。「この味は女将さんだわ」って人もいるし、「この盛り合わせはご主人だわ」って人もいるしで、結局人それぞれの主観なんですよね。

 ただ、データ$x$ を観測した後って、その主観的な確率$P(\theta)$ って変わるじゃないですか。肉5魚2ならさすがにP($\theta = ご主人) = 0, 1$ はないだろうとか。こんな、データを観測した後の主観的な確率を計算するとき、ベイズの定理が役に立つんです。

 データ$x$ を観測した後、それを与えるモデルパラメーターが$\theta$ である確率は、ベイズの定理より以下のようになりますよね。


\begin{align}
P(\theta|x) &= \frac{P(x|\theta)P(\theta)}{P(x)}\\
&= \frac{P(x|\theta)P(\theta)}{\int_{\theta}P(x|\theta)P(\theta)}
\end{align}

 問題で与えられた条件を代入していきましょう。Fさんが計算してくれた尤度をそのまま使えます。


\begin{align}
P(\theta|x) &= \frac{\binom{7}{5}[(\frac{4}{7})^{5}(\frac{3}{7})^{2}P(\theta=ご主人)I_{ご主人} + (\frac{1}{2})^{5}(\frac{1}{2})^{2}P(\theta=女将さん)I_{女将さん}]}{\binom{7}{5}[(\frac{4}{7})^{5}(\frac{3}{7})^{2}P(\theta=ご主人) + (\frac{1}{2})^{5}(\frac{1}{2})^{2}P(\theta=女将さん)]}\\
\end{align}

 このとき、$I$ は指示関数 (Indicator function) といって、$\theta = ご主人$ なら$I_{ご主人}=1, I_{女将さん}=0$、逆に$\theta = 女将さん$ なら$I_{ご主人}=0, I_{女将さん}=1$ となります。$P(\theta)$ は事前確率 (prior) ですね。これは、みなさんが勝手に決めていい、調理をしているのがご主人か女将さんかの予測確率です。

 たとえばK君はL君が1週間通う前は、いろいろな事情から$P(\theta=女将さん)=0.7$ だと思っていたとします。L君はK君に、1週間通ったとき肉5魚2だったということを話します。その情報を知った時のK君の事後確率 (Posterior) は、上式に代入することで、


\begin{align}
P(\theta=女将さん|x) &= \frac{\binom{7}{5}[(\frac{4}{7})^{5}(\frac{3}{7})^{2}*0.3*0 + (\frac{1}{2})^{5}(\frac{1}{2})^{2}*0.7*1]}{\binom{7}{5}[(\frac{4}{7})^{5}(\frac{3}{7})^{2}*0.3 + (\frac{1}{2})^{5}(\frac{1}{2})^{2}*0.7]}\\
&= 0.620
\end{align}

 と求められます。最初は女将さんが調理してた確率は70%だと思っていたのに、L君から情報をもらってその確率を62%に更新したわけですね。

 まぁ僕は特にどっちが調理担当になりやすいかなんてわからないんで、事前確率$P(\theta=ご主人)=P(\theta=女将さん)=0.5$ で計算します。


\begin{align}
P(\theta=女将さん|x) &= \frac{\binom{7}{5}[(\frac{4}{7})^{5}(\frac{3}{7})^{2}*0.5*0 + (\frac{1}{2})^{5}(\frac{1}{2})^{2}*0.5*1]}{\binom{7}{5}[(\frac{4}{7})^{5}(\frac{3}{7})^{2}*0.5 + (\frac{1}{2})^{5}(\frac{1}{2})^{2}*0.5]}\\
&= 0.411
\end{align}

 L君の情報によって、女将さんが調理した確率は41%に下がりました。ってことはご主人が調理した確率は59%で、こっちの方が高いので、僕もご主人が調理した可能性の方が高いと推定します。推定結果の自信具合は、事後確率をそのまま使うことで、59%でこの推定は正しいと思います。

まとめのまとめ

  • 頻度論者は尤度推定、ベイジアンはベイズ推定をする
  • ベイズ推定では、推定結果の自信を事後確率で定量できる

終わりに

 今回扱った統計的推定の流れがわかるようになれば、だいぶベイズ統計学にも慣れてきたと言っていいんじゃないでしょうか。次は、より複雑な事象をモデル化するための共役確率分布 (Conjugate probability distribution) や、パラメーター評価のための予測分布 (Predictive distribution) のお話をします。