単回帰分析の傾きをPython(numpy)で求める

はじめに

単回帰分析をする際、重要になるのが、「傾き」と「切片」。
「切片」はセンタリングを行うことにより省略可能だが、「傾き」を計算するのは複雑な式を用いる。 難しそうなインパクトが強すぎて中身がまったく頭に入ってこない。 これをnumpyで実装する。

実装

準備

まずは定数を定義

描写するとこのような感じになる。 データの中心化を行う。値から、平均分を引く

描写するとこのような感じになる。
グラフの形は変わらず、全体的に中心になった。  

傾きを計算する

改めて計算式を確認。
分母、分子をそれぞれ別々に計算する。 numpyで計算する際は、このようになる

    次に分子

最後に分子と分母を組み合わせる

 

実施結果

傾きを元に実践を引いてみるとこのようになる 悪くなさそう。 実は実際はscikit-learnを使うともっと早いようだ。