統計学

最小二乗法と一般化最小二乗法(OLS)

2022年11月15日


最小二乗法は
分散を均一で、独立であることを仮定した上で実行します。

各データ\(y_{i}\)は、説明変数\(x_{i}\)を用いて以下のように表現できます。誤差は各データで固有なので\(\epsilon_{i}\)とします。
\begin{eqnarray}
\left\{
\begin{array}{l}
y_{1} = \beta_{1}x_{11} + \beta_{2}x_{12} + \beta_{3}x_{13} + ・・・ + \beta_{n}x_{1n} + \epsilon_{1} \\
y_{2} = \beta_{1}x_{21} + \beta_{2}x_{22} + \beta_{3}x_{23} + ・・・ + \beta_{n}x_{2n} + \epsilon_{2} \\
y_{3} = \beta_{1}x_{31} + \beta_{2}x_{32} + \beta_{3}x_{33} + ・・・ + \beta_{n}x_{3n} + \epsilon_{3} \\
・・・ \\
y_{n} = \beta_{1}x_{n1} + \beta_{2}x_{n2} + \beta_{3}x_{n3} + ・・・ + \beta_{n}x_{nn} + \epsilon_{n} \\
\end{array}
\right.
\end{eqnarray}

これをベクトルや行列表記で表すと以下のように整理され、

\begin{eqnarray}
y
&=&
\begin{pmatrix}
y_{1} \\
y_{2} \\
y_{3} \\
\vdots \\
y_{n} \\
\end{pmatrix} \\
\end{eqnarray}

\begin{eqnarray}
\epsilon
&=&
\begin{pmatrix}
\epsilon_{1} \\
\epsilon_{2} \\
\epsilon_{3} \\
\vdots \\
\epsilon_{n} \\
\end{pmatrix} \\
\end{eqnarray}

\begin{eqnarray}
\beta
&=&
\begin{pmatrix}
\beta_{1} \\
\beta_{2} \\
\beta_{3} \\
\vdots \\
\beta_{n} \\
\end{pmatrix} \\
\end{eqnarray}

\begin{eqnarray}
X
&=&
\begin{pmatrix}
x_{11} & x_{12} & x_{13} & \cdots & x_{1n} \\
x_{21} & x_{22} & x_{23} & \cdots & x_{2n} \\
x_{31} & x_{32} & x_{33} & \cdots & x_{3n} \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
x_{n1} & x_{n2} & x_{n3} & \cdots & x_{nn} \\
\end{pmatrix} \\
\end{eqnarray}

連立方程式は、
\begin{eqnarray}
y=X\beta+\epsilon
\end{eqnarray}
と表現できます。

 

最小二乗法

改めて、普段回帰分析などで行っている最小二乗法は、
【仮定\(①\)】誤差の分散を均一で、独立であることと、
【仮定\(②\)】互いに誤差項は無相関(独立)
を仮定した上で、実行します。

説明変数を\(X\)、目的変数を\(y\)、誤差項を\(\epsilon\)とするとき、

\begin{eqnarray}
\epsilon \sim N(0, \sigma^{2}) \\
cov(\epsilon_{i},\epsilon_{j}) = 0 (i \neq j)
\end{eqnarray}

を仮定することで、いつも最小二乗法を行なっています。
 

最小二乗法の解法

実際にここでは行列、ベクトルを用いて最小二乗法を計算してみたいと思います。
 

\begin{eqnarray}
\epsilon^{2}
&=& (y -X\beta)^{T}(y -X\beta) \\
&=& (y^{T} - (X\beta)^{T})(y - X\beta) \\
&=& (y^{T} - \beta^{T}X^{T})(y - X\beta) \\
&=& y^{T}y - y^{T}X\beta - \beta^{T}X^{T}y + \beta^{T}X^{T}X\beta \\
\end{eqnarray}
※ \((X\beta)^{T}\)は\(\beta^{T}X^{T}\)になること、左からかけていくなどに注意。
 

そしてこの誤差の2乗値に対して、回帰係数である\(\beta\)で偏微分して、
\begin{eqnarray}
\epsilon^{2}
&=& (y -X\beta)^{T}(y -X\beta) \\
&=& (y^{T} - (X\beta)^{T})(y - X\beta) \\
&=& (y^{T} - \beta^{T}X^{T})(y - X\beta) \\
&=& y^{T}y - y^{T}X\beta - \beta^{T}X^{T}y + \beta^{T}X^{T}X\beta \\
\end{eqnarray}

なので、一般化最小二乗法に対して上記の仮定を実行すると、
\begin{eqnarray}
\frac{\partial}{\partial \beta}{\epsilon^{2}}
&=& \frac{\partial}{\partial \beta} {y^{T}y - y^{T}X\beta - \beta^{T}X^{T}y + \beta^{T}X^{T}X\beta} \\
&=& \frac{\partial}{\partial \beta}{y^{T}y} - \frac{\partial}{\partial \beta}{y^{T}X\beta} - \frac{\partial}{\partial \beta}{\beta^{T}X^{T}y} +
\frac{\partial}{\partial \beta}{\beta^{T}X^{T}X\beta} \\
&=& - \frac{\partial}{\partial \beta}{y^{T}X\beta} - \frac{\partial}{\partial \beta}{\beta^{T}X^{T}y} +
\frac{\partial}{\partial \beta}{\beta^{T}X^{T}X\beta} \\
&=& - 2\frac{\partial}{\partial \beta}{y^{T}X\beta} + \frac{\partial}{\partial \beta}{\beta^{T}X^{T}X\beta} ・・・① \\
\end{eqnarray}
ここで、
第1項は、以下のベクトルの微分を用います。

Aを行列とする時、
\begin{eqnarray}
\frac{\partial}{\partial \beta}{A\beta} = A^{T}
\end{eqnarray}

\(y^{T}X\)は行列になるので、上の微分を適用すると、
\begin{eqnarray}
\frac{\partial}{\partial \beta}{y^{T}X\beta}
&=& (y^{T}X)^{T} \\
&=& X^{T}y \\
\end{eqnarray}

 

第2項は以下のベクトルと行列の微分を使います。

Aを行列とする時、
\begin{eqnarray}
\frac{\partial}{\partial \beta}{\beta^{T} A \beta} = 2A\beta
\end{eqnarray}

第2項の\(X^{T}X\)は行列になるので上記Aと考えれば、第2項は
\begin{eqnarray}
\frac{\partial}{\partial \beta}{\beta^{T}X^{T}X\beta} &=& 2X^{T}X\beta
\end{eqnarray}
となります。

 

よって、
\begin{eqnarray}
\frac{\partial}{\partial \beta}{\epsilon^{2}}
&=& ① \\
&=& -2X^{T}y + 2X^{T}X\beta
\end{eqnarray}
 

したがって、最小二乗法推定値\(\hat{\beta_{}}\)は、\(\displaystyle \frac{\partial}{\partial \beta}{\epsilon^{2}} = 0\)と、途中で左から\((X^{T}X)^{-1}\)を掛けて、
\begin{eqnarray}
-2X^{T}y + 2X^{T}X\hat{\beta_{}} &=& 0 \\
X^{T}X\hat{\beta_{}} &=& X^{T}y \\
(X^{T}X)^{-1}X^{T}X\hat{\beta_{}} &=& (X^{T}X)^{-1}X^{T}y \\
\hat{\beta_{}} &=& (X^{T}X)^{-1}X^{T}y \\
\end{eqnarray}

 

予測値

予測値は
\begin{eqnarray}
\hat{y_{}}
&=& X\hat{\beta_{}} + \epsilon \\
&=& X(X^{T}X)^{-1}X^{T}y + \epsilon \\
\end{eqnarray}
 

残差

残差は
\begin{eqnarray}
e
&=& \hat{y_{}} - y\\
&=& (X(X^{T}X)^{-1}X^{T}y + \epsilon) - (X\beta + \epsilon) \\
&=& X(X^{T}X)^{-1}X^{T}y - X\beta \\
&=& X((X^{T}X)^{-1}X^{T}y - \beta) \\
\end{eqnarray}
 

一般化最小二乗法(OLS)

上記の最小二乗法に対して一般化最小二乗法(OLS)とは、何も仮定がない状態での最小二乗法です。
OLSはOrdinary Least Squares regressionの略です。
先程は誤差項に対して、分散の均一性と無相関という仮定がありましたが、それが成り立たない場合です。
 

なかなかデータで誤差項が上記のような仮定にぴったり合うことは少ないです。
 

LU分解とコレスキー分解

一般化最小二乗法を考えていくにあたり、以下のコレスキー分解が必要になります。

● LU分解
係数行列\(A\)は
\begin{eqnarray}
A = LU
\end{eqnarray}
の形に分解することができます。
ただし\(A\)を\(n\)次正方行列とし、\(L\)を下三角行列、\(U\)を上三角行列とします。
 
 

● コレスキー分解
係数行列\(A\)が正定値対象行列であるならば、
\begin{eqnarray}
A = LL^{T}
\end{eqnarray}
となる下三角行列\(L\)が存在する。LU分解でいう\(U=L^{T}\)としたものと同じです。これをコレスキー分解といいます。
\(L\)は下三角行列なのでそれに対して転置することで、上三角行列になります。

これを用いて\(y=X\beta + \epsilon\)に対して考えたいと思います。
この式に対して左から\(P^{-1}\)をかけると、
\begin{eqnarray}
P^{-1}y = P^{-1}X\beta + P^{-1}\epsilon \\
y^{*} = X^{*}\beta + \epsilon^{*}・・・① \\
\end{eqnarray}
とします。\(P^{-1}y = y^{*}\)、\(P^{-1}X = X^{*}\)、\(P^{-1}\epsilon = \epsilon^{*}\)と置く。

この\(①\)に対して最小二乗法を実行します。
 

最小二乗法の仮定の証明

ここで、この式に対してあと誤差の無相関の仮定\(E[\epsilon_{i}\epsilon_{j}] = 0\)が成立するのか検証してみます。これが成立すれば、上の最小二乗法の【仮定\(①\)】、【仮定\(②\)】が成立するので上と同じような計算で求めることができるようになります。
\begin{eqnarray}
E[\epsilon^{*}\epsilon^{*T}]
&=& E[P^{-1}\epsilon (P^{-1}\epsilon)^{T}] \\
&=& E[P^{-1}\epsilon \epsilon^{T} P] \\
&=& P^{-1}E[\epsilon \epsilon^{T}]P \\
&=& P^{-1}E[\epsilon \epsilon^{T}]P ・・・②\\
\end{eqnarray}
正方行列では逆行列と転置は同じ。1行目
そしてPは正定値行列で定数なので期待値の外に出す。3行目

ここで、誤差項は今仮定していないので、\(E[\epsilon \epsilon^{T}]\)を求める必要があります。
求めると、この一般化最小二乗法では\(E[\epsilon \epsilon^{T}] = \sigma^{2}\Omega \)となります。

これを用いることで、
\begin{eqnarray}
E[\epsilon^{*}\epsilon^{*T}]
&=& ② \\
&=& P^{-1}\sigma^{2}\Omega P \\
&=& \sigma^{2}P^{-1}\Omega P \\
&=& \sigma^{2}P^{-1}(\Omega^{-1})^{-1} P \\
&=& \sigma^{2}P^{-1}(PP^{-1})^{-1} P \\
&=& \sigma^{2}P^{-1}PP^{-1}P \\
&=& \sigma^{2}(P^{-1}P)(P^{-1}P) \\
&=& \sigma^{2}I \\
&=&
\begin{pmatrix}
\sigma^{2} & \cdots & 0 & \cdots & 0\\
\vdots & \ddots & & & \vdots \\
0 & & \sigma^{2} & & 0 \\
\vdots & & & \ddots & \vdots \\
0 & \cdots & 0 & \cdots & \sigma^{2}
\end{pmatrix} \\
\end{eqnarray}
となり、【仮定\(①\)】と【仮定\(②\)】の証明ができました。
\(\sigma^{2}I\)は対角成分は\(\sigma^{2}\)となり、どの誤差も同じ分散となること。
そして非対角成分は0になる、つまり\(E[\epsilon_{i}\epsilon_{j}] = 0 (i \neq j)\)が成立するので、無相関が成立します。
※ \((AB)^{T} = B^{T}A^{T}\)、\((AB)^{-1} = B^{-1}A^{-1}\)であることを利用する。
※ 最後は\(P^{-1}P = P^{-1}P = I\)。

 

一般化最小二乗法を解く

以上のことにより、\(y^{*} = X^{*}\beta + \epsilon^{*}\)は誤差項\(\epsilon^{*}\)において分散の均一性、無相関が成立したので、この式に対して最小二乗法を適用することができるようになりました。

\(y^{*} = X^{*}\beta + \epsilon^{*}\)としたときの、最小二乗法推定値\(\hat{\beta_{}}\)は上の最小二乗法の結果と、\(P^{-1}y = y^{*}\)、\(P^{-1}X = X^{*}\)としたことから
\begin{eqnarray}
\hat{\beta_{}}
&=& (X^{*T}X^{*})^{-1}X^{*T}y^{*} \\
&=& ((P^{-1}X)^{T}P^{-1}X)^{-1}(P^{-1}X)^{T}P^{-1}y \\
&=& (X^{T}(P^{-1})^{T}P^{-1}X)^{-1}X^{T}(P^{-1})^{T}P^{-1}y \\
&=& (X^{T}\Omega^{-1}X)^{-1}X^{T}\Omega^{-1}y \\
\end{eqnarray}

-統計学
-

© 2022 Yosshi Blog Powered by AFFINGER5