お金と数字と温泉を考えるブログ

お金と数字と温泉を考えています。

行列を用いた重回帰分析(2016 記述問2)その①正規方程式

行列計算
重回帰分析は統計検定2級レベルでも頻出のテーマですが、殊行列を用いた話になると
話は別です。
統計検定二級レベルでは行列計算は要求されません。(簡単な微積分の計算はあります)
準一級レベルでも行列計算を求められたのは2016年の記述問2のみであり、他年度の記述問題や選択問題では行列計算は要求されていません。
それくらい行列を用いた計算は稀なのですが、重回帰分析での行列計算は重回帰分析を理解する上で非常に重要であると感じています。
<理由>
・行列計算が理解できれば、説明変数が増加しても同じ計算原理でパラメータや残差平方和、決定係数などを計算できるから
・方程式での記述は長くなりがちであるから
・とにかく記述する過程が通常の数式と比べてカッコよく見えるから(個人的見解)

問題内容
題材は至ってシンプルで、10歳から30歳までの5歳ごと(10,15,20,25,30)の50m走のタイムを重回帰分析でモデリングする、というものです。
目的変数:50m走のタイム
説明変数:年齢
の簡単なモデルです。

目的変数をyとして
\
{Y} = \left(
    \begin{array}{c}
      7.7 \\
      6.6 \\
      7.0\\
      7.2\\
      8.0\\
    \end{array}
  \right)
\

説明変数は50m走のタイムではなく、簡単のため(?)に
\begin{equation}
z = 0.2x-4
\end{equation}
として、
\begin{equation}
Y=Zβ+u
\end{equation}
という数式を作り、最小二乗法でパラメータを求めます。

解法手順
(1)正規方程式を作る
\begin{equation}
Y=Zβ+u
\end{equation}
を実際の行列で記載してみると以下のようになります。
\
 \left(
    \begin{array}{c}
      7.7 \\
      6.6 \\
      7.0\\
      7.2\\
      8.0\\
    \end{array}
  \right)
= \left(
    \begin{array}{cc}
      1 & -2  \\
      1 & -1  \\
      1& 0 \\
      1&1\\
      1&2 \\ 
    \end{array}
  \right)(β_1,β_2)+\left(
    \begin{array}{c}
      u_1 \\
      u_2 \\
      u_3\\
      u_4\\
      u_5\\
    \end{array}
  \right)
\
今回は上記のβを求めるのですが、最小二乗法では、残差の2乗和が最小となるようにパラメータを決定するのでした。
そのため、
\begin{equation}
Y=Zβ+u
\end{equation}
を変形して
\begin{equation}
u=Y-Zβ
\end{equation}
として、
\begin{equation}
S=uu'=(Y-Zβ)(Y-Zβ)'
\end{equation}
を最小とするβを求めます。
Sが最小となる点は傾きが0の点ですので、パラメータで微分して0となることが条件です。

\begin{equation}
\frac{\partial S}{\partial β}=-2Z'(Zβ-Y)=0
\end{equation}
これを変形して
\begin{equation}
β=\mathrm{(Z'Z)}^{-1}Z'Y
\end{equation}
となります。これを正規方程式と呼びます。回帰分析をする際には頻出のワードです。
要するにこれをを求めるためにZの転置行列やZZ'の逆行列を求めていけば良いわけです。(その①終わり)