sh1’s diary

プログラミング、読んだ本、資格試験、ゲームとか私を記録するところ

最小二乗法による回帰直線式の作り方と使用例

最小二乗法による回帰直線は、測定で得られた数値の組から、想定する(作成する)関数が測定値に対して好ましい・よい近似となるように、残差の二乗和を最小とするような係数を作成します。

まず、回帰直線がどのように作られているのか整理します。

はてなTeX レンダリングmathjax」 を利用しているため、読み込みが重たいです。 1

最小二乗法による回帰直線式 ax+b の求め方

n 個のデータ (x _ {1}, y _ {1}) \dots (x _ {n}, y _ {n}) を、直線式 y=ax+b に当てはめて、理論値 \hat{y _ {n}} が得られたとします。これを、 \hat{y _ {i}}=ax _ {i}+b と定義します。

最小二乗法なので、実際の値と理論値の差の二乗(残差の二乗和)の合計を S_E とすると

{
\begin{eqnarray}
{S_E} &=& (y_{1}-\hat{y_1})^{2}+\dots+(y_{i}-\hat{y_i})^{2} +\dots+(y_{n}-\hat{y_n})^{2} \\
 &=& (y_{1}-\hat{y_1})^{2}+\dots+(y_{i}-(ax_{i}+b)) +\dots+(y_{n}-(ax_{n}+b)) \\
 &=& \sum_{i=1}^{n}\{y_{i}-(ax_{i}+b)\}^{2} \tag{1}
\end{eqnarray}
}


\hat{y _ {i}}ax _ {i}+b を代入して式を変換することができます。 (1) 式において、S _ {E} が最小になるような a と b を求めるため、(1) 式を展開します。

{
\begin{eqnarray}
{S_E} &=& \sum  \{y_{i}^{2} -2y_{i}(ax_{i}+b) + (ax_{i}+b)^{2}\} \\
&=& \sum y_{i}^{2} -2 \sum  y_{i} (ax_{i}+b) + \sum  (ax_{i}+b)^{2} \\
&=& \sum y_{i}^{2} - 2a\sum y_{i}x_{i} -2b\sum y_{i} + a^{2}\sum x_{i}^{2} + 2ab\sum x_{i}+nb^{2}
 \tag{2}
\end{eqnarray}
}


S _ {E} が最小になる a と b を求めるためには、(2) 式を S _ {E} を a, b でそれぞれ微分して、\frac{dS _ {E}}{da}=0, \frac{dS _ {E}}{db}=0 になる a, b を求めます。(導関数を参考にする)

(2) 式を b で微分すると

{
\begin{eqnarray}
\frac{dS_{E}}{db} &=& -2\sum y_{i} + 2a\sum x_{i} + 2nb = 0 \\
b &=& \frac{2 \sum y_{i} - 2a \sum x_{i}}{2n} \\
b &=& \frac{ \sum y_{i} - a \sum x_{i}}{n} \tag{3}
\end{eqnarray}
}


(2) 式を a で微分し、変数 b に (3) 式を代入すると (4) 式のようになり、整理すると (5) 式が得られます。

{
\begin{eqnarray}
\frac{dS_{E}}{da} = -2\sum y_{i}x_{i}+2a\sum x_{i}^{2}+2b\sum x_{i} &=& 0 \\
-\sum y_{i}x_{i} + a\sum x_{i}^{2} + \frac{\sum x_{i} \sum y_{i}}{n} + \frac{-a(\sum x_{i})^{2}}{n} &=& 0 \tag{4} \\
a\sum x_{i}^{2} - \frac{a(\sum x_{i})^{2}}{n} = \sum x_{i}y_{i} - + \frac{\sum x_{i} \sum y_{i}}{n} \\
a(\sum x_{i}^{2} - \frac{(\sum x_{i})^{2}}{n}) = \sum x_{i}y_{i} - + \frac{\sum x_{i} \sum y_{i}}{n} \\
a = \frac{\sum x_{i}y_{i} - \sum x_{i} \sum y_{i} /n}{\sum x_{i}^{2} - (\sum x_{i})^{2}/n} \tag{5}
\end{eqnarray}
}


(5) 式は、分子が総和を表し、分母が(x の)偏差平方和を表します。具体的には、それぞれ (6) 式 (7) 式のとおりです。

