はじめに
この世の中に存在するデータは「正規分布」であることが多い、だとか、個数を表す分布は「ポアソン分布」が当てはまりやすいだとか言われていますが、どのようにして、分布を求めればよいでしょうか。
数式で表すと、ある確率分布(
は確率分布のパラメータ)があったとき、その確率分布に従う
を
を求めるということが実際にやりたいことになります。
その方法の一つとして「最尤推定」という方法があり、本エントリではそれについての学習をまとめます。
ちなみに最尤推定は以下と言われています。*1
統計学において、与えられたデータからそれが従う確率分布の母数を点推定する方法である。
わかったようなわからないような説明なので、まとめ直してみます。
解説
尤度: データと確率分布の当てはまり度
ここでは、「ある確率分布」を決めた上でデータに当てはめていく事を考えます。
例えばいま、以下のようなデータがあったとします。
,
で生成したデータ
いま、このデータが正規分布に従っている、ということだけわかっていたとして、一番良いを求めなくてはいけません。
当てずっぽうにいくつか描画してみると、(やや恣意的ですが)
のようになり、パッと見はのものがよりよく割りあたっているように見えます。
この割あたっている度合いを尤度といい、従う確率分布をとすると尤度関数は以下の様に表現されます。
これはデータを独立した事象と捉えて
(
は確率分布のパラメータ)の元で同時に発生する確率を考えています。
当てはまりが良い、ということはが大きい確率を返す点を多く含むはずなので、この尤度関数は大きな値を取るようになります。
最尤推定:データと確率分布がもっともよく当てはまる点の探索
では最も良い尤度を求めるにはどうしたら良いでしょうか。
数式で表すと以下のようになり、いろいろなに対してLが最大となるものを求めることになります。
先程のデータを利用して考えてみます。
いま、確率分布関数であるは正規分布なので、
です。
正規分布は次のように表されます。
これを尤度関数に入れると、
となります。
sigmaを固定値として考えると、の関数として考えられます。試しに図示してみると、いかのようになります。
ピッタリ4ではないですが、概ね4のあたりが最大値になっていることがわかります。
コンピュータ的にはを比較的簡単に考えることができるので、ある程度の幅で近似的に
を求めることができるかもしれません。
を0から0.01の幅で動かしていくとこの場合はargmax = 423となり、
となります。
(ちなみには
としています)
しかし、それでは数式的になぜを解決できないため、もう少し続けます。
先程の尤度関数を考えます。
ですが、見ての通りとても計算しにくいですが、logを取ります。これを対数尤度関数といいます。
(以下の式は、logの定義に従い、式の展開後のものとなります)
これはを固定してみると、
に関する2次関数で、係数がマイナスなので最大値は傾きがゼロの点で求めることができそうです。
ここで式を見るとが含まれているのは
だけなので、ここの傾きがゼロの点を考えます。
つまり、これは最小二乗法を解くのと同一である、ということです。
ちなみにも同様に求められますが、計算すると結局
となります。
まとめ
このエントリでは最尤推定について、正規分布のデータを用いてまとめてみました。
従っている確率分布さえ仮定できれば、比較的簡単にパラメータの点推定ができるようです。
私個人として「一般線形モデルの目的変数は正規分布に従う」というところが、あまりピンときていないところがあったのですが、こういう計算を背後で行っていることを考えると納得がいきました。やはりちゃんと数式を読むということは大切ですね。