最小二乗法は、観測値と直線による予測値の差を二乗し、その合計が最小になる直線を選ぶ方法です。この記事では、\(y=ax+b\)の傾き\(a\)と切片\(b\)を偏微分から導出します。

最小二乗法の式を偏微分で導出する

結論

\(x_1,\ldots,x_n\)がすべて同じ値ではないとき、最小二乗直線\(y=ax+b\)は

\begin{align*} a &=\frac{\sum_{i=1}^{n}(x_i-\bar{x})(y_i-\bar{y})} {\sum_{i=1}^{n}(x_i-\bar{x})^2},\\ b&=\bar{y}-a\bar{x} \end{align*}

で与えられます。ここで\(\bar{x}=\frac1n\sum x_i\)、\(\bar{y}=\frac1n\sum y_i\)です。

残差平方和を最小にする

\(n\)個のデータ\((x_i,y_i)\)に対して、直線の予測値を\(ax_i+b\)、残差を\(y_i-(ax_i+b)\)とします。最小化する関数は

\begin{align*} E(a,b)=\sum_{i=1}^{n}\left(y_i-ax_i-b\right)^2 \end{align*}

です。二乗を展開すると、例えば\(a\)については

\begin{align*} \left(-x_i a+(y_i-b)\right)^2 =x_i^2a^2-2ax_i(y_i-b)+(y_i-b)^2 \end{align*}

となります。また、\(b\)については

\begin{align*} \left(-b+(y_i-ax_i)\right)^2 =b^2-2b(y_i-ax_i)+(y_i-ax_i)^2 \end{align*}

です。残差平方和は\(a,b\)について凸な二次関数です。特に\(x_i\)がすべて同じでなければ、傾きと切片を一意に求められます。

偏微分して正規方程式を作る

\(E(a,b)\)を\(a,b\)で偏微分し、それぞれ0とおきます。

\begin{align*} \frac{\partial E}{\partial a} &=-2\sum_{i=1}^{n}x_i(y_i-ax_i-b)=0,\\ \frac{\partial E}{\partial b} &=-2\sum_{i=1}^{n}(y_i-ax_i-b)=0 \end{align*}

整理すると、次の正規方程式を得ます。

\begin{align*} a\sum_{i=1}^{n}x_i^2+b\sum_{i=1}^{n}x_i &=\sum_{i=1}^{n}x_i y_i,\\ a\sum_{i=1}^{n}x_i+nb &=\sum_{i=1}^{n}y_i \end{align*}

行列で書けば、

\begin{align*} \begin{pmatrix} \sum x_i^2 & \sum x_i\\ \sum x_i & n \end{pmatrix} \begin{pmatrix}a\\b\end{pmatrix} = \begin{pmatrix}\sum x_i y_i\\\sum y_i\end{pmatrix} \end{align*}

です。

傾きと切片を求める

二本目の正規方程式を\(n\)で割ると、

\begin{align*}a\bar{x}+b=\bar{y}\end{align*}

なので、

\begin{align*}b=\bar{y}-a\bar{x}\end{align*}

です。これを一本目へ代入して整理すると、

\begin{align*} a &=\frac{\sum_{i=1}^{n}(x_i-\bar{x})(y_i-\bar{y})} {\sum_{i=1}^{n}(x_i-\bar{x})^2}\\ &=\frac{n\sum x_i y_i-(\sum x_i)(\sum y_i)} {n\sum x_i^2-(\sum x_i)^2} \end{align*}

を得ます。分母は\(n\sum(x_i-\bar{x})^2\)に等しいため、\(x_i\)がすべて同じ場合は0になります。その場合、異なる傾きの直線をデータから区別できず、傾きは一意に決まりません。

最小値であることの確認

\(x_i\)がすべて同じでなければ、\(E(a,b)\)のヘッセ行列は

\begin{align*} 2\begin{pmatrix} \sum x_i^2 & \sum x_i\\ \sum x_i & n \end{pmatrix} \end{align*}

で正定値です。したがって、正規方程式で求めた点は単なる停留点ではなく、残差平方和を一意に最小化する点です。

次に読むと理解が深まる記事