{
\begin{eqnarray}
\sum(x_{i}-\bar x)(y_{i}-\bar y) &=& \sum x_{i} y_{i}- \frac{\sum x_{i} \sum y_{i}}{n} \tag{6} \\
\sum(x_{i} - \bar{x})^{2} &=& \sum x_{i}^{2} - \frac{(\sum x_{i})^{2}}{n} \tag{7}
\end{eqnarray}
}


 \bar y および  \bar x は、平均を表します。平均値は  \frac{\sum x _{i}}{n} のように表すことも可能です。最後に (6) (7) 式を (5) 式の分子と分母に代入すると (8) 式から a を求めることができるようになりました。

{
\begin{equation}
a = \frac{\sum(x_{i}-\bar x)(y_{i}-\bar {y})}{\sum(x_{i}-\bar x)^{2}} \tag{8}
\end{equation}
}


a の値を求める式ができたので、b の値を求める式を用意します。(2) 式を b で微分した式を整理するだけです。a の値を求める (8) 式は、変数 b を含まないため、先に求めることができます。なので、b の値は変数 a を含む式でも、問題ありません。

{
\begin{eqnarray}
\require{cancel}
\frac{dS_{E}}{db} &=& -2\sum y_{i} + 2a\sum x_{i} + 2nb = 0 \\
b &=& \frac{\cancel{2}\sum y_{i} -\cancel{2}a \sum x_{i}}{\cancel{2}n} \\
&=&\frac{\sum y_{i}}{n} - a \frac{\sum x_{i}}{n} \tag{9}
\end{eqnarray}
}


よって、(8) 式と (9) 式から、a と b の値を求めることができます。

{
\begin{eqnarray}
a &=& \frac{\sum(x_{i}-\bar x)(y_{i}-\bar {y})}{\sum(x_{i}-\bar x)^{2}} \\
b &=&\frac{\sum y_{i}}{n} - a \frac{\sum x_{i}}{n}
\end{eqnarray}
}


回帰直線式のテスト

次の組について考えます。ある試料を約 10mg 刻みの質量で分析すると、次のような信号強度(分析結果)が得られた組み合わせデータ n=6 (6つの検体数)です。ここでは、仮に x = 信号強度y = 試料量 としてみます。

試料量 信号強度
19.02mg 13,439
30.97mg 19,398
39.57mg 23,862
50.39mg 29,554
61.13mg 35,271
69.86mg 39,975

Excel をつかって、ざっと計算してみると  a = 0.001912, b = -6.29715 になりました。一応 Excel の回帰直線を表示させてみると、計算結果が自分で計算した結果と一致しているのもわかります。

f:id:shikaku_sh:20191025110225p:plain:w400
計算結果が一致

補足すると、Excel の近似曲線で自動的に算出した回帰直線式と比較しています。

f:id:shikaku_sh:20191025110341p:plain:w400
「+」の近似曲線で直線式を選択する

通常の回帰式は横軸に試料量、縦軸に信号強度をおきます。バラつきを持つ信号強度を y におくことで、その残差を最小にします。 2

回帰直線式の応用

テストで作成した回帰直線から、未知の信号強度の試料量を求めてみます。

試料量 信号強度
??.??mg 30,162

式は次のようになります。

{
\begin{eqnarray}
y &=& ax+b \\
y &=& 0.001912x - 6.29715 \\
y &=& 0.001912 \times 30162 - 6.29715 \\
y &=& 51.36079278
\end{eqnarray}
}


f:id:shikaku_sh:20191025110435p:plain:w400
未知の試料量をオレンジの点で示しました

よって 未知の試料量は 51.36mg の信号強度だったんではないかな、と考えることができます。

サンプル

テストで作成した Excel データを公開しています。

参考

数値解析 (技術者のための高等数学)

数値解析 (技術者のための高等数学)

[改訂第7版]LaTeX2ε美文書作成入門

[改訂第7版]LaTeX2ε美文書作成入門

Excelで学ぶ多変量解析入門−Excel2013/2010対応版−

Excelで学ぶ多変量解析入門−Excel2013/2010対応版−

  • 作者:菅 民郎
  • 発売日: 2013/04/19
  • メディア: 単行本(ソフトカバー)


  1. はてなTeX 仕様の決定はこちら

  2. 検量線に関わる理論と評価方法について 農薬調査研究報告 (7), 101-106, 2015