バックナンバーはこちら。
https://www.simulationroom999.com/blog/compare-matlabpythonscilabjulia2-backnumber/
はじめに
平均、分散、共分散を用いた1次関数最小二乗法の係数算出について。
いままで導出してきた変形式を組み合わせてみる。
今回は係数\(b\)を求めるのがメイン。
登場人物
博識フクロウのフクさん
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
いままで導出してきた数式たち
じゃ、準備が整ったところで、
前回までの変形式たちを再掲しておこう。
\(
\begin{eqnarray}
\displaystyle a\sum 1 &=& an \dots 総和の変形 \\
\displaystyle n\bar{y}&=&\sum y_i \dots 平均の変形 \\
\displaystyle \sigma_x^2 &=&\bar{x_i^2}-(\bar{x})^2 \dots 分散の変形 \\
\displaystyle \sigma_{xy}&=&\frac{1}{n}\sum x_i y_i – \bar{x}\bar{y} \dots 共分散の変形
\end{eqnarray}
\)
さらに、1次関数最小二乗法を求めるための連立方程式も再掲しておく。
\(
\begin{eqnarray}
\displaystyle a\sum x_i^2 + b\sum x_i &=& \sum x_i y_i \dots (1)\\
\displaystyle a\sum x_i + b\sum 1 &=& \sum y_i \dots (2)
\end{eqnarray}
\)
これらを組み合わせると、1次関数最小二乗法を係数を求める数式が完成する・・・はずってことか。
そうそう。
係数bを求める
まずは(2)の式を元に係数\(b\)を求める。
総和の変形、平均を使用する
導出過程は以下になる。
\(
\begin{eqnarray}
\displaystyle a\sum x_i + b\sum 1 &=& \sum y_i \\
a\sum x_i + nb&=&\sum y_i \\
nb&=&\sum y_i – a\sum x_i \\
b&=&\frac{1}{n}\sum y_i-\frac{a}{n}\sum x_i \\
b&=&\bar{y}-a\bar{x} \qquad//
\end{eqnarray}
\)
おー!
\(y\)の平均と\(x\)の平均から\(b\)が求まるって理屈か!
係数aは?
あれ?でも\(a\)の値がわかってないから、
これだと\(b\)が求まらない??
そうだね。
現段階では\(a\)は不明。
よって、\(b\)も不明。
どうするの?
今回は(2)の式をつかっただけなので、
(1)の式に対して\(b\)を代入することで、\(b\)が消える。
結果として\(a\)が求まるはず。
\(a\)が求まれば、自然と\(b\)も求まる。
って理屈が使えそうだ。
普通の連立方程式と考え方は一緒か。
そうそう。
まとめ
まとめだよ。
- いままでの導出した変形式と一次関数最小二乗法の連立方程式を再掲。
- 最小二乗法の連立方程式の片方からbを算出。
- aが不明なため、このままではbも不明だが、もう片方の式のbに代入すればaが求まる。
- aが求まれば、bも求まるはず。
バックナンバーはこちら。
コメント