マサムネの部屋

ベイズの定理計算練習

ベイズの定理の定番の計算をすることで、ベイズの定理に慣れましょう。
分散が既知の状態で、正規分布の平均値を推定します。また、既にデータを持っているとして、新しく得られるデータを予測します。
ベイズ統計学入門記事はこちら。

ベイズ統計学入門
、ベイズの定理について解説し、具体例の計算をします。良くあるサイコロの問題と、正規分布を事前分布に仮定した時の事後分布のパラメーターを求めます。

もっと楽しい計算がしたい人はこちら。

スポンサーリンク

ベイズの定理復習

確率密度関数や確率質量関数の事を確率と呼んでしまいます。ベイズの定理を復習しましょう。
確率[mathjax]\(p(x,y)\)に対して、p(x), p(x|y)は以下で定義されました。
[mathjax]$$ \begin{eqnarray}
p(x) &=& \int_x p(x,y) dy \\
p(x|y) &=& \frac{p(x,y)}{p(y) }
\end{eqnarray}$$
ベイズの定理は次の式です。
$$ \begin{eqnarray}
p(x|y) &=& \frac{p(y|x)p(x )}{p(y) }
\end{eqnarray}$$

ベイズの定理による平均値の推定

次のような状況を考えたのでした。分散が既知の正規分布を考えます。さらに、平均値の事前分布にも正規分布を仮定します。この時、独立で、それぞれが同じ正規分布に従うデータ[mathjax] \(\mathbf{X}=(x_1, \cdots , x_N) \)を得たときに、平均値の確率はどうなるでしょうか、というのが問題です。計算をしやすくする為に、分散の逆数を使いましょう。
$$\begin{eqnarray}
p(x|\mu ) &=&\mathcal{N}(x|\mu, \lambda ^{-1}) \\
p( \mu ) &=& \mathcal{N}(\mu |m, \lambda_{\mu}^{-1})
\end{eqnarray}$$
から、ベイズの定理を用いて[mathjax]\( p(\mu |\mathbf{X} ) \)を求めます。確率になることはわかっているので、[mathjax]\( p(x) \) は明示的に分かっている必要が無い事に注意しましょう。
計算しましょう。
$$\begin{eqnarray}
p( \mu |x ) &\propto & p(x | \mu)p(\mu) \\
&=& \prod \frac{1}{\sqrt{2\pi} \lambda^{-1} } \exp(-\frac{1}{2} \lambda (x_i – \mu )^2 )
\frac{1}{\sqrt{2\pi} \lambda_{\mu} ^{-1} } \exp(-\frac{1}{2} \lambda _{\mu} (\mu – m )^2 )
\end{eqnarray}$$
[mathjax]\( \mu \)についての関数という事に注意して必要な箇所だけ計算します。また、[mathjax]\( \mu \) はexp の肩にしかいないので、log を取りましょう。必要な項についての計算を箇条書きします。
$$\begin{align}
\sum -\frac{\lambda }{2} (x_i – \mu )^2 + \frac{- \lambda _{\mu} }{2} (\mu – m )^2 \\
-\frac{\lambda}{2}(N\mu ^2 -2\sum x_i \mu) +\frac{-\lambda _\mu}{2}(\mu^2 -m \mu )\\
-\frac{1}{2} \{ (N\lambda +\lambda _\mu ) \mu ^2-
2 (\sum x_i \lambda +m \lambda _\mu) \mu \}
\end{align}$$
これを平方完成しても良いのですが、事後分布も正規分布[mathjax]\( \mathcal{N} (\mu |\hat{m}, \hat{\lambda}^{-1}) \)だと思うと以下の式と見比べればいい事が分かります。
$$\begin{align}
-\frac{1}{2} ( \hat{\lambda} \mu ^2 -2 \hat{m} \hat{\lambda} \mu )
\end{align}$$
以上より
$$\begin{eqnarray}
\hat{\lambda} &=& N\lambda +\lambda _{\mu} \\
\hat{m} &=& \frac{ \lambda \sum x_i + \lambda _{\mu} m}{\hat{\lambda}}
\end{eqnarray}$$
となり、前回の記事と同じ答えが出ました。

ベイズの定理によるデータの推定

ベイズ統計学の面白い所は、次に取得されるであろうデータの確率も計算出来る事です。以下で計算してみましょう。ベイズの定理から、[mathjax]\( p( \mu |x )= \frac{ p(x | \mu)p(\mu) }{p(x)} \)です。
$$\begin{align}
p(x) = \frac{ p(x | \mu)p(\mu) }{p(\mu |x)}
\end{align}$$
また正規分布になるのは予想できると思うので、logを取ってxに関係ある所だけ計算しましょう。
$$\begin{align}
-\frac{1}{2} \{ \lambda (x -\mu )^2 -(\lambda + \lambda _{\mu} ) (\mu – \frac{\lambda x + \lambda _{\mu} \mu}{ \lambda + \lambda _{\mu} } )^2 \}
\end{align}$$
頑張って計算すると、以下のようにまとまります。
$$\begin{align}
-\frac{1}{2} \{ \frac{\lambda \lambda _{\mu} } {\lambda + \lambda _{\mu} }x^2 -2 m \frac{\lambda \lambda _{\mu} } {\lambda + \lambda _{\mu} } x \}
\end{align}$$
こうして、[mathjax] \( p(x) = \mathcal{N}\left( x| m, \big( \frac{\lambda \lambda _{\mu} }{ \lambda + \lambda _{\mu} })\big) ^{-1} \right) \) であることが分かりました。
平均値は事前分布と一致しましたが、分散は事前分布+ 平均値の分布となりました。
計算しやすい為に分散の逆数を使っていましたが、分散に戻すとただの足し算になります。
$$\begin{align}
\frac{ \lambda + \lambda _{\mu} }{ \lambda \lambda _{\mu} } &=& \frac{1}{\lambda} +\frac{1}{\lambda _{\mu}} \\
&=& \sigma ^2 + {\sigma _{\mu} }^2
\end{align} $$

まとめ

・正規分布を正規分布でかけたり割ってもしても正規分布のまま。
・平均値には、事前分布の影響は小さい。
・平均値から出発して、xの分布を求めると、xの平均値は事前分布のものになる。
・分散は事前分布と平均値の分布の分散の足し算になる。