3.3 最小二乗法

ここでは,回帰直線と実際のデータとの差の量である残差に注目する.ここで適当にHeightsからデータを10個取り出したデータを考え,推定値から得られる回帰直線も一緒に考える.

Heightsのデータから10個だけ抜き取った

Figure 3.5: Heightsのデータから10個だけ抜き取った

いま推定値をそれぞれ\(\hat \beta_0, \hat \beta_1\)として回帰直線で得られる\(y_i\)の推定値を

\[ \begin{align} \hat y_i = \hat \beta_0 + \hat \beta_1 x_i \end{align} \tag{3.2} \]

とする.そしてこの推定値と実際のデータとの差を

\[ \begin{align} e_i = \hat y_i - y_i \end{align} \tag{3.3} \]

と定義しこれを残差(residuals)と呼ぶ.先ほどのFig 3.5において,実際のデータ点(黒丸)と回帰直線(オレンジの線) の差なのでグラフでみると次のようになる.

$\hat y_i$と$y$のそれぞれの差

Figure 3.6: \(\hat y_i\)\(y\)のそれぞれの差

最小二乗法ではこの\(e_i\)に着目し\(\sum_{i=1}^{n} e_i^2\)をできるだけ小さくするようにパラメータ\(\beta_0, \beta_1\)を選ぶ.これを数式で以下のように表現する.

\[ \begin{align} \hat \beta_0, \hat \beta_1 = \mathop{\rm arg~min}\limits_{\beta_0, \beta_1 \in \mathbb R} \sum_{i=1}^{n} e_i^2 \end{align} \tag{3.4} \]

実際に最小二乗法によってパラメータの推定値がどのように表されるのか確認していく. (3.4)式を満たすパラメーター\(\hat \beta_0, \hat \beta_1\)を求めたいので,これらの関数である\(L(\beta_0, \beta_1)\)を次のように考える.

\[ \begin{align} L(\beta_0, \beta_1) &= \sum_{i=1}^{n} e_i^2 \\ &= \sum \left (y_i - \hat y_i \right)^2 \\ &= \sum \left[ y_i - \left(\hat \beta_0 + \hat \beta_1 x_i \right) \right]^2 \end{align} \tag{3.5} \]

具体的には\(L(\beta_0, \beta_1)\)をそれぞれの変数で微分し\(0\)となる点を考える.ここで\(L\)については微分した値が\(0\)になる点が最小になることが\(L\)の関数形からわかる.

すなわち

\[\begin{align} \begin{matrix} \begin{cases} \frac{\partial}{\partial \beta_0} L(\beta_0, \beta_1) \\ \frac{\partial}{\partial \beta_1} L(\beta_0, \beta_1) \end{cases} & \Leftrightarrow & \begin{cases} \sum_{i=1}^{n} \left[ y_i - (\beta_0 + \beta_1 x_i) \right] = 0 \\ \sum_{i=1}^{n} \left[ y_i - (\beta_0 + \beta_1 x_i) \right]x_i = 0 \end{cases} \end{matrix} \tag{3.6} \end{align}\]

を解けば良い.

3.3.1 \(\hat \beta_0\)の推定

\(\hat \beta_0\)については,

\[ \begin{align} \sum_{i=1}^{n} \left[ y_i - (\beta_0 + \beta_1 x_i) \right] &= \sum y_i - n\beta_0 + \beta_1 \sum x_i \\ &= n \bar y - n \beta_0 - \beta_1 n \bar x \\ &= 0 \end{align} \]

より

\[ \begin{align} \hat \beta_0 = \bar y - \hat \beta_1 \bar x \end{align} \tag{3.7} \] を得る.ここで\(\bar x,\bar y\)はそれぞれ\(x_i, y_i\)の平均で\(\bar x = 1/n \sum x_i, \bar y = 1/n \sum y_i\)とした.これをそれぞれ式変形すれば

\[ \begin{align} \sum x_i = n \bar x \\ \sum y_i = n \bar y \end{align} \]

を得る.

3.3.2 \(\hat \beta_1\)の推定

次に\(\hat \beta_1\)については,

\[ \begin{align} \sum_{i=1}^{n} \left[ y_i - (\beta_0 + \beta_1 x_i) \right]x_i &= \sum y_i x_i - \beta_0 \sum x_i - \beta_1 \sum x_i^2 \\ \end{align} \]

とし,ここで(3.7)式を代入すると

\[ \begin{align} \sum y_i & x_i - (\bar y - \hat \beta_1 \bar x) \sum x_i - \hat \beta_1 \sum x_i^2 \\ &= \hat \beta_1 \left(\bar x \sum x_i - \sum x_i^2 \right) + \sum y_i x_i - \bar y \sum x_i \end{align} \]

というように変形できる.さらに

\[ \begin{align} &\sum (x_i - \bar x)^2 = \sum x_i^2 - \bar x \sum x_i \\ &\sum (x_i - \bar x) (y_i - \bar y) = \sum x_i y_i - \bar y \sum x_i \end{align} \tag{3.8} \]

であることに注意すると

\[ \begin{align} \hat \beta_1 = \frac{\sum(x_i - \bar x)(y_i - \bar y)}{\sum (x_i - \bar x)^2} \end{align} \tag{3.9} \] となる.まとめると(3.4)式を満たすパラメーターの推定値は

\[ \begin{align} \hat \beta_0 &= \bar y - \hat \beta_1 \bar x \\ \hat \beta_1 &= \frac{\sum(x_i - \bar x)(y_i - \bar y)}{\sum (x_i - \bar x)^2} \end{align} \tag{3.10} \]

と解析的に求めることができる.