線形回帰と最小二乗法による回帰係数の推定について

はるか
はるか
線形回帰はデータとモデルの関係を調べるための手法なんだけど、単回帰と多重線形回帰に分けられるよ。
ふゅか
ふゅか
そうだね!単回帰は説明変数が1つ、多重線形回帰は2つ以上の説明変数を使うの。例えば、身長と体重の関係を調べるときに単回帰を使えるわ。

1. 線形回帰とは

線形回帰は説明変数が一つの場合は線形単回帰、二つの場合は多重線形回帰(線形重回帰)と呼ばれます。

2. 線形単回帰

2.1. 線形単回帰のモデル

線形回帰のモデルは次のような形式で表されます。

\[ y = \beta_0 + \beta_1 x + \epsilon \]

ここで、

  • \( y \) は目的変数(従属変数)
  • \( x \) は説明変数(独立変数)
  • \( \beta_0 \) は切片(y軸と交わる点)
  • \( \beta_1 \) は傾き(回帰係数)
  • \( \epsilon \) は誤差項

2.2. 最小二乗法

線形回帰で最もよく使われる方法は、最小二乗法です。これは、観測データとモデルの予測値の差の二乗和を最小化することを目指します。

まず、観測データが \( (x_i, y_i) \) で与えられたとします。モデルの予測値は次のように表されます。

\[ \hat{y}_i = \beta_0 + \beta_1 x_i \]

目的は、誤差の二乗和を最小にすることです。この誤差の二乗和は次のように表されます。

\[ S(\beta_0, \beta_1) = \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 = \sum_{i=1}^{n} (y_i - (\beta_0 + \beta_1 x_i))^2 \]

これを最小化するために、\(\beta_0\) と \(\beta_1\) についての偏微分をそれぞれ求めて、それらを 0 に設定します。\(\beta_0\) についての偏微分すると次のようになります。

\[ \frac{\partial S}{\partial \beta_0} = -2 \sum_{i=1}^{n} (y_i - \beta_0 - \beta_1 x_i) \]

この偏微分を 0 にすると、

\[ -2 \sum_{i=1}^{n} (y_i - \beta_0 - \beta_1 x_i) = 0 \]

\[ \sum_{i=1}^{n} (y_i - \beta_0 - \beta_1 x_i) = 0 \]

\[ \sum_{i=1}^{n} y_i = n \beta_0 + \beta_1 \sum_{i=1}^{n} x_i \]

次に\(\beta_1\) についての偏微分すると次のようになります。

\[ \frac{\partial S}{\partial \beta_1} = -2 \sum_{i=1}^{n} x_i (y_i - \beta_0 - \beta_1 x_i) \]

この偏微分を 0 にすると、

\[ -2 \sum_{i=1}^{n} x_i (y_i - \beta_0 - \beta_1 x_i) = 0 \]

\[ \sum_{i=1}^{n} x_i (y_i - \beta_0 - \beta_1 x_i) = 0 \]

\[ \sum_{i=1}^{n} x_i y_i = \beta_0 \sum_{i=1}^{n} x_i + \beta_1 \sum_{i=1}^{n} x_i^2 \]

これらの2つの方程式をまとめて解きます。

\[ \sum_{i=1}^{n} y_i = n \beta_0 + \beta_1 \sum_{i=1}^{n} x_i \]

\[ \sum_{i=1}^{n} x_i y_i = \beta_0 \sum_{i=1}^{n} x_i + \beta_1 \sum_{i=1}^{n} x_i^2 \]

ここで、\( \bar{x} = \frac{1}{n} \sum_{i=1}^{n} x_i \) および \( \bar{y} = \frac{1}{n} \sum_{i=1}^{n} y_i \) を平均値とすると、

\[ n \beta_0 = \sum_{i=1}^{n} y_i - \beta_1 \sum_{i=1}^{n} x_i \]

\[ \beta_0 = \bar{y} - \beta_1 \bar{x} \]

次に、\(\beta_1\) に対して解きます。まず、\(\beta_0\) を代入します。

\[ \sum_{i=1}^{n} x_i y_i = (\bar{y} - \beta_1 \bar{x}) \sum_{i=1}^{n} x_i + \beta_1 \sum_{i=1}^{n} x_i^2 \]

