CONTAINER技術系のこと書きます。Python今回は、データセットのある次元の値から別の次元の値を予測する方法の一つとして、最小二乗法というやり方で回帰直線を求めてみる。いえ、いきなり最小二乗法や回帰直線といわれても何が何やらという感じなので、最初はその説明からしていく。回帰まず、ある次元の値から別の次元の値を予測するというのは具体的にどういうことだろうか。賃貸の部屋の広さと家賃の値段に相関関係があるとしよう。広い部屋はそれだけ家賃も高いということで、これは直感に反していない。すれば、部屋の広さと家賃の値段の関係が含まれたデータセットがあるとき、部屋の広さから家賃の値段を予測できるはずだ。統計や機械学習の世界では、このような問題のジャンルに「教師あり学習」の「回帰」という名前がついている。ある次元の値から別の次元の値を予測する問題がすべて回帰と呼ばれるわけではない。いうと、その次元に含まれるデータの種類によって、やることが異なるため。データの種類には、大きく分けて二つある。男性や女性、あるいは好きな食べ物といった、いくつかの種類からひとつを選ぶようなものは質的データという。それに対し、年齢や一日の摂取カロリーなど、値が連続性を持ったものは量的データという。ある次元から別の次元を予測するとき、予測する対象が質的データなら「分類」で、量的データなら「回帰」になる。予測の元ネタになるデータのことを説明変数、予測する値のことを応答変数と呼ぶ。このとき、説明変数がひとつなら単回帰、複数なら重回帰と呼ばれる。以上から、今回このエントリでやってみるのは単回帰になる。回帰直線というのは、説明変数と応答変数の関係を次の一次式で表した直線のこと。応答変数を表している。いうのは、教師データに最もフィットする回帰係数を見つける手法のことをいう。最小化するようになっている。予測値にはハットの記号をつける慣例になっているため。ようするに、これは真の値と予測値との差のこと。具体的には、この残差を自乗した合計値が最も小さくなる回帰係数を見つけるのが目的になる。これを残差平方和という。自乗しているのは符号をすべてプラスにするため。展開すると、こうなる。等しいとすると連立一次方程式に直すことができる、らしい。そこに至るまでの過程はひとまず飛ばして、先人の知恵だけ享受することにする。必要なのは次の回帰直線を表した一次式。