【統計学入門】 線形回帰モデルにおける最小二乗推定量の導出

初めての投稿ということで気持ち的にはトライアルの意味で書いたものなので
内容はお世辞にも面白いとは言えませんw

---

統計学を勉強し始めた頃、
線形重回帰モデルにおける最小二乗法にて「行列 $X$ が列フルランクとすると $X^TX$ は正則行列になる」と、文献に証明の記載無く書いてあり、なんでだろうと悩んだことがあります。

統計学入門者の参考になればいいなと思い、 $X^T X$ の正則性の証明を添えて最小二乗推定量を導出してみます。
ただし、読者が大学レベルの線形代数や関数のベクトル微分などの基礎知識は習得済みであることを前提にしています。

# 記号設定
$n \in \mathbb{N}$: 標本数
$d \in \mathbb{N}$: 説明変数(特徴量)の次元
$\boldsymbol{x} \in \mathbb{R}^d$: 説明変数(特徴量)ベクトル
$y \in \mathbb{R}$: 目的変数
$\boldsymbol{x}_i$: $i$ 番目の標本における説明変数ベクトルの値 ($i=1,2,\cdots,n$)
$y_i$: $i$ 番目の標本における目的変数の値 ($i=1,2,\cdots,n$)
$\beta_0 \in \mathbb{R}$: 回帰モデルの切片項
$\beta_j \in \mathbb{R}$: $j$ 番目の説明変数に対する回帰係数 ($j = 1,2,\cdots,d$)
$X = \left( \begin{array}{cc} 1 & \boldsymbol{x}_1^T \\\ 1 & \boldsymbol{x}_2^T \\\ \vdots & \vdots \\\ 1 & \boldsymbol{x}_n^T \end{array}\right) \in \mathbb{R}^{n\times(d+1)}$
$\boldsymbol{y} = \left( \begin{array}{c} y_1 \\\ y_2 \\\ \vdots \\\ y_n \end{array} \right) \in \mathbb{R}^n$
$\boldsymbol{\beta} = \left( \begin{array}{c} \beta_0 \\\ \beta_1 \\\ \beta_2 \\\ \vdots \\\ \beta_d \end{array} \right) \in \mathbb{R}^{d+1}$

# 仮定
* $n > d+1$ (説明変数の個数よりも標本数の方が多い)
* $\mathrm{rank}(X) = d+1$

これらの仮定を必要としない回帰分析の方法（正則化）もありますが、
初歩だとこう仮定するのが一般的です。

# 最小二乗法
回帰係数ベクトル $\boldsymbol{\beta}$ の推定値を
$$
\hat{\boldsymbol{\beta}} = \mathrm{argmin}_{\boldsymbol{\beta}} \frac{1}{2} ||\boldsymbol{y} - X \boldsymbol{\beta}||_2^2
$$ 
で求める方法を<b>最小二乗法</b>と言います。

# 最小二乗法の解
$$
Q(\boldsymbol{\beta}) = \frac{1}{2} ||\boldsymbol{y} - X \boldsymbol{\beta}||_2^2
$$
は凸関数になっていますので、$Q(\boldsymbol{\beta})$ の最小解を求めることは $\frac{\partial Q}{\partial \boldsymbol{\beta}}=\boldsymbol{0}$ を満たすような $\boldsymbol{\beta}$ を求めることと同値です。
$$
\begin{eqnarray}
&& \frac{\partial Q}{\partial \boldsymbol{\beta}}(\hat{\boldsymbol{\beta}}) =\boldsymbol{0} \\\
&\Leftrightarrow& -X^T (\boldsymbol{y} - X \hat{\boldsymbol{\beta}}) = \boldsymbol{0} \\\
&\Leftrightarrow& X^T X \hat{\boldsymbol{\beta}} = X^T \boldsymbol{y}
\end{eqnarray}
$$

