• ベストアンサー

最小自乗法

実験結果をグラフにプロットしたところ、二次関数のような形になりました。 ここで Y=aXX+bX=c とおいたとき、最小自乗法から a,b,cの値を求めるにはどうしたら いいのでしょうか?

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

  • ベストアンサー
noname#259682
noname#259682
回答No.6

【基本的な考え方】 ・二つの変数(x , y)の観測値がn組み得られてて、 その関係が y = ax^2 + bx +c と言う式で関係 付けられる時、n組の値を x と y を関係付ける 式の代入して、観測値yと x と y を関係付ける式  で得られる値との差を記すと e1 = y1 - ( ax1^2 + bx1 + c ) e2 = y2 - ( ax2^2 + bx2 + c ) : : : : : : : en = yn - ( axn^2 + bxn + c ) ・これらの、二乗和を求めると E = e1^2 + e2^2 + + en^2 ・この E を最小にする、(a , b , c )を求めるのが ご質問の回答ですね。 【具体的な手順】 ・上に記した方向付けで、手順を示します。 (Σの範囲は、1~n です。) E=Σ(yi-(axi^2 + bxi + c))^2 ・Eを最小にする a,b,c を求めるには、上の式を a,b,c で偏微分して極値を求めます。 ∂E/∂a=-2Σxi^2(yi-(axi^2 + bxi + c)) ∂E/∂b=-2Σxi(yi-(axi^2 + bxi + c)) ∂E/∂a=-2Σ(yi-(axi^2 + bxi + c)) ・上の三つの式から次の連立方程式が得られます。 aΣxi^4 + bΣxi^3 + cΣxi^2 = Σxi^2yi aΣxi^3 + bΣxi^2 + cΣxi = Σxiyi aΣxi^2 + bΣxi + cΣ = Σyi ・この解が、求める a,b,c です。 さて、参考になったでしょうか?

inversezero
質問者

お礼

はい、とても参考になりました。一次式の傾きと切片を求める公式は解ったのですが、二次以上となるとさっぱりわからなかったので、今回非常に勉強になりました。ありがとうございます。

その他の回答 (5)

noname#21649
noname#21649
回答No.5

プログラムが既に出ているので.手計算の方法を 3点を使って方程式を立てて.あ、b、cを求めます。 これを初期値として.他の点すべてで計算上のYと実際のYの差を求めま.全体の2情話をけいさんします。 あ、b、cの値を適当に変化させて.全体の2情話が少なくなる点を求めます。 まあ.答え一発カシオミニを使って計算すると.キーボートの修理時間を除いて.1ヶ月くらい.連日連夜キーボードをたたきつづけると.適当な答えが求まります。「適当に変化」させる方法にはいろいろ有ります。非線型最小二乗法の本を読んでください。東京大学出版界の本(UPおうようせんしょ)が結構わかりやすいです。

inversezero
質問者

お礼

「あ」は「a」,「2情話」は「自乗和」のことですよね?丁寧な解答ありがとうございました。

  • iykm
  • ベストアンサー率22% (5/22)
回答No.4

念のため、7行目と8行目の間にも、 ______Y1 = 0.0D0 を入れてください。

inversezero
質問者

お礼

今回は質問が曖昧だったためか、少しもとめていたものとはちがっていますが、 お忙しい中解答して下さって真にありがとうございます。

  • iykm
  • ベストアンサー率22% (5/22)
回答No.3

______IMPLICIT REAL*8(A-H,O-Z) ______X4 = 0.0D0 ______X3 = 0.0D0 ______X2 = 0.0D0 ______X1 = 0.0D0 ______X2Y = 0.0D0 ______XY = 0.0D0 ______N = 0 __100 WRITE (*,*) 'X,Y? ( End = Ctrl+D )' ______READ (*,*,END=200) X,Y ______X4 = X4 + X**4 ______X3 = X3 + X**3 ______X2 = X2 + X**2 ______X1 = X1 + X ______X2Y = X2Y + X*X*Y ______XY = XY + X*Y ______Y1 = Y1 + Y ______N = N + 1 ______GOTO 100 __200 A = (X3*(X1*Y1-N*XY)-X2**2*Y1+X2*(X1*XY+N*X2Y)-X1**2*X2Y) _____& /(X4*(X2*N-X1**2)-X3**2*N+X2*(2*X3*X1-X2**2)) ______B = -(X4*(X1*Y1-N*XY)+X3*(N*X2Y-X2*Y1)+X2*(X2*XY-X1*X2Y)) _____& /(X4*(X2*N-X1**2)-X3**2*N+X2*(2*X3*X1-X2**2)) ______C = (X4*(X2*Y1-X1*XY)-X3**2*Y1+X3*(X2*XY+X1*X2Y)-X2**2*X2Y) _____& /(X4*(X2*N-X1**2)-X3**2*N+X2*(2*X3*X1-X2**2)) ______WRITE (*,*) 'A =',A ______WRITE (*,*) 'B =',B ______WRITE (*,*) 'C =',C ______END 飲み会帰りの酔い覚まし中ですが作ってみました。Fortran です。 先頭の下線_は空白に置き換えてください。

  • siegmund
  • ベストアンサー率64% (701/1090)
回答No.2

最小自乗法の質問は過去たくさんありますので, 質問検索で検索してみてください. http://oshiete1.goo.ne.jp/kotaeru.php3?q=92718 http://oshiete1.goo.ne.jp/kotaeru.php3?q=24627 あたりは重要です. 質問の Y = aX^2 + bX + c  (ですよね) は最も基本的な形です. 大学初年級の物理実験書などには大抵載っています. たぶん,学生実験ですよね. 実験をやった後のデータ処理で,最小自乗法は基本中の基本です. これからいくらでも出てくる事項ですので, この際適当な本で基本からマスターされるようにおすすめします. Excel なら一発,というのは pm-770c さんおっしゃるとおりですが.

