モデリング●●○○○

最小二乗法

Least Squares Method ・ さいしょうにじょうほう

誤差の二乗和を最小にする基準でモデルをデータに当てはめる、推定の原点

✦ 30秒で試す — 航海点の群れにいちばん合う直線、手で引いて当てられるか最小二乗の直線を少しだけずらすと、残差平方和は?予想してみる

概要

最小二乗法は、モデルをデータに当てはめるとき「予測と実測のずれ(残差)を二乗して合計した値が最も小さくなるように」パラメータを決める方法です。散布図の点の群れに1本の直線を引く場面を想像してください。引き方は無数にありますが、「各点から直線までの縦方向のずれを二乗して足し合わせ、その合計が最小になる1本」を選ぶ — これが最小二乗法の答えです。英語では ordinary least squares、略して OLS と呼ばれます。

「当てはまりの良さ」を数値化し、それを最小化する — この発想は線形回帰の係数推定をはじめ、統計モデリング全般の土台になっています。機械学習で損失関数を最小化してモデルを学習させる考え方も、系譜をたどれば最小二乗法に行き着きます。その意味で最小二乗法は「推定の原点」と呼ぶにふさわしい方法です。

なぜ生まれたか

最小二乗法が生まれたのは18世紀末〜19世紀初頭、天文学と測地学の現場でした。天体の軌道を決めたい、地球の形を測りたい — しかし観測には必ず誤差が混ざり、観測値の数は決めたい未知数の数より多い。方程式が余ってしまい、どの観測を信じるかで答えが変わってしまう。「矛盾する観測たちから、最も確からしい1つの答えを引き出すにはどうすればよいか」が切実な問題でした。

ルジャンドルが1805年に「誤差の二乗和を最小にする」という基準を公表し、ガウスがこれを理論的に正当化しました。ガウスの論法は鮮やかで、「観測誤差が正規分布に従うなら、二乗和の最小化は最も確からしいパラメータ(後の言葉でいう最尤推定)と一致する」ことを示したのです。実際、最小二乗法は1801年に見失われた小惑星ケレスの軌道をガウスが予言的中させた計算の裏で使われたとされ、実用性を劇的な形で証明しました。「ずれの合計」ではなく「ずれの二乗の合計」を選んだことで、正負の誤差が打ち消し合わず、微分で解が明示的に求まるという計算上の利点も同時に手に入りました。

詳細

何を最小化しているのか

データの各点について、モデルの予測値と実際の値の差を「残差」と呼びます。最小二乗法はこの残差をそれぞれ二乗し、全点ぶん足し合わせた「残差二乗和」を目的関数として、それを最小にするパラメータを探します。二乗するのは、プラスのずれとマイナスのずれを同じ「悪さ」として扱うためと、大きなずれをより強く罰するためです。幾何的には、各点から直線までの縦のずれを一辺とする正方形を描き、その面積の合計が最小になる直線を選んでいる、とイメージできます。

xy残差二乗和が最小の直線点線 = 残差(予測とのずれ)正方形の面積の合計を最小化する
最小二乗法 — 各点の残差を二乗した面積の合計が最小になる直線を選ぶ

直線の当てはめの場合、傾きと切片は微分して0と置くだけで閉じた式(正規方程式)から一発で求まります。反復計算も初期値も不要で、誰が計算しても同じ答えになる — この計算のたやすさが、コンピュータのない時代から最小二乗法が使われ続けてきた大きな理由です。説明変数が複数ある重回帰分析でも、同じ基準から行列の形の正規方程式が得られ、係数がまとめて求まります。傾きの解には相関係数と分散と標準偏差が現れ、「傾き = 相関係数 × (yの標準偏差 ÷ xの標準偏差)」というきれいな関係になります。相関と回帰が親戚と呼ばれるのはこのためです。

⚡ 体験: 残差の正方形を小さくする
残差平方和▲最小61.7
傾き-0.33切片5.53残差平方和61.71最小値との比×26.76

金色の2つの丸をつかんで直線を動かしてください。赤い正方形は各点の残差の2乗、右の柱はその合計です。柱をいちばん低くできる直線を探してみましょう。

赤い正方形の一辺 = 残差(点と直線の縦のずれ)。右の柱 = 正方形の面積の合計(残差平方和)

なぜ「二乗」なのか — 統計的な正当化

二乗和の最小化は単なる計算の都合ではなく、統計的な裏付けを持ちます。誤差が平均0の正規分布に従うと仮定すれば、最小二乗解は最尤推定と完全に一致します。さらにガウス・マルコフの定理により、誤差の分布を正規分布と仮定しなくても、「誤差の平均が0・分散が一定・互いに無相関」という条件だけで、最小二乗推定量は線形不偏推定量の中で分散が最小、つまり最も精度が高いことが保証されます。不偏性や有効性といった推定量の性質の観点から見て筋の良い方法であることが、理論的に示されているわけです。推定の不確かさは係数の標準誤差として定量化でき、検定や区間推定へつながっていきます。

弱点 — 外れ値への敏感さ

二乗で罰する設計は裏目にも出ます。ずれが2倍なら罰は4倍、10倍なら100倍。そのため最小二乗法は外れ値に極端に敏感で、たった1つの異常な点が直線の傾きを大きく引きずることがあります。当てはめの前に散布図でデータを目視する習慣が欠かせないのはこのためです。外れ値の影響を抑えたい場合は、二乗の代わりに絶対値のずれを最小化する方法や、大きな残差の重みを落とすロバスト回帰といった代替が使われます。また、説明変数が多い状況では二乗和だけを最小化すると過剰に複雑なモデルになりがちで、罰則項を足して係数を抑える正則化(リッジ回帰・Lasso)へと発展していきます。

どこで使われているか

最も身近な応用は線形回帰の係数推定ですが、適用範囲は直線当てはめに限りません。曲線のフィッティング、実験データからの物理定数の推定、測量・GPSの位置計算、信号処理のフィルタ設計まで、「観測が未知数より多く、誤差込みで最も確からしい答えを求めたい」場面には広く登場します。「当てはまりの悪さを1つの数値で定義し、それを最小化する」という枠組み自体が最小二乗法の遺産であり、この枠組みの上で損失関数を差し替えていくのが現代の統計モデリング・機械学習だ、と眺めると見通しが良くなります。

試問

散らばった10個の点に、直線を1本引きます。各点と直線の縦のずれ(残差)を2乗して足した「残差平方和」がいちばん小さくなる直線が、最小二乗の直線です。金色の2つの丸で直線の両端をつかんで動かし、右の柱(残差平方和)を低くしてください。自動で最小二乗の直線に合わせるボタンはここにはありません。

✦ 命題挑戦中

直線の両端を自分の手で動かし、残差平方和を最小値の 1.25 倍以内まで下げよ

  • 残差平方和を最小値の 2 倍以内まで下げる(いま ×26.76)
  • さらに 1.25 倍以内まで追い込む(谷底のごく近く)
⚡ 体験: 直線の両端をつかんで、柱を低くする
残差平方和▲最小61.7
傾き-0.33切片5.53残差平方和61.71最小値との比×26.76

金色の2つの丸をつかんで直線を動かしてください。赤い正方形は各点の残差の2乗、右の柱はその合計です。柱をいちばん低くできる直線を探してみましょう。

赤い正方形の一辺 = 残差(点と直線の縦のずれ)。右の柱 = 正方形の面積の合計(残差平方和)