• ベストアンサー

最尤法で回帰直線の傾きと切片を求めるには?

今回、業務で初めて回帰直線を扱うことになりました。 大昔に最小二乗法で回帰直線を描くプログラムを書いたのですが、今回はお客様より最尤法を適用できませんか?と言われています。 インターネットで調べてみたのですが、中々思うような情報を得ることが出来ません。 最尤法で回帰直線の傾きと切片を求める方法又は、プログラムが説明されているwebサイトや書籍はありませんでしょうか? ちなみに、最尤法自身もあまり理解できていませんので、こちらの参考文献も教えていただけるとうれしいです。 統計については、初心者ですので、的外れであればご指摘ください。

質問者が選んだベストアンサー

  • ベストアンサー
  • goma_2000
  • ベストアンサー率48% (62/129)
回答No.1

最尤法とは最も尤もらしいパラメータを求める方法です。 尤もらしい度合いを尤度といい、確率分布で表します。 簡単な例で、正規分布の場合 p=Aexp((f(x)-y)^2/2σ)  Aは規格化定数、σは分散 f(x)は回帰式 あるyが与えられた時、その値が尤もらしいためには 回帰式f(x)のパラメータはなんですか?ということです。 与えられたデータの尤度が最大になるようにパラメータ を計算しますが、通常は対数を取って対数尤度を最大化 します。この対数尤度は  Σlog(p)=Σlog(A)-Σ(f(x)-y)^2/2σ  Σはデータに対して取る となり、定数項を除き、σが一定(データに依存しない)とすると これを最大化するのは第二項を最小化することになり、通常の 最小二乗法と同じになります。 正規分布以外の場合にはこの限りではありません。これは 想定している確率分布に依存します。正規の場合には線形方程式 として解けますが通常は非線形の最適化を行ないます。 参考サイトを以下に挙げて起きます http://hosho.ees.hokudai.ac.jp/~kubo/ce/IntroductionMle.html http://www.is.titech.ac.jp/~shimo/class/doc/lec20021121.pdf http://aoki2.si.gunma-u.ac.jp/lecture/mb-arc/arc013/168.html 最尤法 回帰でググレば他にも色々でてきますよ。

kazuhirox
質問者

お礼

goma_2000さん、回答ありがとうございました。 理解し切れていないところがありますが、分散が一定ならば(正規分布ならば)、最尤法は最小二乗法に等しいと言うことは認識しました。 今、依頼されている仕事のデータの母集団が正規分布かどうか分かりませんので、調べてみます。 もし、正規分布で無いときは、適用するモデルの検討で再度質問させていただくかもしれませんが、よろしくお願いします。

その他の回答 (1)

回答No.2

私も統計については初心者ですが、回答してみます。 まず、  回帰直線を y = ax + b とする。  このとき、実現値 (x0,y0) と実際の y との差、つまり   (a x0 + b) - y0  は、平均値0、標準偏差σの正規分布に従う。 と予測すれば、最小二乗法と同じ結果になることは、#1さんがご指摘の通りです。 しかし私は、一般的には a が無限大に近い値もとり得るのではないか、と思い、 それで、このように予測してみました。  回帰直線を (cosθ)x + (sinθ)y = r とする。  このとき、この直線と点(x0,y0)との距離を d とすると、   d = (cosθ)x0 + (sinθ)y0 - r  である。この d は、平均値0、標準偏差σの正規分布に従う。 この予測の場合、母数は θ,r,σ の3つです。 そして、確率密度関数は、 f(x,y,θ,r,σ) = ( 1 / √(2π)σ ) e^{ -{(cosθ)x0 + (sinθ)y0 - r}^2 / 2σ^2 } となります。この式より尤度関数は log L(θ,r,σ) = Σ[k=1~n] { -{(cosθ)xk + (sinθ)yk - r}^2 / 2σ^2 } - (1/2)log(2π) - logσ } となり、 (∂/∂θ) log L(θ,r,σ) = Σ[k=1~n] {(cosθ)xk + (sinθ)yk - r}{(sinθ)xk - (cosθ)yk / σ^2 } = 0 (∂/∂r) log L(θ,r,σ) = Σ[k=1~n] {(cosθ)xk + (sinθ)yk - r} / σ^2 = 0 (∂/∂σ) log L(θ,r,σ) = (略) の連立方程式を解けばいいわけです。 実際に解くと、第二式より、 r = (1/n)(cosθ)Σxk + (1/n)(sinθ)Σyk これを第一式に代入して計算すると、 (1/2)(sin2θ){ Σxk^2 - Σyk^2 - (1/n)(Σxk)^2 + (1/n)(Σyk)^2 }  + (cos2θ){ (1/n)(Σxk)(Σyk) - Σxkyk } = 0 となりますので、この式からθが求まり、その結果から r と σ も求まります。 Excel で実験したところ、最小二乗法と幾分違う回帰直線が求まりました。 母集団がどんな分布に従うかが、一番重要なようですね。

kazuhirox
質問者

お礼

kts2371148さん、回答ありがとうございました。 回帰直線を別の表現にすると、傾きと切片が異なってくるのですか。 なんだか、不思議な感じもします。 (すみません、数学的な素養が無くて・・・) やはり、母集団の分布の仕方が重要なのですね。 ウィキペディアで調べたら、正規分布は「"多数派"という訳ではない」と書いてあったので、今回も正規分布で無いかもしれません・・・。

関連するQ&A