2018-04-25

[Python] 最小自乗法で重回帰と単回帰を求めてみた

最小自乗法による回帰分析の練習をしました。

最小自乗法(最小二乗法)は分布した点のばらつきが最も小さくなるような関数を求める手法です。 残差の自乗和が最小になる関数を求めます。

単回帰

単回帰とは 1つの説明変数から 目的変数を求める回帰分析です。 ここでは 以下の方法で求める

  • 偏導関数の連立方程式を解く
  • 共分散と分散から回帰係数を算出して解く

データは適当に考えた身長と体重のデータを使います。

重回帰

単回帰とは 複数の説明変数から 目的変数を求める回帰分析です。 ここでは 以下の方法で求める

  • 偏導関数の連立方程式を解く (先程と同じ)
  • 擬似逆行列を使って解く

先程の身長、体重に腹囲を追加したデータを使います。

二次関数の回帰

上記はいずれも一次関数をモデルとしていましたが、それ以外の関数にフィッティングさせることもできます。

今回は近似する二次関数を求めてみます。先程使った 擬似逆行列 で求めてみます。データは適当。

info
  • 今回は理解のために擬似逆行列を用いましたが、最小二乗法の解法としてはあまり用いられないようです。

参考