プロが教えるわが家の防犯対策術!

二次関数の近似式を求めるために最小二乗法を用いると画像のような式を使うようなのですが、どうやって得られた式なのでしょうか?
式を導くまでの過程を詳しく教えて頂けないでしょうか?

「二次関数の近似式を求めるために最小二乗法」の質問画像

A 回答 (2件)

二次関数の近似式を


 y = a0 + a1*x + a2*x^2    ①
とおくのですよね?

これに、実際に観測された (x1, y1), (x2, y2), ・・・, (xn, yn) を当てはめて、「偏差の2乗の合計」(二乗偏差和)が最小となるように a0, a1, a2 を決めるというのが「最小二乗法」です。

「偏差」とは、観測された y1, y2, ・・・, yn と、①式から計算される(その曲線上にあればこうなるという値)
 y1' = a0 + a1*x1 + a2*(x1)^2
 y2' = a0 + a1*x2 + a2*(x2)^2
  ・・・
 yn' = a0 + a1*xn + a2*(xn)^2
との差です。

つまり

 二乗偏差和 S
= (y1 - y1')^2 + (y2 - y2')^2 + ・・・ + (yn - yn')^2
= [ y1 - (a0 + a1*x1 + a2*x1^2) ]^2 + [ y2 - (a0 + a1*x2 + a2*x2^2) ]^2 + ・・・ + [ yn - (a0 + a1*xn + a2*xn^2) ]^2     ②

です。
これを展開すれば、 (x1, y1), (x2, y2), ・・・, (xn, yn) は実際に観測された値なので「定数」であり、「a0, a1, a2 の2次式」になることは分かりますね?

この「a0, a1, a2 の2次式」である S を最小にする a0, a1, a2 を見つけるには
・S を極大または極小にする a0 は、∂S/∂a0 = 0 となる a0 である
・S を極大または極小にする a1 は、∂S/∂a1 = 0 となる a1 である
・S を極大または極小にする a2 は、∂S/∂a2 = 0 となる a2 である
ことを利用します。
この3つの連立式から、S を「極小または極大」にする a0, a1, a2 のセットが求まります。それが「極小」で、全区間で「唯一」なら「最小」ですから、それによって「S を最小にする a0, a1, a2 のセット」が求まることになります。
(偏微分がゼロになるのは「極小」であるための「必要条件」でしかありませんので(「極大」かもしれない)、本当に「極小」かどうかはきちんと確かめないといけません)

画像の式の真ん中の表記は、具体的に偏微分の計算するとこうなりますよ、というものが書いてあります。
実際にやってみれば、例えば②の第1項を展開すれば
  [ y1 - (a0 + a1*x1 + a2*x1^2) ]^2     ←③
= [ y1 - a0 - a1*x1 - a2*x1^2 ]^2
= -a0^2 - 2a0[ y1 - a1*x1 - a2*x1^2 ] + [ y1 - a1*x1 - a2*x1^2 ]^2  ←④ a0 と「それ以外」で展開
= -(a1*x1)^2 - 2(a1*x1)[ y1 - a0 - a2*x1^2 ] + [ y1 - a0 - a2*x1^2 ]^2  ←⑤ a1*x1 と「それ以外」で展開
= -(a2*x1^2)^2 - 2(a2*x1^2)[ y1 - a0 - a1*x1 ] + [ y1 - a0 - a1*x1 ]^2  ←⑥ a2*x1^2 と「それ以外」で展開
となるので、

④を a0 で偏微分すれば
 ∂④/∂a0 = -2a0 - 2[ y1 - a1*x1 - a2*x1^2 ] = -2[y1 - (a0 + a1*x1 + a2*x1^2)] ←③の二乗前(「偏差」そのもの)に「-2」をかけたもの
になるし、同様に
 ∂⑤/∂a1 = -2a1*x1^2 - 2x1[ y1 - a0 - a2*x1^2 ] = -2x1[y1 - (a0 + a1*x1 + a2*x1^2)] ←③の二乗前(「偏差」そのもの)に「-2x1」をかけたもの
 ∂⑥/∂a2 = -2a2*(x1^2)^2 - 2(x1^2)[ y1 - a0 - a1*x1 ] = -2(x1^2)[y1 - (a0 + a1*x1 + a2*x1^2)] ←③の二乗前(「偏差」そのもの)に「-2(x1^2)」をかけたもの
ということで、各々の項が式に書かれたようなものになることが分かると思います。

式は、外側から「ぼっと」見ているだけでは意味が分からないことが多いので、自分で「求めたいものを具体的に書き下してみる」ことをしてみてください。そうすると、途中経過としてそこに書かれている式が出てきて、その意味が「体感」できるはずです。
    • good
    • 1
この回答へのお礼

どうもありがとうございます!

お礼日時:2018/08/27 06:05

Sを実際に書き下してみましょう。


Sは D(x,y;a_0,a_1,a_2)=y-f(x) を全ての計測点(x_i,y_i)で二乗和を取ったものです。
それをa_0,a_1,a_2の関数と見たものがSで、Sが最小のとき誤差Dの二乗和が最小になるわけです。
Sは変数a_0,a_1,a_2の連続関数ですから、最小になるときには各変数での微分係数はゼロになります。Sを書き下して実際に微分してみれば画像の式になることが分かるでしょう。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!