最尤推定法で母数を推定する


はじめに

最尤推定法による推定値が試行数を重ねるごとに真の値に近づいていくことを観察してみます。

目次

1.最尤推定法をとは
2.一致推定量とは
3.pythonでシミュレーション

1.最尤推定法とは

ベルヌーイ分布の真の平均を最尤推定法で推定する場合、推定値$\mu_{ML}$は

\mu_{ML} = \frac{1}{N} \sum_{i=0}^N x_i

のようになります。
少ない試行回数では過学習してしまうのが最尤推定法の欠点でした。
しかし、試行回数を重ねると真の値に近づいていくことを示します。
試行回数を重ねていくと母平均や母分散に近づいていく値を一致推定量といいます。
次説では$\mu_{ML}$が一致推定量であることを示します。

2.一致推定量とは

任意の$\epsilon>0$に対して、$\hat{\theta}_n$が

\lim_{n \to \infty} P(|\hat{\theta}_n - \theta| > \epsilon) = 0

を満たす時、$\hat{\theta}_n$を母数 $\theta$の一致推定量といいます。

ざっくりとした式の意味は、$\hat{\theta}_n$が一致推定量の時
「試行回数を無限に重ねると、$\hat{\theta}_n$と$\theta$の差が、とても小さい数$\epsilon$より大きくなる確率は0である。」といった感じです。

ベルヌーイ分布における最尤推定法による推定値$\mu_{ML}$が、母平均$\mu$の一致推定量であることを示していきます。
一致推定量であることを証明する時、チェビシェフの不等式

P(|Y - E[Y]| > \epsilon) \leq \frac{V[Y]}{\epsilon^2}

を使うと楽です。($Y$を$\mu_{ML}$に置き換えていくイメージ)

$E[u_{ML}]$は(チェビシェフの$E[Y]$に相当)

\begin{eqnarray}
E[\mu_{ML}] &=& E[\frac{1}{N}\sum_{i=0}^N x_i]\\
&=&\frac{1}{N}E[\sum_{i=0}^N x_i]\\
&=&\frac{1}{N}\sum_{i=0}^NE[x_i]\\
&=&\frac{1}{N} N u\\
&=&\mu\\
\end{eqnarray}

$V[\mu_{ML}]$は

\begin{eqnarray}
V[\mu_{ML}] &=& V[\frac{1}{N}\sum_{i=0}^N x_i]\\
&=&\frac{1}{N^2}\sum_{i=0}^NV[x_i]\\
&=&\frac{1}{N^2}N\sigma\\
&=&\frac{\sigma}{N}

\end{eqnarray}

となるので、上のチェビシェフの不等式の$Y$を$\mu_{ML}$に置き換えて

\begin{eqnarray}
P(|\mu_{ML} - E[\mu_{ML}]| > \epsilon) \leq \frac{V[\mu_{ML}]}{\epsilon^2} \\
&\Leftrightarrow& P(|\mu_{ML} - u]| > \epsilon) \leq \frac{1}{\epsilon^2} \frac{\sigma}{N}\\
\end{eqnarray}

右辺は$N→\infty$で$0$になるので

\lim_{n \to \infty} P(|\mu_{ML} - \mu| > \epsilon) = 0

が成り立ちます。
よって$\mu_{ML}$は$\mu$の一致推定量です。

3.pythonでシミュレーション

2で$\mu_{ML}$は$\mu$の一致推定量であること、つまり$N→\infty$で$\mu_{ML}$が$\mu$に一致することが示されました。
pythonでシミュレーションした結果は以下のようになりました。

横軸は$N$、縦軸は$\mu_{ML}$で紫色の線が母平均$u$です。
最初は荒い予測ですが、$N$が増えていくごとに値が$\mu$に近づいていくことがわかりました。
コードは以下に挙げておきます。
コード:https://github.com/kthimuo/blog/blob/master/ml_Bernoulli_plot.py

以上です。
ご指摘があればコメントをお願いします。