いっかくのデータサイエンティストをいく

1からプログラミングとデータサイエンスを独習したい

【統計学】回帰分析と最小二乗法(理論編その1)

2変数間の関係を分析する代表的な手法に単回帰分析があります。今回はその理論を考えてみたいと思います。 私は統計学の面白さにこの単回帰分析からはまったといっても過言ではないくらいです。 なお、今回は微分やらΣやらがいっぱい出てきます。読みたくない人は実装編だけお読みください。

有斐閣統計学」3章に当たります。

問題設定

居酒屋の店員で、ビール仕入れの量を考えないといけないとします。少なすぎると「まずはビール、もできんのかい!」と客に怒られそうですし、多すぎると炭酸が抜けておいしくなくなるかもしれません。売れる量だけ仕入れたいものです。 ここで、「ビールの消費量」と「気温」って関係あるんじゃない?と考えたとします。ここで「関係」を数式で表すと無限に考えられそうですが、ここでは1番簡単そうな1次関数(中学2年で習ったやつ)で考えます。つまり

(ビールの消費量)=\displaystyle \alpha + \displaystyle\beta ×(気温)

となります。\displaystyle \alphaは切片、\displaystyle\betaは傾きです。この傾きと切片(=aとb)が決まれば気温からビールの消費量が決まり、ビールの仕入れ量を決めることができるのです。

説明変数と被説明変数

先ほどの章のビールの消費量を\displaystyle \alpha 、気温を\displaystyle \betaとします。 原因(要因、要素)が気温、結果がビールの消費量となります。気温が〇〇度だからビールが〇〇リットル売れた、のように。 \displaystyle xのことを説明変数\displaystyle yのことを被説明変数(従属変数、目的変数)といいます。 そして\displaystyle y=\alpha+\beta{x}のように関係を数式で表したものをモデルといいます。

残差とは

ここで、何かしらの方法で無事にビールの消費量と気温の関係が\displaystyle y=\alpha +\beta{x}であらわせたとしましょう。 しかし、実際は気温とビールの消費量が直線で表されるとは限りません。簡単に言うと同じ気温でもビールの消費量は違う日もありますよね。モデルから推定された値(回帰値という)と観測値との誤差を残差といいます。

残差が大きいと回帰値を信じてビールを仕入れたのに売れ残ってしまったり足りなくてクレームが来てしまう。。。 つまり一番うれしいのは残差が最も小さいことです。

これからは、残差が最も小さくなるようにaとbを決めます。

残差平方和

※ここからは理論値と計算結果の推定値、実際の観測値の区別をお間違いなく

ビールの消費量と気温の関係式を次のように設定します。

(ビールの消費量)=\displaystyle \alpha + \displaystyle\beta ×(気温)+(このモデルでは説明できない部分*1

(このモデルでは説明できない部分)のことを誤差項といいます。誤差項を \displaystyle\u_iとして数式に書き換えると

\displaystyle y=\alpha+\beta{x}+u_i

となります。 \displaystyle \alpha\displaystyle \betaの計算で求めた値*2をa,bとします。ある値(例えば気温30度のとき)\displaystyle\x_iの回帰値(たとえば40リットル)を\displaystyle\hat{y_i}とすると

\displaystyle hat{y}=a+b{x}

また、誤差項の実際の観測値を残差とすると、残差は

\displaystyle e_i = y_i - hat{y_i} =y_i - a+b{x_i}

となります。

ところで、残差はプラスにもマイナスにもなります。ビールの例では足りない時も余るときもあるのです。 しかしながら、考えたいのは推定値と観測値の差の大きさであってプラスマイナスは関係ありません。 ですのでマイナスもプラスにして考えるよう残差を2乗して考えます。

さらに、1日だけ推定値が当たっても仕方がありません。すべての日でできるだけ推定値が観測地に近く会ってほしいものです。そのため残差を合計します.

以上のことから残差を2乗したものの合計を最小化するようなaとbがもっともふさわしい、と考えることができます。

なお、残差を2乗したものの合計を残差二乗和といい、RSSともいいます。

f:id:imakoto0323:20180611210227p:plain

*1:曜日や湿度、他のイベントなど

*2:計算で求めた値を推定値という。