2.1.3
ロバスト回帰
まとめ
- 最小二乗法は外れ値の影響を強く受けるため、観測ミスが混ざると推定が大きく歪みやすい。
- Huber損失は小さな誤差には二乗誤差、大きな誤差には線形誤差を適用し、外れ値の影響を自動的に抑える。
- しきい値 \(\delta\) と L2 正則化 \(\alpha\) を調整することで、外れ値への頑健性とバイアスのバランスを取れる。
- 特徴量のスケーリングと交差検証を組み合わせると、現実のデータでも安定した学習が行える。
- 線形回帰 の概念を先に学ぶと理解がスムーズです
直感 #
外れ値はセンサー異常や入力ミス、分布の変化などで発生し、最小二乗法では二乗誤差が極端に大きくなるため推定全体が引きずられてしまいます。ロバスト回帰は大きな残差に対して緩やかな罰則を与え、典型的なデータ点は従来どおり扱うことで、支配的な傾向を保ちながら頑健性を確保します。Huber損失はこの目的に適した代表的な損失関数で、ゼロ付近では二乗損失、遠方では絶対値損失として振る舞います。
具体的な数式 #
残差 \(r = y - \hat{y}\) とし、しきい値 \(\delta > 0\) を用いると Huber損失は
$$ \ell_\delta(r) = \begin{cases} \dfrac{1}{2} r^2, & |r| \le \delta, \\\\ \delta \left(|r| - \dfrac{1}{2}\delta \right), & |r| > \delta. \end{cases} $$小さな残差では通常の二乗誤差と同じ挙動、大きな残差では線形に増加するため外れ値による極端な影響を抑えられます。導関数(影響関数)も折れ線状になり、外れ値の寄与が自動的に頭打ちになります。
Pythonを用いた実験や説明 #
Huber損失の形状と、外れ値を含むデータに対する回帰結果を scikit-learn で確認します。
| |
Huber損失と関連損失の比較 #
| |
外れ値を含むデータでの挙動 #
| |
| |
実行結果の読み方 #
- Huber損失は小さな残差では最小二乗法と同じ挙動、大きな残差では絶対値損失に近い挙動を示す。
- 外れ値があっても、Huber回帰はリッジ回帰や通常の線形回帰よりも影響を受けにくい。
- ハイパーパラメータ
epsilonとalphaを調整し、交差検証で最適値を探すと安定したモデルになる。
外れ値の影響 #
外れ値の割合を変えた場合、ロバスト回帰と OLS がどう異なるか比較できます。
参考文献 #
- Huber, P. J. (1964). Robust Estimation of a Location Parameter. The Annals of Mathematical Statistics, 35(1), 73–101.
- Hampel, F. R. et al. (1986). Robust Statistics: The Approach Based on Influence Functions. Wiley.
- Huber, P. J., & Ronchetti, E. M. (2009). Robust Statistics (2nd ed.). Wiley.
- 線形回帰 — 標準的な最小二乗
- 分位点回帰 — もう一つの頑健な手法
- 中央値絶対誤差 — ロバストな評価指標
- Huber Loss — MAEとMSEを統合したロバスト損失関数