以下補題で示すように、$\mathrm{rank}(X^TX) = d+1$ なので、 $X^T X$ は正則行列。したがって、
$$
\hat{\boldsymbol{\beta}} = (X^T X)^{-1}X^T \boldsymbol{y}
$$

これを回帰係数ベクトル $\boldsymbol{\beta}$ の<b>最小二乗推定量</b>といいます。

<b>補題</b> $\mathrm{rank}(X^T X) = \mathrm{rank}(X) = d + 1 $
証明:
$\mathrm{rank}(X) = d + 1 < n$ より, 基本行列の積で表される適当な行列 $P \in \mathbb{R}^{n \times n}, Q \in \mathbb{R}^{(d+1)\times(d+1)}$ に対し,
$$
PXQ = \left( \begin{array}{c} I_{d+1} \\\ O_{n-(d+1), d+1} \end{array} \right)
$$
が成立する。ただし, $I_{d+1}$ は $d+1$ 次単位行列, $O_{n-(d+1), d+1}$ は $n-(d+1)$ 行 $d+1$ 列の零行列。
基本行列は正則なので、その積である $P$ もまた正則。したがって、
$$
XQ = P^{-1} \left( \begin{array}{c} I_{d+1} \\\ O_{n-(d+1), d+1} \end{array} \right)
$$

$P^{-1}$ の 1~$(d+1)$ 列目までを $M_1 \in \mathbb{R}^{n \times (d+1)}$, $(d+2)$~$n$ 列目までを $M_2 \in \mathbb{R}^{n \times (n-(d+1))}$ とおくと,
$$
XQ = P^{-1} \left( \begin{array}{c} I_{d+1} \\\ O_{n-(d+1), d+1} \end{array} \right) = (M_1, M_2) \left( \begin{array}{c} I_{d+1} \\\ O_{n-(d+1), d+1} \end{array} \right) = M_1
$$

よって、
$$
Q^TX^TXQ = M_1^T M_1
$$

$P$ と同様、$Q$ ももちろん正則行列です。正則行列をかけても行列のランクは変化しませんから、$\mathrm{rank}(Q^TX^TXQ) = \mathrm{rank}(X^TX)$ です。このことと上の式とを合わせると、
$$
\mathrm{rank}(X^TX) = \mathrm{rank}(M_1^TM_1)
$$
が成立。よって、あとは $\mathrm{rank}(M_1^T M_1) = d+1$ を証明できれば補題を証明できたことになります。
証明方法はいろいろありますが、今回は背理法を用います。
$\mathrm{rank}(M_1^T M_1) \neq d+1$ と仮定。このとき、$M_1^T M_1$ は非正則行列となるので、
$$
M_1^T M_1 \boldsymbol{v} = \boldsymbol{0}
$$
を満たすベクトル $\boldsymbol{v} \in \mathbb{R}^{d+1}$ が零ベクトル以外で存在することになる。


一方、
$$
(P^{-1})^T P^{-1} = \left( \begin{array}{c} M_1^T \\\
M_2^T \end{array} \right) (M_1, M_2) = \left( \begin{array}{cc} M_1^TM_1 & M_1^TM_2 \\\ M_2^TM_1 & M_2^TM_2 \end{array} \right)
$$
は正定値行列(任意の実行列 $A$ に対し, $A^T A$ は必ず半正定値行列。半正定値かつ正則ならば正定値)なので、
$$
(\boldsymbol{v}^T, \boldsymbol{0}^T) \left( \begin{array}{cc} M_1^TM_1 & M_1^TM_2 \\\ M_2^TM_1 & M_2^TM_2 \end{array} \right) \left( \begin{array}{c} \boldsymbol{v} \\\ \boldsymbol{0} \end{array} \right) > 0 \Leftrightarrow \boldsymbol{v}^T M_1^T M_1 \boldsymbol{v} > 0
$$
が成立しなければならない。
両者で矛盾が生じているため、$\mathrm{rank}(M_1^TM_1) = d+1$ が真である。
$$
\therefore \mathrm{rank}(X^TX) = d+1
$$
[証明終了]