- 締切済み
対数の最小ニ乗法のやり方を教えて下さい
実験データからグラフを出してそのグラフから式を導き出したいのですが見当がつきませんよい方法があったら教えて下さい多分対数の式になると思われるグラフなので対数の式の最小ニ乗法のやり方を知ってる方よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- stomachman
- ベストアンサー率57% (1014/1775)
片対数なら全くsiegmund先生の仰る通りです。 しかし、もし両対数で線形化される場合、すなわち: 「測定値x[n],y[n] (n=1,2,...)が与えられ、y[n]に含まれる誤差をε[n]とするとき yn=f(x[n])+ε[n] であり、ただしモデルfは、その対数ln(f)が未知のパラメータA,B,C..の一次式になっている、例えば ln(f(x[n])) =Aln(x[n])+Bx[n]+C (lnは自然対数) である。」 と表されるような場合(モデルの右辺はもっと項が多くても少なくても良い)、つまりこの例なら f(x[n]) = (x[n]^A)exp(B x[n]+C) (expは指数関数) ということになりますが、その場合には Y[n] = y[n]ln(y[n]) X1[n] = y[n]ln(x[n]) X2[n] =y[n] x[n] X3[n] = y[n] と置き換えて、 Y[n] =A X1[n]+B X2[n]+C X3[n]+誤差 という線形最小二乗法の問題を普通に解くと良いです。こうすれば手間をほとんど掛けずに非線形最小二乗法に近い性能を出すことが出来ます。 なぜなら、|ε[n]|<<y[n]のときには ln(f(x[n]))-ln(y[n]) = ln((y[n]-ε[n])/y[n]) = ln(1-ε[n]/y[n]) ≒-ε[n]/y[n] が成り立つからです。(|x|<<1のときln(1+x)≒xとなるのはグラフを描いてみれば分かります。) という訳で、「対数の式」というだけじゃ分かりません。予想されるモデルの式を具体的に補足していただければ、もうちょっとお手伝いできるかも知れません。(ちなみに上記の例のfは gamma-shaped functionと呼ばれる、良く出てくるモデルです。)
- siegmund
- ベストアンサー率64% (701/1090)
対数の式というのがよくわかりませんが, y = a log x + b のようなことですか? それなら,log x = u とおいて u を測定値と思いなおせば, y = au + b で,簡単な最小2乗法になりますが.... y = au + b の最小2乗法フィットなら 物理学の1月5日の質問 No.24627 の回答で yoichiro-ito さんが詳しく書かれています. うるさいこと言えば,生の x の測定値の Gauss 分布仮定と 対数をとった u = log x の Gauss 分布仮定は違うんですが 通常気にしません.