やまだです。
今回のテーマは「最小二乗法」ですが、回帰直線を求めるための方法という前提がありますので、よろしくどうぞ。
最小二乗法とは
最小二乗法とは、誤差の2乗の合計を計算して、それをもっとも小さくする直線を求めるものです。
ただ、これは一応の定義ではありますが、これだけ聞いてもわからないと思いますので、実際にやってみましょう。
収集したデータに最小二乗法を用いる
例えば、「運動量」と「食事量」の2つの要素から「体重」を予測するため、次の様なデータが得られたとします。
データ番号は5から96に飛んでますが、「データ数が全部で100あるうちの1部」が表になっているとイメージしてください。
では、このデータから、重回帰式を求めるために「最小二乗法」を用いるとどうなるのでしょうか?
重回帰式というのは次の様な式でした。
- 「y=ax+bz+c」
この式の意味は、yが従属変数、xとzが独立変数、aとbが偏回帰係数で、cが切片ということです。
そして、私たちは、データからx、zを知ることができます。ゆえに、それぞれのデータごとに値を代入して見ましょう。
予測式の計算
No1のデータを例にあげると、
- 運動量=100
- 食事量=200
なので、100をxに、200をzに代入して、「100a+200z+c」という形になりますね。
赤枠で囲った部分です。
なので、この作業を全てのデータに対して行うと以下の通りです。
しかし、これはあくまでも「予測式」です。つまり、この計算から求められる値は「予測値」にすぎません。その一方で、我々は、予測に対する「答え」を持っています。それがつまり「実測値」です。
そして、覚えているでしょうか?
最小二乗法は「誤差の2乗の合計を計算して、それをもっとも小さくする直線を求めるもの」でしたよね?では、「誤差」とは何かといえば、「予測値と実測値の差」です。ですから、データそれぞれに対して、「実測値-予測値」の計算をすることになるのです。
誤差の計算
では、誤差を求めるための計算を、再び、データ表に沿ってやってみることにします。
誤差を求める式は、
- 誤差=実測値(従属変数)ー予測値(予測式)
なので、実測値に55、予測値に先ほど求めた式を代入し、55-(100a+200z+c)となります。
予測しきの前には「-」の符号が付いているので、()内の符号は全て「-」に変わりますね。
したがって、誤差は赤枠で囲った部分の様に表現されます。
この作業を先ほど同様に、全てのデータに行います。
で、この式から求められた値がすなわちデータごとの「誤差」ということです。
誤差の大きさを求める
続いて、「誤差の大きさ」を求めます。
最小二乗法とは、「誤差の2乗の合計を計算して、それをもっとも小さくする直線を求めるもの」でした。つまり、各データごとに求めた式は、まだ「誤差」にすぎないということです。そのため、この「誤差」を二乗する必要があるということになります。
ということで、以下の表の様に誤差の式を( )で括り、2乗する形にしましょう。この形がデータそれぞれの「誤差の大きさ」ということになるからです。
これで、赤枠で囲った部分の式を全て合算し、その値が、「最も小さくなる値」を求めれば、それによりa,z,cの値も決まります。それが「最小二乗法」による回帰式の求め方というわけです。
ちなみに、その解は、線形台数と呼ばれる分野の演算によって求められるらしいのですが、ここではそれはやりません。最小二乗法の考え方だけ理解しましょう。
なぜ二乗するのか?
では、なぜ二乗するのでしょうか?
理由は、「従属変数-予測式」の答えが「マイナス」になる可能性があるからです。「-」の符号がつく「大きさ」はこの世に存在しません。従って、このままでは「大きさ」を比べることができないのです。よって、マイナスの符号を除外します。そうすれば、「2×2」も「(-2)×(-2)」も、答えは同じ「4」と、結果は同じです。そして、これは言い換えれば、「正方形の面積」を求めることと同義です。
正方形の面積の求め方は、「縦×横」です。
そして、「面積」というのは、「大きさ」ですよね?
だから、「誤差の大きさ」を比べると表現したのです。
参考書
①よくわかる統計法
②多変量データ解析法