最小二乗法(OLS)について / 推定

 「考え方が正しいなら、過去の現象をあまりズレなく説明できるはずだ」と考えるのは当然だ。人気な推定量である最小二乗法も、モデルと過去の現象の誤差が小さくなるはずだと考え、パラメーターを推定する。

 最小二乗法(Ordinary Least Squares, OLS)は、残差を二乗した和を最小化するβを推定値とする方法だ。残差(residual error)とは、観測値から予測値を引いた差(=誤差)である。最小二乗法は、次のように定式化できる。

$$f(X):統計モデル U:誤差項$$

$$X:説明変数、Y:目的変数、n:サンプル・サイズ$$

$$\beta:パラメーター、\widehat{\beta}:推定値 とすると$$

$$1 統計モデル Y=f(X, \beta)+U$$

$$2 標本抽出 (x_1,y_1),(x_2,y_2) \cdots (x_n,y_n)$$

$$3 残差二乗和\sum_{i=1}^N \left[ y_i -f \left( x_i, \widehat{\beta} \right) \right] ^2を最小化する\widehat{\beta}を求める$$

$$なお、y_iが観測値、 f \left( x_i, \widehat{\beta} \right) が予測値、その差が残差$$

 

 なお、矛盾するようだが実は「過去の現象を完璧に説明しようとしない」という適当さも大事だ。「自分の考え方は正しくて、過去の現象をほぼすべて説明できるはずだ」と考えて、考え方を複雑化しても、現実から乖離していくだけだ。これは機械学習の文脈では過剰適合(overfitting)と呼ばれる。最小二乗法は定式化の正しさに依存しており、間違ったモデルをいくらフィットさせても正しい理解には到達できない。そもそも過去の現象を説明する最良のモデルは、丸暗記である。歴史の教科書が、未来を予測するのに役立つと考える人は少ない。

 

 【追記】

 なぜ残差「二乗」和なのだろうか? 総和、絶対値和、二乗和の場合を検討してみよう。

 そもそも残差二乗和とは、損失関数の一種である。損失関数(loss function)とは機械学習の用語で、フィッティングで誤差を最小化する目的で使う関数だ。パラメーターを入力すると、損失が出力される関数であり、L(^β)を記述しよう。

$$L_{残差平方和}(\widehat{\beta})=\sum_{i=1}^N \left[ y_i -f \left( x_i, \widehat{\beta} \right) \right] ^2$$

 損失関数が残差和の場合は、誤差の最小化をうまく定式化できない。たしかに誤差が0が最もよい。しかし、大きなマイナスの誤差と大きなプラスの誤差でも、誤差の和は0になりうる。ゆえに、残差の総和は損失関数として不適切である。ちなみに、最小二乗法を用いると、残差和は0になることが知られている。

$$L_{残差和}(\widehat{\beta})=\sum_{i=1}^N \left[ y_i -f \left( x_i, \widehat{\beta} \right) \right] $$

 損失関数が絶対値和の場合は、誤差の最小化をうまく定式化できる。大きなマイナスの誤差と大きなプラスの誤差の絶対値和は、大きくなる。しかし、絶対値は場合分けが必要で、計算が面倒だ。

$$L_{残差絶対値和}(\widehat{\beta})=\sum_{i=1}^N |y_i -f \left( x_i, \widehat{\beta} \right) | $$

 損失関数が二乗和の場合は、誤差の最小化をうまく定式化できる。大きなマイナスの誤差と大きなプラスの誤差の二乗和は、大きくなる。場合分けも必要ない。二乗和を^β1から^βkにかけて順番に偏微分したk個の左辺がゼロのとき、二乗和は最小化される。未知数がk個で、方程式がk個なら、計算可能だ。

$$L_{残差二乗和}(\widehat{\beta})=\sum_{i=1}^N \left[ y_i -f \left( x_i, \widehat{\beta} \right) \right] ^2$$

 なら、最小二乗法を使ってみようじゃないかということになる。