最尤法についての疑問

最近、最尤法について考えることがあったのでこれについて少し書きます。特に資料を当たって書いているわけではないのでこれから書く内容は私の現時点での妄想です。。。

そもそも最尤推定の前に

最尤推定は簡単に言えばある確率モデルのパラメータを求める作業だと思います。そこで、最尤推定に入る前に確率モデルのパラメータを求めるというタスクのより簡単な例を考えてみたいと思います。

その例とは正規分布の母平均を求めるというタスクです。最尤推定について知ろうと思った人なら誰しも経験していることだと思います。正規分布のもと得られた標本(ある集団の身長とか)から、母平均を求めようとするとその推定値は標本平均です。

私達は意識しなくても例えば反復を取った実験データについて自然と標本平均を取っていると思います。これは実験誤差がおそらく正規分布していて、標本平均を取っておけば母平均(真の値)に近いと考えるからだと思います。この真の値に近いという基準はなんだというのが重要なことになると思います。その一つの基準が尤度の最大化です。

少し跳躍しますが、正規分布のもと、標本データ X = {x_1, x_2, ..., x_N} が得られる確率を求める式は以下のようになります。

 \prod_{i = 1}^{N} \frac{1}{\sqrt{2\pi}\sigma}\exp(-\frac{(x_i - \mu)^2}{2\sigma^2})

要は、各データは独立に得られたと考えられるので、それらの同時確率は各データ点が得られる確率の積で表されるということです。

ひとまず上記式の掛け算を足し算にしたいので、対数を取ってみたいと思います。ここで、重要なのは対数をとっても、もとの関数との大小関係は変わらないということです。また、  \sigma を今は定数と考えて無視します。すると、

 -\sum_{i=1}^{N}(x_i - \mu)^2

がでてきて、これが大きくなればもとの関数も大きくなると思います。ではこれを大きくするためには  \muをどのように設定するのが良いでしょうか。

証明はしませんが  \frac{1}{N}\sum_{i=1}^{N} x_i つまりは標本平均を設定すればこの式が最大になると言えます。直感的にもそうだと思えると思います。

したがって、もとの確率を表す関数を最大化するには  \mu に標本平均を当てはめれば良いことになります。もとの関数な何だったかといえば、標本データが得られる確率です。

これはつまり、尤度であり、最尤推定したことになります。

結局最尤推定とは

標本データを与える可能性が最も高いパラメータが良いパラメータという基準のもと推定を行うということなのだと思います。

求めるのはあくまでデータが得られる確率であり、パラメータが真の値である確率ではないのでややこしいとは思います(この点ベイズ推定の解釈はわかりやすい)。

ただ、平均を求める作業ももとをたどれば最尤推定をしていることを同じであるという意識を持っておくと最尤推定についての理解への取っ掛かりがつかめるかと思います。

正規分布最尤推定量は単なる標本平均なので最尤推定という言葉が持ち出されることがほぼないですが、基本はそうなのだと私は思っておくことにしています。

多項分布といったような他の分布になると、単に平均を取れば尤度を最大化するといった単純な話ではなくなるので、途端に最尤推定という単語が現れているだけと思っとくと少し楽に勉強できるかなと思います。