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

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

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

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

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

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

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

重回帰式の行列表示

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

𝑦 =𝛼 +𝛽1𝑥1 +𝛽2𝑥2 +𝑒

𝑦と書いていますが、詳しく描くと添え字が必要で𝑦𝑖と表し、その中身は、変数の数を𝑛とすると、𝑦1,𝑦2,𝑦𝑛になります。

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

𝐘=𝐗𝐛+𝐞

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

⎜ ⎜ ⎜ ⎜ ⎜ ⎜𝑦1𝑦2𝑦𝑛⎟ ⎟ ⎟ ⎟ ⎟ ⎟ =⎜ ⎜ ⎜ ⎜ ⎜ ⎜1𝑥11𝑥211𝑥12𝑥221𝑥1𝑛𝑥2𝑛⎟ ⎟ ⎟ ⎟ ⎟ ⎟⎜ ⎜ ⎜𝛼𝛽1𝛽2⎟ ⎟ ⎟ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜𝑒1𝑒2𝑒𝑛⎟ ⎟ ⎟ ⎟ ⎟ ⎟

係数の求め方

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


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


𝐘=𝐗𝐛+𝐞


残差の二乗和の計算

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

𝑛𝑡=1𝑒2𝑡 =𝑒21 +𝑒22 +𝑒23 + +𝑒2𝑛 =(𝑒1𝑒2𝑒3𝑒𝑛)⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜𝑒1𝑒2𝑒3𝑒𝑛⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ =𝐞𝐞

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

𝐞𝐞 =(𝐘𝐗𝐛)(𝐘𝐗𝐛)

転置行列の性質((𝐀+𝐁)=𝐀+𝐁 (𝐀𝐁)=𝐁𝐀 )から、(𝐘𝐗𝐛) =(𝐘(𝐗𝐛)) =(𝐘𝐛𝐗)なので、以下の式が成り立ちます。

Erroneous nesting of equation structures

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

𝐘𝐗𝐗𝐘を一つに

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

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

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

𝐘𝐗𝐛=𝐛𝐗𝐘

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

𝐞𝐞=𝐘𝐘𝟐𝐛𝐗𝐘+𝐛𝐗𝐗𝐛

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

1次形式の微分

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

2次形式の微分

また、𝐛𝐗𝐗𝐛については、𝐛𝐗𝐗についての2次形式の微分が使えます。この形の微分では一般的に𝜕(𝐚𝐗𝐚)𝜕𝐚 =𝟐𝐗𝐚が成り立ちます。この場合の微分の結果は𝟐𝐗𝐗𝐛です。以上の結果、次の式が成り立ちます。

𝜕𝐞𝐞𝜕𝐛=𝟐𝐗𝐘+𝟐𝐗𝐗𝐛=0

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


𝐛=(𝐗𝐗)𝟏𝐗𝐘

分散共分散行列

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

𝐞𝐞 =⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜𝑒1𝑒2𝑒3𝑒𝑛⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ =(𝑒1𝑒2𝑒3𝑒𝑛)⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜𝑒21𝑒1𝑒2𝑒1𝑒3𝑒1𝑒𝑛𝑒2𝑒1𝑒22𝑒2𝑒3𝑒2𝑒𝑛𝑒3𝑒1𝑒3𝑒2𝑒23𝑒2𝑒𝑛𝑒𝑛 𝑒1𝑒𝑇𝑒2𝑒𝑇𝑒3𝑒2𝑛⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟

𝐞𝐞の期待値が𝐞の分散共分散行列になります。均一分散を仮定しているので、𝐸(𝑒𝑖𝑒𝑗) =𝜎2(𝑖 =𝑗)𝐸(𝑒𝑖𝑒𝑗) =0(𝑖 𝑗) です。

𝐛=(𝐗𝐗)𝟏𝐗𝐘


