単回帰分析

トップページ研究分野と周辺システムの評価

身長xと体重yのように、関連のある二つの変量があり、サンプルデータとしてxとyの組が複数得られているとする。これらのデータに基づき、例えば、新たな身長x1が分かったとき、対応する体重y1を予測したい。このような予測を可能にする方法が単回帰分析である。

回帰直線

図のように(仮に)三つのデータがあり、其々のX座標、Y座標が分かっているとする。
第四のデータのX座標が分かったとき、過去の三つのデータから第四のデータのY座標を予測したい。
仮に三つのデータが一直線上に並んでいたら、その直線の方程式を求めれば、第四のデータの位置の予測にそのまま使える。
しかし、この例では三つのデータは一直線上には無いので、完全な予測を与える式は立てられない。
そこで、この三つのデータを代表する直線を求め、それで第四のデータを予測する事を考える。
代表する直線とは右図のように、既に分かっているデータのX座標の位置で、その直線までのY軸方向の距離(d1~d3)の総和が最も小さい線とする。
このような直線が回帰直線で、未知のデータの予測に最も確からしい答えを出せる事が期待出来る。

最小二乗法

回帰直線の求め方はいくつかあるが、ここでは最小二乗法によって求める。回帰直線をy=ax+bと置き、aとbを求めればよい。ax+b-y=0と変形する。
既知のデータ(ここでは三つ)を通り、Y軸に平行な直線と回帰直線の交点を(x1,y1)、(x2,y2)、(x3,y3)と置く。
x1,x2,x3は各データのX座標と同じだから、最小にしたい距離の総和Dは、|y1-5|+|y2-7|+|y3-6|となる(引く数字は其々のデータのY座標)。

絶対値があると計算がやりにくいので、自乗の和にすると(1)式になる。
求めたいのは回帰直線の係数a、bなので、(1)式をa、bに関する式に変えたい。y1,y2,y3はax+b-y=0の回帰直線に乗っている点なので、y1=ax1+bとして代入出来る。従って、(2)式になる。
x1,x2,x3は各データのX座標と其々一致している(Y軸と平行に下ろしたから)ので、その値を代入すると(3)式になる。
これを展開して纏めると(4)式になる。

(4)式をa、bについて其々偏微分して=0と置く。Dはa、bの関数だから、双方の微分係数が0になるところに最小値がある。
偏微分は、∂(デル)という記号で分子の式を分母の変数で微分した事を示す(微分する変数以外の変数は定数として扱うので、微分する変数が含まれない項は0となる)。

この連立方程式を解くと、a=1/13、b=72/13となる。

単回帰分析

上記の例では、y=(1/13)x+72/13という回帰式(回帰直線を表す)が求まった。これで新たなxが分かれば、対応するyも求まる。
予測値を得たい方の変数yを「目的変数」、そのために代入する方の変数xを「説明変数」と呼んだりする。
このような分析方法を、単回帰分析という。

n点の単回帰式

最初の例では、3点のサンプルを元に回帰直線を引いて、ここでは一般化してn点のサンプルからy=ax+bを求める方法を調べる。
サンプルの座標が(x1,y1)、(x2,y2)、・・・(xn,yn)であるとき、上記のDは以下の式で表される。

これを、aとbで其々偏微分した式を=0と置く。偏微分するために、aとbを以下のようにくくり出す。

偏微分は其々、a、b以外の文字は定数として扱う、くくり出した後のΣの部分も定数である。

其々=0と置いたので、以下のようになる(其々、2で割る)。

(2)式から、bについては以下のように求まる。

Σ記号が煩雑なので、平均値で置き換える。上にバーの付いたx、yを其々x1~xn、y1~ynの平均とすると、以下のようになる。

これで求めたbを表現すると、以下のようになる。

aを求めるため、連立方程式の解き方に従って、(2)に(1)と揃えるように係数を掛けて(1)から引き、bを消す。その前に(1)と(2)を平均値で簡単にしておく。aは以下のように求められる。

ところで、以下の図に示すような関係から、一番下の等式が成り立つ。x1~x6の総和は、xの平均×6に等しく、右側の図もy1~y6の総和は、yの平均×6に等しいので、面積はどれも等しい。図はn=6の例だが、いくつでも同じである。

aを上記の等式を利用して、変形する。分子は以下のようになる。これは、x1~xnと、y1~ynの共分散のn倍である。

分母は、同様の関係を利用して以下のようになる。これは、x1~xnの分散のn倍である。

結局、n点のx座標、y座標が分かっているときの、単回帰式y=ax+bの係数は、以下のようになる。aはxとyの共分散をxの分散で割ったものに等しい。

決定係数

回帰式y=ax+bが求まれば、新しいxの値が分かればこれに代入し、対応するyを計算(予測)する事が出来る。しかし、実際にはサンプルのy座標と、そのx座標を回帰式に導入して得られるy座標は少し異なる場合が多い。これを残差という。残差が小さいほど、良い回帰式と言える。

n個のサンプルがあり、i番目のサンプルの残差をd_iとする。このサンプルの予測値をハット記号の付いたy_i、実際の値をy_iとすると、残差は最初の行の式となる(差の総和を取ると相殺されるので、自乗の総和を取る)。
予測値は回帰式から得られたものだから、式に置き換えて二行目のようになる。

ここで、係数bを一つ消去する。b=yの平均-a×(xの平均)を代入して展開し、aの次数で揃える。

この後、x_iからxの平均を引く形、y_iからyの平均を引く形が出るように因数分解する。Σは定数aを外にくくり出せるから、以下の形になる。

ここで、回帰式を導出する所で求めたaを代入すると、以下のようになる。計算が煩雑なので、m、kのように置く。

この後、xとyの相関係数を持ち込むため、第1項を第2項の分母分子に掛ける。揃えると、残差dの2乗の総和は、1からxとyの相関係数の自乗を引いたものに、yの偏差の自乗の総和を掛けたものとなる。
相関係数の自乗が1(相関係数も1)であれば、残差はゼロとなり、完璧に予測(決定)可能な回帰式となる。相関係数の自乗が1に近いほど、残差の少ない良い回帰式と言える。
この相関係数の自乗は、「決定係数」と呼ばれている。