inversezero
質問者

お礼

一日でも早く最小自乗法を使いこなせるように頑張ります。具体的な指導に とても感謝しています。ありがとうございました。

  • pm-770c
  • ベストアンサー率43% (351/803)
回答No.1

もし、Excelがあるなら簡単に出来ます。

inversezero
質問者

お礼

おっしゃる通りですね。的確な助言ありがとうございます。

関連するQ&A

  • 最小二乗法の応用について

    実験により、xに対するyの値をxの値をかえながら、N回測定した。測定したxに対するyの関係をグラフに描くと、次の二次関数で表現するのが適当であることがわかった。 y=ax*x+bx+c この時、最小二乗法によりパラメータa、b、cの値を求める式を導出せよ。という問題なのですが、どのようにしたら最小二乗法で求めることができるのですか? どうか教えてください

  • 指数関数のまま最小自乗法を適応し、推定量を求める

    y=ae^bxにおいて 指数関数のまま、最小自乗法を適応して係数の推定量 a" b" を求めよ。 ただし、それぞれ初期値を13.52、1.544とし、ニュートン法を用いて求めよ。 がわかりません。 解説をお願いします。

  • 最小自乗法

    ダイオードの電圧-電流特性を実験しました。 実験よりIdとVdを出して、log(Id)-Vd特性の図をグラフにしました。 このグラフと最小自乗法を使って実験定数mと逆方向飽和電流Isを求めたいのですが・・・式は整流方程式のId=Is{exp(eVd/mKT)-1}です。Kは1.381*10~-23でTは300[k]です。いろいろわからないことだらけなので簡単に教えていただくとありがたいです。質問が不十分でしたらいってください。

  • 最小自乗法の公式の覚え方

    原価計算で出てくる最小自乗法の公式がなかなか覚えられません。 語呂合わせ等含め、覚えやすい覚え方がありましたら、教えてください。 ※参考 最小自乗法の公式 X=営業量、Y=原価、n=サンプル数であるとき、 求める変動費をa、固定費をbと置くと、 ΣY=aΣX+nb ΣXY=aΣX^2+bΣX が成り立つ。

  • 最小二乗法について

    xは操作条件で、yは実験結果のプロットに対して、 最小二乗法でy=ax+bという回帰直線を引きました。 すると、aとbでは、aのほうが信頼性があるというのですが、 これはどういうことなのでしょうか?

  • 最小二乗法での指数関数の計算

    最小二乗法での指数関数の計算 最小二乗法での指数関数の計算方法が良く分からないのですが公式などありますか? y=ae^bxでしたらやり方があるのですがy=ae^bx+cの方法がわかりません・・・・・・

  • 最小二乗法とデータのばらつきを除去

    実験データに最小二乗法を適用して近似関数(y=ax+b)を求めたいです。 しかし,実験データにはばらついた値があり,得られた近似関数も それらの値によって,おおきくずれてしまいます。 そこで,何らかの方法でばらついた値を排除していき, 信頼できる近似関数を求めたいと思います。 聞いたところ,正規分布か何らかの方法で, 信頼区間(95%)以外のデータを除去すれば良いと のことですが,具体的な方法が分かりません。 実験データyi,xiと最小二乗法でy(=a*xi+b)から どのような処理をすればよいのか教えてください。 よろしくお願いします。

  • オームの法則 最小二乗法

    オームの法則の実験で図を書く際に最小二乗法を書こうと思います。その時、最小二乗法の関数を Y=aX と置いたのですが、これはオームの法則の実験をする前から比例の関係にあることをわかっていたことになってしまいます。レポートの原理にはV=IRと書いてあるのですが、やはりオームの法則を知らないものとして考え、関数をY=aX+b とおくべきでしょうか? 仮に置いた場合、切片が生まれ、x軸V、y軸Iとした時、V=0の時、Iが0でないことになると思います。これはなぜですか? また切片がマイナスとなる場合、グラフにはVを増加させて値が0を超えたところからかいてもよいのでしょうか? 教えてください。

  • 最小二乗法において

    y=ax^2+bx=c とおいたとき、最小自乗法から a,b,cの値を求めるには?という問題で、 S=Σ(yi-(axi^2 + bxi + c))^2 とおき、 ∂S/∂a=-2Σxi^2(yi-(axi^2 + bxi + c)) ∂S/∂b=-2Σxi(yi-(axi^2 + bxi + c)) ∂S/∂c=-2Σ(yi-(axi^2 + bxi + c)) となり、 aΣxi^4 + bΣxi^3 + cΣxi^2 = Σxi^2yi aΣxi^3 + bΣxi^2 + cΣxi = Σxiyi aΣxi^2 + bΣxi + cΣ = Σyi というとこまでは出来たのですが、ここから先と誤差の求め方がわかりません。 初心者なので出来ればわかりやすく教えて下さい。

  • 最小二乗法と有効数字

    先日学校の授業で実験をしました。実験で得られたデータを方眼紙にプロットすると、きれいな直線になりそうなグラフになりました。そこで最小二乗法をつかってグラフの式を出したのですが、プロットしたグラフと全然合わないものになってしまいました。計算中に桁数を合わせるために有効数字を揃えて計算しました。先生に有効数字を揃えてはいけないといわれたのですが、その理由がわかりません。どなたか教えてください。