経済統計の使い方
統計初心者の社会人向けに、経済データの解説をしています。「まとめページ」をご覧くだされば、全体的な内容がわかると思います。
統計学・計量経済学

【計量経済学】最小二乗法の解法|行列計算を徹底解説

最小二乗法の計算は、エクセルでもできるので、系列を指定すれば結果は得られます。ただ、どのような仕組みになっているのかを知っておくのも重要です。

多くの教科書では、簡単に計算できる説明変数が一つの単回帰の例は載っていますが、説明変数が複数ある場合は、行列計算が必要なので、結果だけ載せている場合や載せていない場合が多いです。

この記事では、行列計算にあまりなじみがない人でも、だいたいどんなことをやっているかをわかるようにしたいと思います。

経済統計の使い方では、統計データの入手法から分析法まで解説しています。

統計学・計量経済学のまとめ 統計学に関するまとめのサイトです。 教科書 「回帰分析から学ぶ計量経済学-Excelで読み解く経済の仕組み」 回帰分...

重回帰式の行列表示

重回帰式は以下の形で書けます。

y=α+β1x1+β2x2+e

yと書いていますが、詳しく描くと添え字が必要でyiと表し、その中身は、変数の数をnとすると、y1,y2,ynになります。

これを行列表示で表すと以下になります。大きな違いは、行列Xの左1列は1だけで、定数項の部分を表します。

Y=Xb+e

これを要素を含めて描くと以下のことを表しています。

(y1y2yn)=(1x11x211x12x221x1nx2n)(αβ1β2)+(e1e2en)

係数の求め方

行列による最小二乗法の計算について解説します。必要なのは、転置行列の計算行列の微分に関する知識です。微分ですら難しいのに、さらに行列の微分が必要になり、難解です。こんなものか、ということでよいのではないかと思います。


被説明変数がY、説明変数がXである次の式を想定して、誤差の二乗和を最小にするようなパラメーターのベクトルbを求めます。


Y=Xb+e


残差の二乗和の計算

残差の二乗和eeと表すことができます。最小二乗法では、これを最小にする係数を求めます。

t=1net2=e12+e22+e32++en2=(e1e2e3en)(e1e2e3en)=ee

係数を求めるために、残差の二乗和をYxbで表します。

ee=(YXb)(YXb)

転置行列の性質((A+B)=A+B (AB)=BA )から、(YXb)=(Y(Xb))=(YbX)なので、以下の式が成り立ちます。

ee=(YbX)(YXb)=YYYXbbXY+bXXb

これを微分してゼロと置けばいいわけですが、式が結構長いですね。もう少しまとめることを考えます。YYは定数なので微分すれば消えます。bXXbは2次形式の微分が使えます。方針はYXXYを一つにまとめることです

YXXYを一つに

YXbの計算結果はスカラー(一つの数値)になります。その理由を説明します。

定数項を含むXの変数は3つなので、YXは(1×3)行列です。これにb(3×1)ベクトルをかけると一つの数値になります。一つの数値は1行1列の行列とみなせるので、転置しても同じ値になります。
つまりYXb=(YXb)です。

次に(YXb)のカッコを取ることを考えます。転置行列の性質と「転置行列の転置行列はもとの行列」であることを使えば、(YXb)=(Xb)(Y)=bXYとなります。つまり次の式が成り立ちます。

YXb=bXY

この式を使えば誤差の二乗和の式の第2項、第3項を一つにまとめることができます。

ee=YY2bXY+bXXb

これが誤差の二乗和です。これを最小化します。1階の条件はこの式をベクトルb で微分してゼロと置くことで求まります。

1次形式の微分

微分は次のように計算します。YYは定数なので消去されます。2bXYは、微分するベクトルbを転置したものに、定数ベクトル(XY)を後ろ側からかけた形(1次形式)となっています。
この形の微分では一般的に(ax)a=xが成り立ちます。この場合の微分の結果は2XYとなります。

2次形式の微分

また、bXXbについては、bXXについての2次形式の微分が使えます。この形の微分では一般的に(aXa)a=2Xaが成り立ちます。この場合の微分の結果は2XXbです。以上の結果、次の式が成り立ちます。

eeb=2XY+2XXb=0

この式からbを求めることができます。


b=(XX)1XY

分散共分散行列

分散共分散行列は、誤差項の各時点の分散とほかの時点との分散を計算したものです。
最小二乗法では、誤差の均一分散を仮定しています。e を残差ベクトルとすると、外積eeは次のように表せます。

ee=(e1e2e3en)=(e1e2e3en)(e12e1e2e1e3e1ene2e1e22e2e3e2ene3e1e3e2e32e2enen e1eTe2eTe3en2)

eeの期待値がeの分散共分散行列になります。均一分散を仮定しているので、E(eiej)=σ2(i=j)E(eiej)=0(ij) です。

b=(XX)1XY


=E(e12e1e2e1e3e1ene2e1e22e2e3e2ene3e1e3e2e32e2eneTe1eTe2eTe3en2)=(E(e12)0000E(e22)0000E(e32)0000E(en2))

=σ2(1000010000100001)=σ2I

最小二乗法による係数の期待値と分散

真の係数をβ、誤差をεとすると真の回帰式最小二乗法による回帰式の行列表示は次の通りになります。


Y=βX+ε

Y=bX+e 

最小二乗法による推定値 b は次式です。


b=(XX)1XY

期待値の計算

まずbの期待値を求めます。その準備として次の変形を行います。Y に真の係数と誤差の関係を代入して、βεを式の中に入れます。 A=(XX)1X とすると、bは次式で表されます。

b=AY=A(Xβ+ε)=AXβ+Aε=β+Aε

b の期待値を計算します。A=(XX)1X は、変数Xをいろいろ加工したものですが、定数です。定数は、期待値計算の外に出せるので、εの期待値を計算すればよいことになります。


E(b)=β+E(Aε)=β+AE(ε)=β   


つまり最小二乗法による推定値bの期待値は真のパラメーターに一致し、不偏性を持つことになります。

分散の計算

次に係数の分散を求めます。期待値の計算と同様 A=(XX)1Xとします。
誤差の分散(Var(ε) )をσ2とすると次式に変形できます。 Var(b)=Var(Aε)への変形は期待値の計算と同じです。


Var(b)=Var(β+Aε)=Var(Aε)=AVar(ε)A=A(σ2I)A


=(XX)1X(σ2I)((XX)1X)

転置行列逆行列の性質(AB)=BA(AA1)=(AA)1)を使うと、次式のように変形できます。

Var(b)=σ2(XX)1

順をおって式を追っていくと以下のようになります。

Var(b)=(XX)1X(σ2I)((XX)1X) 

(AB)=BA から、((XX)1X)=X((XX)1)になります。(AA1)=(AA)1から、X((XX)1)=X(XX)1になります。

=(XX)1X(σ2I)X(XX)1

σ2は定数で、どこに動かしてもいいので、最初に持ってきます。

=σ2(XX)1XX(XX)1

元の行列とその逆行列の積は単位行列になるので、XX(XX)1=Iとなります。


=σ2(XX)1

まとめ

行列計算による計算をまとめると以下になります。

係数は以下で表されます。

b=(XX)1XY

分散共分散行列はこれです。

b=σ2I

係数の期待値はこれです。

E(b)=β   

係数の分散はこれです。

Var(b)=σ2(XX)1

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA