この問題のテーマ・前提知識
- テーマ: 直交多項式を用いた単回帰・重回帰(多項式回帰)とAICによるモデル選択
- 前提知識: 最小二乗法と正規方程式 \((Z^TZ)\hat{\beta} = Z^T\boldsymbol{y}\) / 残差平方和の計算 / AIC の定義 \(n\log S_e + 2(p+2)\)
問題の概要
5点の観測データ \((x, y)\) に対し、直交化した変数 \(z = 0.2x – 4\) を導入する。[1] \(z\) を説明変数とする単回帰モデルの係数を最小二乗法で推定し、残差平方和を求める。[2] \(z\) と \(z^2\) を説明変数とする重回帰モデルで同様に推定する。[3] AIC 基準で2モデルを比較し、より良いモデルを選択する。
解説
解法の方針:[1] 直交変数 \(z\) を使うと \(Z^TZ\) が対角行列になり逆行列が容易に計算できる。正規方程式を解いて回帰係数を求め、残差平方和を計算する。[2] \(z^2\) を追加した設計行列で同様に最小二乗推定を行い、残差平方和が減少することを確認する。[3] AIC \(= n\log S_e + 2(p+2)\) の値を両モデルで比較し、小さい方を採択する。
[1]
(1)
\begin{eqnarray}
Z^TZ &=& \begin{pmatrix} 1 & 1 & 1 & 1 & 1 \\ -2 & -1 & 0 & 1 & 2 \end{pmatrix} \begin{pmatrix} 1 & -2 \\ 1 & -1 \\ 1 & 0 \\ 1 & 1 \\ 1 & 2 \end{pmatrix} \\
&=& \begin{pmatrix} 5 & 0 \\ 0 & 10 \end{pmatrix}
\end{eqnarray}
より、
\begin{eqnarray}
\hat{\beta} &=& (Z^TZ)^{-1}Z^T\boldsymbol{y} \\
&=& \frac{1}{5 \times 10-0}\begin{pmatrix} 10 & 0 \\ 0 & 5 \end{pmatrix}\begin{pmatrix} 1 & 1 & 1 & 1 & 1 \\ -2 & -1 & 0 & 1 & 2 \end{pmatrix} \begin{pmatrix} 7.7 \\ 6.6 \\ 7.0 \\ 7.2 \\ 8.0 \end{pmatrix} \\
&=& \begin{pmatrix} 7.3 \\ 0.12 \end{pmatrix}
\end{eqnarray}
となる。
従って、単回帰式は、
\begin{eqnarray}
y &=& 7.3 + 0.12z \\
&=& 7.3 + 0.12 \times (0.2x – 4) \\
&=& 7.3 + 0.024x – 0.48 \\
&=& 0.82 + 0.024x
\end{eqnarray}
(2)
(1)を用いると予測値ベクトルと残差平方和は、
| \(x\) | \(y\) | \(\hat{y}\) | \((y-\hat{y})^2\) |
|---|---|---|---|
| 10 | 7.7 | 7.06 | 0.410 |
| 15 | 6.6 | 7.18 | 0.336 |
| 20 | 7 | 7.3 | 0.090 |
| 25 | 7.2 | 7.42 | 0.048 |
| 30 | 8 | 7.54 | 0.212 |
| 1.096 |
[2]
(1)
\(z\) および \(z^2\) を説明変数として重回帰分析を行う。
\[\tilde{Z}=\begin{pmatrix} 1 & -2 & 4 \\ 1 & -1 & 1 \\ 1 & 0 & 0 \\ 1 & 1 & 1 \\ 1 & 2 & 4 \end{pmatrix}\]
\[\boldsymbol{y}=\begin{pmatrix} 7.7 \\ 6.6 \\ 7.0 \\ 7.2 \\ 8.0 \end{pmatrix}\]
\begin{eqnarray}
\tilde{Z}^T\tilde{Z} &=& \begin{pmatrix} 1 & 1 & 1 & 1 & 1 \\ -2 & -1 & 0 & 1 & 2 \\ 4 & 1 & 0 & 1 & 4 \end{pmatrix} \begin{pmatrix} 1 & -2 & 4 \\ 1 & -1 & 1 \\ 1 & 0 & 0 \\ 1 & 1 & 1 \\ 1 & 2 & 4 \end{pmatrix} \\
&=& \begin{pmatrix} 5 & 0 & 10 \\ 0 & 10 & 0 \\ 10 & 0 & 34 \end{pmatrix}
\end{eqnarray}
より、
\begin{eqnarray}
\hat{\beta} &=& (\tilde{Z}^T\tilde{Z})^{-1}\tilde{Z}^T\boldsymbol{y} \\
&=& \frac{1}{70}\begin{pmatrix} 34 & 0 & -10 \\ 0 & 7 & 0 \\ -10 & 0 & 5 \end{pmatrix}\begin{pmatrix} 1 & 1 & 1 & 1 & 1 \\ -2 & -1 & 0 & 1 & 2 \end{pmatrix} \begin{pmatrix} 7.7 \\ 6.6 \\ 7.0 \\ 7.2 \\ 8.0 \end{pmatrix} \\
&=& \frac{1}{70}\begin{pmatrix} 475 \\ 8.4 \\ 18 \end{pmatrix} \\
&=& \begin{pmatrix} 6.786 \\ 0.12 \\ 0.257 \end{pmatrix}
\end{eqnarray}
となる。
従って、重回帰式は、
\begin{eqnarray}
y &=& 6.79 + 0.12z + 0.26z^2 \\
&=& 6.79 + 0.12 \times (0.2x – 4) + 0.26 \times (0.2x – 4)^2 \\
&=& 10.47 – 0.392x + 0.0104x^2
\end{eqnarray}
(2)
(1)を用いると予測値ベクトルと残差平方和は、
| \(x\) | \(y\) | \(\hat{y}\) | \((y-\hat{y})^2\) |
|---|---|---|---|
| 10 | 7.7 | 7.59 | 0.012 |
| 15 | 6.6 | 6.93 | 0.109 |
| 20 | 7 | 6.79 | 0.044 |
| 25 | 7.2 | 7.17 | 0.001 |
| 30 | 8 | 8.07 | 0.005 |
| 0.171 |
[3]
\(n\log{S_e}+2(p+2)\) の大小を比較する。
[1]の単回帰モデルの場合は、\(5\log{1.096}+2\times(1+2)\fallingdotseq 6.46\)
[2]の重回帰モデルの場合は、\(5\log{0.171}+2\times(2+2)\fallingdotseq -0.85\)
となり、[2]の方が AIC の値が小さく、良いモデルと言える。
よくある質問
Q. 直交化変数 \(z = 0.2x – 4\) を使う理由は何ですか?
等間隔データに対して中心化・スケーリングを行うことで、設計行列 \(Z^TZ\) が対角行列になり、逆行列の計算が大幅に簡単になる。直交化しない場合は行列の連立方程式を解く必要があるが、直交化により各係数が独立に求まる。
Q. AIC の式 \(n\log S_e + 2(p+2)\) の \(p+2\) はどこから来ますか?
AIC のペナルティ項はパラメータ数の2倍。回帰係数 \(p+1\) 個(切片1つ+傾き \(p\) 個)に加えて誤差分散 \(\sigma^2\) の推定も1パラメータと数えるため、合計 \(p+2\) となる。この問題では単回帰が \(p=1\)、重回帰が \(p=2\) に相当する。
Q. \([2]\) の重回帰式で \(Z^TZ\) の逆行列はどう求めますか?
\(5 \times 34 – 10 \times 10 = 70\) を行列式として使う。直交化のおかげで \((1,2)\) および \((2,1)\) 成分が0になり、\(3\times3\) 行列の逆行列が比較的簡単に計算できる。余因子展開を使えば試験でも手計算可能な範囲に収まる。




コメント