デザイン行列
ビルドアップ
Rで内蔵データ faithful
を読み込み、head()
関数で確認してみよう。
たった六つだけど、一見すると、eruptions
とwaiting
は正の相関関係を持っているように見える。これらの関係を何らかの二つの定数$\beta_{0}, \beta_{1}$について
$$\text{(eruptions)} = \beta_{0} + \beta_{1} \cdot \text{(waiting) }$$
と表すことができればいい。上の式は二変数の線形関係を直線の方程式として表したもので、$\beta_{0}$は定数項、$\beta_{1}$は傾きを意味する。
しかし、実際のデータでは、理論と異なり誤差が生じるため、何らかの誤差項$\varepsilon$が必要だ。式を簡単にするために$y:=\text{(eruptions)}$及び$x:=\text{(waiting) }$とすると、次を得る。 $$y = \beta_{0} + \beta_{1} x + \varepsilon$$
上のスクリーンショットでは、合計$6$組の順序対が表示されているが、これらを連立方程式で表すと次のようになる。
$$ \begin{cases} 3.600 = \beta_{0} + \beta_{1} 79 + \varepsilon_{1} \\ 1.800 = \beta_{0} + \beta_{1} 54 + \varepsilon_{2} \\ 3.333 = \beta_{0} + \beta_{1} 74 + \varepsilon_{3} \\ 2.283 = \beta_{0} + \beta_{1} 62 + \varepsilon_{4} \\ 4.533 = \beta_{0} + \beta_{1} 85 + \varepsilon_{5} \\ 2.883 = \beta_{0} + \beta_{1} 55 + \varepsilon_{6} \end{cases} $$
実際にfaithful
は、272組の順序対を含んでいるので、このように全てを表現するのは非現実的だが、再び記号を通して表現してみよう。
$$ \begin{cases} y_{1} &= \beta_{0} + \beta_{1} x_{1} + \varepsilon_{1} \\ y_{2} &= \beta_{0} + \beta_{1} x_{2} + \varepsilon_{2} \\ &\vdots& \\ y_{272} &= \beta_{0} + \beta_{1} x_{272} + \varepsilon_{272} \end{cases} $$
一方、このような連立方程式は行列方程式としてよりシンプルに表現できる。 $$ \begin{bmatrix} y_{1} \\ y_{2} \\ \vdots \\ y_{272} \end{bmatrix} = \begin{bmatrix} 1 & x_{1} \\ 1 & x_{2} \\ \vdots & \vdots \\ 1 & x_{272} \end{bmatrix} \begin{bmatrix} \beta_{0} \\ \beta_{1} \end{bmatrix} + \begin{bmatrix} \varepsilon_{1} \\ \varepsilon_{2} \\ \vdots \\ \varepsilon_{272} \end{bmatrix} $$ 通常通り、行列まで大文字で表記すると、ついに$Y = X \beta + \varepsilon$を得ることができる。
定義
ここでは、$X$のように独立変数をまとめた行列を設計行列design matrixと呼ぶ。
先修科目
このようにデータを行列で表現できることは、線形代数の様々なツールを統計学に適用できることを意味する。ここで$\beta$を見つけることがまさに回帰分析であり、これを正確に理解するには、線形代数の知識が不可欠だ。
統計学に接近する多くの学習者が線形代数の必要性を感じずに軽視してしまい、行列が出てくると苦労する。先輩たちの轍を踏まないためにも、解析学や線形代数のような低学年科目を徹底的に磨き上げることが重要だ。