=𝐸⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜𝑒21𝑒1𝑒2𝑒1𝑒3𝑒1𝑒𝑛𝑒2𝑒1𝑒22𝑒2𝑒3𝑒2𝑒𝑛𝑒3𝑒1𝑒3𝑒2𝑒23𝑒2𝑒𝑛𝑒𝑇𝑒1𝑒𝑇𝑒2𝑒𝑇𝑒3𝑒2𝑛⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ =⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜𝐸(𝑒21)0000𝐸(𝑒22)0000𝐸(𝑒23)0000𝐸(𝑒2𝑛)⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟

=𝜎2⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜1000010000100001⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ =𝜎2𝐈

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

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


𝐘=𝛽𝐗+𝜀

𝐘=𝐛𝐗+𝐞 

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


𝐛=(𝐗𝐗)𝟏𝐗𝐘

期待値の計算

まず𝐛の期待値を求めます。その準備として次の変形を行います。𝐘 に真の係数と誤差の関係を代入して、𝛽𝜀を式の中に入れます。 𝐀=(𝐗𝐗)𝟏𝐗 とすると、𝐛は次式で表されます。

𝐛=𝐀𝐘=𝐀(𝐗𝛽+𝜀)=𝐀𝐗𝛽+𝐀𝜀=𝛽+𝐀𝜀

𝐛 の期待値を計算します。𝐀=(𝐗𝐗)𝟏𝐗 は、変数𝐗をいろいろ加工したものですが、定数です。定数は、期待値計算の外に出せるので、𝜀の期待値を計算すればよいことになります。


𝐸(𝐛) =𝛽 +𝐸(𝐴𝜀) =𝛽 +𝐴𝐸(𝜀) =𝛽   


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

分散の計算

次に係数の分散を求めます。期待値の計算と同様 𝐀=(𝐗𝐗)𝟏𝐗とします。
誤差の分散(𝑉𝑎𝑟(𝜀) )を𝜎2とすると次式に変形できます。 𝐕𝐚𝐫(𝐛)=𝐕𝐚𝐫(𝐀𝜀)への変形は期待値の計算と同じです。


𝐕𝐚𝐫(𝐛)=𝐕𝐚𝐫(𝛽+𝐀𝜀)=𝐕𝐚𝐫(𝐀𝜀)=𝐀𝐕𝐚𝐫(𝜀)𝐀=𝐀(𝜎𝟐𝐈)𝐀


=(𝐗𝐗)𝟏𝐗(𝜎𝟐𝐈)((𝐗𝐗)𝟏𝐗)

転置行列逆行列の性質(𝐀𝐁)=𝐁𝐀(𝐀𝐀𝟏)=(𝐀𝐀)𝟏)を使うと、次式のように変形できます。

𝐕𝐚𝐫(𝐛) =𝜎𝟐(𝐗𝐗)𝟏

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

𝐕𝐚𝐫(𝐛) =(𝐗𝐗)𝟏𝐗(𝜎𝟐𝐈)((𝐗𝐗)𝟏𝐗) 

(𝐀𝐁)=𝐁𝐀 から、((𝐗𝐗)𝟏𝐗)=𝐗((𝐗𝐗)𝟏)になります。(𝐀𝐀𝟏)=(𝐀𝐀)𝟏から、𝐗((𝐗𝐗)𝟏)=𝐗(𝐗𝐗)𝟏になります。

=(𝐗𝐗)𝟏𝐗(𝜎𝟐𝐈)𝐗(𝐗𝐗)𝟏

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

=𝜎𝟐(𝐗𝐗)𝟏𝐗𝐗(𝐗𝐗)𝟏

元の行列とその逆行列の積は単位行列になるので、𝐗𝐗(𝐗𝐗)𝟏 =𝐼となります。


=𝜎𝟐(𝐗𝐗)𝟏

まとめ

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

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

𝐛=(𝐗𝐗)𝟏𝐗𝐘

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

𝐛=𝜎2𝐈

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

𝐸(𝐛) =𝛽   

係数の分散はこれです。

𝐕𝐚𝐫(𝐛) =𝜎𝟐(𝐗𝐗)𝟏

RELATED POST

COMMENT

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

CAPTCHA