はじめに
こんにちは、らんそうるいと申します。私は、スポーツのデータを通じて、統計学を勉強しています。その成果として、線形回帰分析を改めて説明したいと思います。
方針としては、単回帰分析の説明をした後、あえて単回帰分析をベクトル行列表記で記述します。一旦、ベクトル行列表記で単回帰分析を記述できれば、重回帰分析への拡張は容易です。どうぞお付き合いください。
線形回帰のモチベーション
回帰とは$y$というデータを別のデータ$x$によって予測する(または分解する)手法です。予測される側の変数、この例で言えば$y$を被説明変数、予測の手掛かりとなる$x$を説明変数といいます。
$y$の予測値として妥当そうなものの一つに、$x$の値がわかっている時の$y$の平均値、つまり条件付き平均値$\bar{y}_x$を想定することができます。条件付き平均値$\bar{y}_x$は$x$の値が異なれば変わってくるので、$x$の関数であると言えます。つまり、
\bar{y}_x = f(x)
と表すことができます。この時$f$の形として最も頻繁に用いられるのが一次式です。つまり、
\bar{y}_x = \beta_0 + \beta_1 x
というモデルです。これを線形回帰と言います。
スカラー表記の単回帰分析
最小二乗法と正規方程式
$x$と$y$のペアがデータとして入手できたとき、$x$への掛け算・足し算だけで、できるだけ$y$に近い予測値が得られるように$\beta_0$と$\beta_1$を求めたいと思います。$y$に近いということはズレが小さいことと同義です。なので、データ全体へのズレを定義し、それを最小化する方針で$\beta_0$と$\beta_1$を求めます。
まずズレを定義します。データ$i\ (i=1,...,n)$へのズレは$y_i-(\beta_0+\beta_1x_i)$として表現できます。ただし、データ全体へのズレを算出する際には、定義したズレが正負どちらの取りうるので、二乗して符号を正に揃えます。こうして、
S(\beta_0,\beta_1)=\sum^n_{i=1}[y_i-(\beta_0+\beta_1x_i)]^2
という、$n$個から成るデータ全体へのズレの指標ができました。この指標を最小化すれば、データに満遍なくフィットした一次式が得られます。この方針を最小二乗法と言います。$S(\beta_0,\beta_1)$の最小化するためには、$\beta_0$と$\beta_1$について偏微分した結果を0に等しくすればよいです。つまり、
\frac{\partial S(\beta_0,\beta_1)}{\partial \beta_0}=\sum^n_{i=1}2[y_i-(\beta_0+\beta_1x_i)](-1)=0
\frac{\partial S(\beta_0,\beta_1)}{\partial \beta_1}=\sum^n_{i=1}2[y_i-(\beta_0+\beta_1x_i)](-x_i)=0
これらを整理して、
\sum^n_{i=1}[y_i-(\beta_0+\beta_1x_i)]=0
\sum^n_{i=1}[y_i-(\beta_0+\beta_1x_i)]x_i=0
さらに整理して、
n\beta_0+\beta_1\sum^n_{i=1}x_i=\sum^n_{i=1}y_i
\beta_0\sum^n_{i=1}x_i+\beta_1\sum^n_{i=1}x^2_i=\sum^n_{i=1}x_iy_i
となります。上記二本の式を正規方程式と言い、これを解くことで最小二乗法を行います。
ベクトル行列表記の単回帰分析
ベクトル行列表記で単回帰モデルを表現する
この章では、前章の議論をベクトル行列表記に書き換えます。まず、データを次のように表現しましょう。
\mathbf{y} = \left(
\begin{matrix}
y_ 1 \\
y _ 2 \\
\vdots \\
y _ n
\end{matrix}
\right)
,\
\mathbf{X} = \begin{pmatrix}
1 & x_1 \\
1 & x_2 \\
\vdots & \vdots \\
1 & x_n
\end{pmatrix}
,\
\mathbf{\beta} = \left(
\begin{matrix}
\beta_0 \\
\beta_1 \\
\end{matrix}
\right)
すると、単回帰モデルは次のように表記できます。
\mathbf{y}=\mathbf{X}\mathbf{\beta}
最小二乗法と正規方程式(ベクトル行列表記)
ズレ$y_i-(\beta_0+\beta_1x_i)$一つ一つをベクトル行列表記$\mathbf{e}$とすると、
\mathbf{e}=
\left(
\begin{matrix}
[y_1-(\beta_0+\beta_1x_1)] \\
[y_2-(\beta_0+\beta_1x_2)] \\
\vdots\\
[y_n-(\beta_0+\beta_1x_n)]
\end{matrix}
\right)
となります。上記ベクトル$\mathbf{e}$は正負が入り混じっているので、$S(\beta_0,\beta_1)$で行ったように、符号を正に揃えます。
\begin{align}
\mathbf{e^T}\mathbf{e}
&=(\mathbf{y}-\mathbf{X}\mathbf{\beta})^T(\mathbf{y}-\mathbf{X}\mathbf{\beta})\\
&=(\mathbf{y^T}-\mathbf{\beta^T}\mathbf{X^T})(\mathbf{y}-\mathbf{X}\mathbf{\beta})\\
&=\mathbf{y^{T}y}-\mathbf{y^{T}X\beta}-\mathbf{\beta^{T}X^{T}y}+\mathbf{\beta^{T}X^{T}X\beta}\\
&=\mathbf{y^{T}y}
-2\mathbf{\beta^{T}X^{T}y}
+\mathbf{\beta^{T}X^{T}X\beta}
\end{align}
三行目から四行目の式変形については、$\mathbf{y^T X \boldsymbol{\beta}}$ はスカラーなので、その転置 $\boldsymbol{\beta}^T \mathbf{X}^T \mathbf{y}$ と等しいから、$-2 \boldsymbol{\beta}^T \mathbf{X}^T \mathbf{y}$とまとめられます。
最小二乗法なので$\mathbf{e^{T}e}$を最小化する$\mathbf{\beta}$を探すために、$\mathbf{\beta}$で微分して$\mathbf{0}$と置くと、
\frac{\partial}{\partial {\boldsymbol\beta}} \left[ \mathbf{e}^T \mathbf{e} \right] = -2 \mathbf{X}^T \mathbf{y} + 2 \mathbf{X}^T \mathbf{X} {\boldsymbol\beta} = \mathbf{0}
となり、
\begin{align}
\mathbf{X^{T}y}&=\mathbf{X^{T}X{\beta}}
\end{align}
となります。これがベクトル行列表記の正規方程式です。ベクトルや行列の中身を確認してみましょう。
正規方程式の中身を確認する
左辺は、
\mathbf{X^T} =
\begin{pmatrix}
1 & \ldots & 1 \\
x_1 & \ldots& x_n
\end{pmatrix}
次に$\mathbf{X^{T}y}$は
\mathbf{X^{T}y}=
\begin{pmatrix}
1 & \ldots & 1 \\
x_1 & \ldots& x_n
\end{pmatrix}
\left(
\begin{matrix}
y_ 1 \\
y _ 2 \\
\vdots \\
y _ n
\end{matrix}
\right)=
\left(
\begin{matrix}
\sum^{n}_{i=1}y_i \\
\sum^{n}_{i=1}x_{i}y_{i}\\
\end{matrix}
\right)
です。
さらに左辺は、
\begin{align}
\mathbf{X^{T}X}&=
\begin{pmatrix}
1 & \ldots & 1 \\
x_1 & \ldots& x_n
\end{pmatrix}
\begin{pmatrix}
1 & x_1 \\
1 & x_2 \\
\vdots & \vdots \\
1 & x_n
\end{pmatrix}&\\
&=\left(
\begin{matrix}
\sum^{n}_{i=1}1 & \sum^{n}_{i=1}x_i\\
\sum^{n}_{i=1}x_i & \sum^{n}_{i=1}x_i^2\\
\end{matrix}
\right)\\
&=\left(
\begin{matrix}
n & \sum^{n}_{i=1}x_i\\
\sum^{n}_{i=1}x_i & \sum^{n}_{i=1}x_i^2\\
\end{matrix}
\right)
\end{align}
として、
\begin{align}
\mathbf{X^{T}X\beta}
&=\left(
\begin{matrix}
n & \sum^{n}_{i=1}x_i\\
\sum^{n}_{i=1}x_i & \sum^{n}_{i=1}x_i^2\\
\end{matrix}
\right)
\begin{pmatrix}
\beta_0 \\
\beta_1 \\
\end{pmatrix}&\\
&=\left(
\begin{matrix}
n\beta_0+\beta_1\sum^{n}_{i=1}x_i\\
\beta_0\sum^{n}_{i=1}x_i+\beta_1\sum^{n}_{i=1}x{_i}^2\\
\end{matrix}
\right)\\\\
\end{align}
と整理できます。これらを等号で結びます。
\begin{align}
\left(
\begin{matrix}
n\beta_0+\beta_1\sum^{n}_{i=1}x_i\\
\beta_0\sum^{n}_{i=1}x_i+\beta_1\sum^{n}_{i=1}x{_i}^2\\
\end{matrix}
\right)
\end{align}
=
\left(
\begin{matrix}
\sum^{n}_{i=1}y_i \\
\sum^{n}_{i=1}x_{i}y_{i}\\
\end{matrix}
\right)
このように、ベクトル行列表記で、スカラー表記と同じように正規方程式を導けました。説明変数を増やすと、$\mathbf{X}$が一列追加され、$\mathbf{\beta}$には一要素が追加されるだけなので、同じような操作で正規方程式を導けます。これで重回帰分析に拡張ができるというわけです。
まとめ
この記事では、スカラー表記で単回帰分析の流れを確認した後、ベクトル行列表記で単回帰分析を説明しました。
余力があったら、重回帰分析の性質をベクトル行列表記で説明する記事を書きたいなと思っています。ではでは〜
参考文献
宮川公男, 2020. 基本統計学[第4版]. 有斐閣.
永田靖・棟近雅彦, 2001. 多変量解析法入門. サイエンス社.
田中久稔, 2019. 計量経済学のための数学. 日本評論社.