今までいろいろな記事で線形回帰分析の解説をしたが、この時は最小二乗法を用いたものだった。
最尤法を使ってもできるので、今回はその計算を紹介したい。
以下の4ステップに従って進めていく。
①データを集める
まずは使用するデータを決める。
色んな記事に使っているこのデータを今回も使用することにする。
(説明変数) |
1 | 2 | 3 | 4 | 5 |
(被説明変数) |
2 | 6 | 6 | 9 | 6 |
グラフにするとこんな感じ。最小二乗法で求めた回帰直線の値も載せている。これが最尤法でどうなるかを見ていくことにする。
②モデルを作る
モデルを作る、というと大げさに感じるが、決めるべきことは
①xとyの関係式
②誤差の分布
の二つである。今回は線形近似なので
①の単回帰直線で表される
②誤差は回帰直線から分散の分布を持つ
ということにする。このモデルの自由度が最尤法のいい所だと思っている。
③尤度関数を作る
今回のモデルに従うと、それぞれのが誤差の正規分布に従った確率度密度関数に従うことになる。
これにそれぞれのを当てはめると、各データ点の確率密度を求めることが出来る。
ただこの式よく見ると、分布を決めているのはだけなので
は全て同じ確率密度関数に従う、と変換することも出来る。
このプロットではすべて同じ確率分布上で示すことが出来るので、やや見やすくなる。
それぞれのデータ点の確率密度はこうなる
これを掛け合わせたものが尤度関数となり、の3つの変数を持った関数になる。
頑張って式を整理するとこうなる
やや省略した形ではあるが、これが尤度関数である。
④尤度を最大化する
いよいよ最後に尤度関数を最大化して、パラメーターを求める工程になる。
このの値を変えてこの尤度関数をグラフにしてみると、常にが最小になるとき、尤度関数Lが最大になることが分かる。
となり、これを最小化すればよいという事は、最小二乗法と全く同じ計算をすればよいことになる。
この計算方法は参考サイト様等を見て頂くとして、ここではaとbの値を変化させて、となる点を図時することにする。
図の通り、、の時にが最小になり、尤度関数を最大化する回帰直線は
と最小二乗法と全く同じ値が得られることになる。