MATLAB、Scilab、Scilab、Julia比較ページはこちら
https://www.simulationroom999.com/blog/comparison-of-matlab-python-scilab/
はじめに
の、
MATLAB,Python,Scilab,Julia比較 第2章 その16【最小二乗法⑮】
MATLAB,Python,Scilab,Julia比較 第2章 その17【最小二乗法⑯】
MATLAB,Python,Scilab,Julia比較 第2章 その18【最小二乗法⑰】
MATLAB,Python,Scilab,Julia比較 第2章 その19【最小二乗法⑱】
MATLAB,Python,Scilab,Julia比較 第2章 その20【最小二乗法⑲】
MATLAB,Python,Scilab,Julia比較 第2章 その21【最小二乗法⑳】
MATLAB,Python,Scilab,Julia比較 第2章 その22【最小二乗法㉑】
を書き直したもの。
前回まで、1次関数最小二乗法をやってきたが、実は別の数式の導出も可能。
平均、分散、共分散及びこれらの変形式を利用する。
そこらへんの話を始める。
1次関数最小二乗法の別の算出方法
前回までで、さんざん1次関数最小二乗法をやったわけだが、
別の数式をもって1次関数最小二乗法を実現するのがあるので、
それの説明をしようかと思う。
簡単に言うと、
「総和、平均値、分散、共分散を利用した式」
平均値、分散、共分散で1次関数最小二乗法が実現できるのか?
少々荒っぽい表現になるが、
最小二乗法は複数のプロットのど真ん中をぶち抜いていく感じの線を引く。
これは軸の置き方を変えると平均を求めているのと一緒と言える。
そして、その軸の置き方は分散具合と共分散に決まると仮定すると平均を求めてる感じがしてくるだろう。
そこらへんをアイデアとして数式を求める。
まずは雰囲気でとらえる。
その後に細かいところを徐々に詰めていけばOK。
導出までの流れ
おおよそ以下の手順で説明する。
- 1次関数最小二乗法の途中過程の連立方程式の確認
- 上記方程式を見た際の平均値、分散、共分散の関連性の雰囲気
- 総和、平均値、分散、共分散の定義及び変形式の確認
- 上記を元に1次関数最小二乗法の連立方程式を解き直す
一つ一つは結構シンプルな話なはず。(たぶん)
【再掲】1次関数最小二乗法の途中過程の連立方程式
まずは、以前求めた連立方程式を再掲しておこう。
\(
\begin{eqnarray}
\displaystyle 2a\sum x_i^2 + 2b\sum x_i &=& 2\sum x_i y_i \\
\displaystyle 2a\sum x_i + 2b\sum 1 &=& 2\sum y_i
\end{eqnarray}
\)
そして、見てわかると思うが、全体を2で割れる。
\(
\begin{eqnarray}
\displaystyle a\sum x_i^2 + b\sum x_i &=& \sum x_i y_i \\
\displaystyle a\sum x_i + b\sum 1 &=& \sum y_i
\end{eqnarray}
\)
上記方程式を見た際の平均値、分散、共分散の関連性の雰囲気
この連立方程式に対しての所感を書くと以下になる。
- 全体を\(1/n\)したら、それぞれの要素の平均値が求まる。
- 特に\(\displaystyle b\sum 1 \)に関しては\(b\)が求まりそう。
- bが求まれば、連立方程式なわけだから、代入して解き切ってしまえば証明終了なはず。
- \(\displaystyle \sum x_i y_i \)は共分散の変形で解けそう。
- \(\displaystyle a\sum x_i^2 + b\sum x_i \)は分散の変形で解けそう。
いたるところに「解けそう」という文言があるが、
現時点ではあくまで仮説となる。
これが本当かについては実際に解いてみて確認ってことになる。
この仮説を立証するために平均、分散、共分散の定義の確認と、式の変形が必要となる。
よって、まずはそこから片付けていく。
コメント