■最小2乗法

◇2乗誤差の考え方◇

 右図1のような幾つかの測定値 (x1 , y1) , (x2 , y2) , … , (xn , yn) の近似直線を求めたいとする.

 近似直線との「誤差の最大値」を小さくするという考え方では,図2において黄色ので示したような少数の例外的な値(外れ値)だけで決まってしまい適当でない.

 各測定値と予測値の「誤差の総和」が最小になるような直線を求めると各測定値が対等に評価されてよいが,誤差の正負で相殺し合って消えてしまうので,「2乗誤差」が最小となるような直線を求めるのが普通である.すなわち,求める直線の方程式を
y=px+q
とすると,
E(p , q)=(y1 - px1 - q)2+(y2 - px2 - q)2+…
が最小となるような係数 p ,q を求める.
Σ記号で表わすと

E(p , q)=(yk - pxk - q)2

が最小となるような係数 p ,q を求めることになる.
 2乗誤差が最小となる係数 p ,q を求める方法を「最小2乗法」という.また,このようにして求められた直線 y=px+q を「回帰直線」という.
図1
図2

◇最小2乗法◇

 3個の測定値 (x1 , y1) , (x2 , y2) , (x3 , y3) からなる観測データに対して,2乗誤差が最小となる直線 y=px+q を求めてみよう.
E(p , q)=(y1 - px1 - q)2+(y2 - px2 - q)2+(y3 - px3 - q)2

=y12+p2x12+q2 - 2py1x1+2pqx1 - 2qy1

+y22+p2x22+q2 - 2py2x2+2pqx2 - 2qy2

+y32+p2x32+q2 - 2py3x3+2pqx3 - 2qy3

=p2(x12+x22+x32) - 2p(y1x1+y2x2+y3x3)+2pq(x1+x2+x3)

- 2q(y1+y2+y3)+(y12+y22+y32)+3q2



※ 右のように考えると

2p(x12+x22+x32) - 2(y1x1+y2x2+y3x3)+2q(x1+x2+x3)=0
2p(x1+x2+x3) - 2(y1+y2+y3)+6q=0

の解 p ,q が,回帰直線 y=px+q となる.

 一般に,データが n 個の場合についてΣ記号で表わすと, p ,q の連立方程式

p(xk2)+q(xk)=(xkyk)  …(1)

p(xk)+nq=(yk)  …(2)

の解が回帰直線 y=px+q の係数 p ,q を与える.


 一般に E=ap2+bq2+cpq+dp+eq+f  (a,b,c,d,e,f は定数)で表わされる2変数 p,q の関数の極小値は

==0 …(*)
 すなわち,
連立方程式 2ap+cq+d=0 , 2bq+cp+e=0
の解 p , q から求まり,これにより2乗誤差が最小となる直線 y=px+q が求まる.
(上記の式 (*) は極小となるための必要条件であるが,最小2乗法の計算においては十分条件も満たすことが分かっている.)

◇表計算ソフトでの数値計算◇

 上では,最小2乗法や回帰直線の数学的な側面について述べたが,表計算ソフトや統計処理用のソフトでは,測定値から回帰直線を求める手続きが自動化されている.

 Excelにおいて,右の図3のような測定結果から「散布図」「回帰直線」「回帰直線の方程式」を求めるには,

(1) A1:B6の範囲を選択し,グラフメニューから散布図を描く.
(2) 次に,描かれた点の1つを右クリックし,近似曲線の追加→線形近似を選ぶと回帰直線が描かれる.
(3) さらに,描かれた直線を右クリックし,近似曲線の書式設定→オプション→グラフに数式を表示するを選ぶ.


※回帰直線の方程式や回帰直線を用いた予測値だけが必要なときは,
1) 関数 SLOPE(既知のy:右図ではB2:B6 , 既知のx:右図ではA2:A6) により傾き 0.4366 が得られる.
2) 関数 INTERCEPT(既知のy:右図ではB2:B6 , 既知のx:右図ではA2:A6) により切片 0.6747 が得られる.
3) 新しいxの値(例えばx=18.5)に対するyの予測値(回帰直線上のyの値)は,TREND(既知のy,既知のx,新しいx,1) で得られ 8.752 となる.
図3
  A B
1 x y
2 11.5 5.1
3 12.3 7.3
4 15.7 6.5
5 17.5 8.0
6 19.1 9.7

 問 

 右の測定値から,「散布図」「回帰直線」「回帰直線の方程式」を求めよ.[ Check ]


x y
2.3 10.2
3.5 9.7
4.6 16.2
6.8 14.6
8.1 17.9

◇連続関数における最小2乗法◇

 連続関数についても同様に考えることができ,区間 axb において
E(p , q)= (f(x) - px - q)2dx

が最小となる 係数 p ,q を求めることができる.
 これは,右図4において黄色で示した部分について,誤差の2乗の定積分が最小となる直線を求めることに対応している.

 上で解説した離散的なデータに準じて求めると,次のような計算になる.
E(p , q)= (f(x) - px - q)2dx

=f 2(x)dx+p2x2dx+q2dx - 2pxf(x)dx

+2pqxdx - 2qf(x)dx


p , q で偏微分することにより,

(=) px2dx+qxdx=xf(x)dx  …(1)

(=) pxdx+(b - a)q=f(x)dx  …(2)

図4

 区間 0x1 における関数 y=x2 の回帰直線を求めると,

左の(1)より p+q= …(1)

左の(2)より p+q= …(2)

 これを解いて,p=1 , q= - が得られ,回帰直線の方程式は

y=x -
となる.
 問 

 区間 - 1x1 における関数 y=x3 の回帰直線の方程式を求めよ.[ Check ]


○===メニューに戻る