\[ \sum_{i=1}^{n} x_i y_i = \bar{y} \sum_{i=1}^{n} x_i - \beta_1 \bar{x} \sum_{i=1}^{n} x_i + \beta_1 \sum_{i=1}^{n} x_i^2 \]

\[ \sum_{i=1}^{n} x_i y_i - \bar{y} \sum_{i=1}^{n} x_i = \beta_1 \left( \sum_{i=1}^{n} x_i^2 - \bar{x} \sum_{i=1}^{n} x_i \right) \]

\[ \left( \sum_{i=1}^{n} x_i y_i \right) - n\bar x \bar{y} = \beta_1 \left(\left( \sum_{i=1}^{n} x_i^2  \right) - n\bar{x}^2  \right) \]

\[ \sum_{i=1}^{n} \left( x_i y_i -\bar x \bar{y}\right)  = \beta_1  \sum_{i=1}^{n} \left(x_i^2 - \bar{x}^2  \right) \]

\[ \sum_{i=1}^{n} (x_i - \bar{x})(y_i - \bar{y}) = \beta_1 \sum_{i=1}^{n} (x_i - \bar{x})^2 \]

最終的に、\(\beta_1\) は以下のようになります。

\[ \beta_1 = \frac{\sum_{i=1}^{n} (x_i - \bar{x})(y_i - \bar{y})}{\sum_{i=1}^{n} (x_i - \bar{x})^2} \]

\(\beta_0\) に$\beta_1$を代入すると、

\[ \beta_0 = \bar{y} - \beta_1 \bar{x} \]

これで、最小二乗法によって単回帰分析の傾きと切片を求めることができました。

3. 多重線形回帰

ふゅか
ふゅか
多重線形回帰についても教えてくれる?
はるか
はるか
多重線形回帰は説明変数が複数ある場合に使う。

3.1. 多重線形回帰のモデル

多重線形回帰では、目的変数 \( Y \) を複数の説明変数 \( X_1, X_2, \ldots, X_n \) を使ってモデル化します。

\[ Y = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \cdots + \beta_n X_n + \varepsilon \]

ここで、

  • \( Y \) は目的変数(従属変数)
  • \( X_1, X_2, \ldots, X_n \) は説明変数(独立変数)
  • \( \beta_0 \) は切片(定数項)
  • \( \beta_1, \beta_2, \ldots, \beta_n \) は各説明変数に対応する回帰係数
  • \( \varepsilon \) は誤差項

3.2. 行列表記

多重線形回帰を行列の形式で表すことができます。

\[ \mathbf{Y} = \mathbf{X} \boldsymbol{\beta} + \boldsymbol{\varepsilon} \]

3.3. 多重線形回帰の係数の導出

最小二乗法による係数ベクトルの推定値 \( \hat{\boldsymbol{\beta}} \) は次のように求められます。

\[ \hat{\boldsymbol{\beta}} = (\mathbf{X}^\top \mathbf{X})^{-1} \mathbf{X}^\top \mathbf{Y} \]

最小二乗法による多重線形回帰の係数 \( \mathbf{\hat{\beta}} \) の導出を行います。最小二乗法では、誤差の二乗和を最小化することで、回帰係数を求めます。以下の手順で導出します。最小二乗法では、観測値 \( Y \) とモデルの予測値 \( X\beta \) の差の二乗和を最小化します。

\[ S(\mathbf \beta) = \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 = (Y - X\mathbf\beta)^\top (Y - X\beta) \]

誤差の二乗和を展開します。

\[ S(\beta) = (Y - X\beta)^\top (Y - X\beta) \]

\[ = Y^\top Y - 2\beta^\top X^\top Y + \beta^\top X^\top X \beta \]

この \( S(\beta) \) を \( \beta \) に関して最小化するために、ベクトル\( \beta \) について微分し、ゼロと置きます。

\[ \frac{\partial S(\beta)}{\partial \beta} = -2X^\top Y + 2X^\top X \beta = 0 \]

上記の式を整理すると、以下のようになります。

\[ X^\top X \beta = X^\top Y \]

ここで、\( X^\top X \) が正則(逆行列が存在)であると仮定します。 \( \beta \) を求めます。

\[ \beta = (X^\top X)^{-1} X^\top Y \]

PR