最小二乗法


最小二乗法は計測データの整理に使われる方法である。
n個のデータ(x1,y1),(x2,y2), .......(xn,yn)が得られたとする。 に最もフィットする直線をy=ax+bとすると、

でa,bが求められる。

以下詳しい解説が書いてあります。解説は上から順番に書いてありますが、適当に飛ばし読みしたいときは、以下をクリックしてください
最小二乗法の目的
最小二乗法の考え方
具体的な計算方法
一般的な場合

最小二乗法の目的

車が一定速度で動いているとする。それを測定して時間と位置との関係をグラフに表すと

となる。
しかし、実際は測定誤差があるので、こんなふうにきれいに並ぶことはない。

こんなふうに並んだものに対して、エイヤっと線を引いてしまうわけである。

そして、この直線の傾きから車の速度を求める。
この、エイヤっと引いた線を、人力ではなく、もうすこしもっともらしく計算で決定しましょうというのが最小二乗法という方法である。

最小二乗法の考え方

何かを、条件を変えながら測定して、データ(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)を得たとする。
本来、直線状に並ぶと思われるデータが、測定誤差のためばらついてこんなふうになったとしよう。

これに対して、もっともらしい直線y=ax+bを求めたい。

それでは、「もっともらしい直線」どういう直線だろうか?
各測定データと直線との差をdとする。

このとき

S=d12+d22+d32+d42

というSの値を最小にするような直線y=ax+bが「もっともらしい直線である」と考えるわけである。
直線y=ax+b、すなわちaとbの値を決めるのが最小二乗法の目的である。

具体的な計算方法

仮に直線を引いてみる。(もちろん、この段階では正解の直線はわからないので、これが正解の直線かどうかはわからないが、かまわない。)その直線を y=ax+b とする。この直線を使って差dを求める。

差d1は、図で、赤丸と黒丸の差であり、黒丸の座標を(x1,y1')とすると、黒丸は直線 y=ax+b の上に乗っているので、

である。よって、

となる。
他のものについても同様で、

となるので、Sは

となる。ここで

と置く。(これは測定データから計算できる量である。)
すると、Sは

となる。
A、B、C、D、Eは計測データから求められる定数なので、Sはaとbの関数と見なせる。

bを固定すれば、Sはaの二次関数の見なせるので、これをグラフ化すると

となり、最小値(a0)があるはずである。
同様にaを固定すればSはbの二次関数と見なせるので、これをグラフ化すると

となり、最小値(b0)があるはずである。
最小値を探すために微分して0と置く。

2で割って、結局

を連立させて、aとbを求める。
最初の式に4を、二番目の式にEをかけると

となるから、

となって、結局

を得る。 同様に、連立方程式の最初の式にEを、二番目の式にBをかけると

となるので

となり、結局

となる。
このようにしてもっともらしい直線y=ax+bのa、bが決まる。(Aは、計算には使わない。)

一般的な場合

上の例では、データの数は4つだったが、一般的な場合を求めてみる。
n個のデータ(x1,y1),(x2,y2), .......(xn,yn)が得られたとする。

を最小とするa,bを求める。
展開すると

となる。
ここで

である。
最小値を求めるためにSをa,bで微分して0と置くと

これを連立させて、aとbを求める。
結局

となる。
B,C,D,Eを元の式に直せば

このようにしてもっともらしい直線y=ax+bのa、bが決まる。(Aは、計算には使わない。)

具体的な計算

Excelで真面目に計算する
Excelで途中経過を飛ばして、一発で計算する
Excelで、とにかくグラフさえ出来ればいい場合


トップページへ