重回帰分析において、説明変数の数が増えすぎたり、変数間に高い相関があったりする場合、モデルが学習データに過剰に適合してしまう「過学習(Overfitting)」が問題となります。これを防ぎ、未知のデータに対する予測性能(汎化性能)を高めるための手法が正則化(Regularization)です。
正則化回帰モデルは、通常の最小二乗法(OLS)の損失関数に「ペナルティ項(正則化項)」を追加することで、回帰係数が大きくなりすぎるのを防ぎます。本項では、代表的な手法であるRidge回帰、Lasso回帰、そしてその折衷案であるElastic Netについて解説します。
正則化の基本概念
通常の最小二乗法は、以下の残差平方和(RSS)を最小化するように係数 $\beta$ を決定します。
$$
\text{minimize} \sum_{i=1}^{N} (y_i – \hat{y}_i)^2
$$
正則化回帰では、これに「係数の大きさ」に応じたペナルティを加えます。
$$
\text{minimize} \left( \sum_{i=1}^{N} (y_i – \hat{y}_i)^2 + \lambda \times (\text{ペナルティ項}) \right)
$$
- $\lambda$(ラムダ):正則化の強さを調整するハイパーパラメータ。$\lambda = 0$ なら通常の最小二乗法と同じになり、$\lambda$ が大きいほど係数は0に近づけられます。
重要:正則化を行う際は、変数のスケール(単位)の影響を均等にするため、事前にすべての説明変数を標準化(平均0、分散1)しておく必要があります。
1. Ridge回帰(L2正則化)
Ridge(リッジ)回帰は、ペナルティ項に回帰係数の二乗和(L2ノルム)を使用します。
$$
\text{minimize} \left( \sum (y_i – \hat{y}_i)^2 + \lambda \sum_{j=1}^{p} \beta_j^2 \right)
$$
特徴
- 係数の縮小:すべての係数を全体的に0に近づけますが、完全に0にはしません。
- 多重共線性への強さ:相関の高い変数が複数ある場合、それらの係数を分散させる(仲良く値を分け合う)性質があり、計算が安定します。
- 微分可能:解析的に扱いやすく、計算が高速です。
適したケース
変数を削減せず、すべての変数をモデルに残したまま過学習を抑えたい場合。
2. Lasso回帰(L1正則化)
Lasso(ラッソ:Least Absolute Shrinkage and Selection Operator)回帰は、ペナルティ項に回帰係数の絶対値の和(L1ノルム)を使用します。
$$
\text{minimize} \left( \sum (y_i – \hat{y}_i)^2 + \lambda \sum_{j=1}^{p} |\beta_j| \right)
$$
特徴
- スパース性(疎性):重要でない変数の係数を完全に0にする性質があります。
- 特徴量選択(Feature Selection):係数が0になった変数はモデルから除外されるため、自動的に変数選択が行われます。これによりモデルの解釈性が向上します。
- 変数の選択基準:相関が高い変数が複数ある場合、そのうちの1つだけを選び、他を0にする傾向があります(どれが選ばれるかは不安定な場合があります)。
適したケース
説明変数が非常に多く、その中から本当に重要な変数だけを絞り込みたい場合(スパースモデリング)。
3. Elastic Net
Elastic Net(エラスティックネット)は、Ridge(L2)とLasso(L1)のペナルティ項を組み合わせた手法です。
$$
\text{minimize} \left( \text{RSS} + \lambda_1 \sum |\beta_j| + \lambda_2 \sum \beta_j^2 \right)
$$
一般的には、全体の正則化強度 $\lambda$ と、L1/L2の比率を決めるパラメータ $\alpha$(0〜1)を用いて制御します。
特徴
- Lassoの弱点を補完:Lassoは相関の高い変数グループから勝手に1つだけを選びがちですが、Elastic NetはRidgeの性質(グループ効果)を持つため、相関のある変数をセットで選択・縮小できます。
- 柔軟性:パラメータ調整により、Ridge寄りにもLasso寄りにも振る舞うことができます。
適したケース
変数が多く、かつ変数間に強い相関(グループ構造)がある場合。
手法の比較まとめ
| 手法 | ペナルティ | 特徴 | 変数選択 | 多重共線性への対応 |
|---|---|---|---|---|
| Ridge | $\beta^2$ (L2) | 係数を全体的に小さくする | しない(係数は0にならない) | 強い(安定する) |
| Lasso | $|\beta|$ (L1) | 一部の係数を0にする | する(自動的な変数削除) | 相関がある場合、1つのみ選ぶ |
| Elastic Net | L1 + L2 | 両者のいいとこ取り | する | 強い(グループとして残す) |
バイアス・バリアンスのトレードオフ
正則化を理解する上で重要なのが「バイアス」と「バリアンス」のトレードオフです。
- バイアス(偏り):モデルが単純すぎて学習データの特徴を捉えきれないこと(学習不足)。
- バリアンス(分散):学習データの細かいノイズまで拾ってしまい、データが変わると予測結果が大きく変動すること(過学習)。
通常の最小二乗法は「バイアス最小(不偏推定)」を目指しますが、その分バリアンスが大きくなりやすい傾向があります。正則化は、あえてわずかにバイアスを持たせる(係数を縮小する)ことで、バリアンスを大幅に減少させ、トータルでの予測誤差(MSE)を最小化する戦略を取っています。
実務での適用手順
- データの前処理:すべての説明変数を標準化(Standardization)します。これを忘れると、スケールの大きい変数(例:年収)よりもスケールの小さい変数(例:年齢)の方がペナルティを受けやすくなってしまいます。
- モデルの選択:変数を減らしてシンプルにしたいならLasso、変数の相関が強く情報を捨てたくないならRidgeやElastic Netを選びます。
- ハイパーパラメータの決定:$\lambda$ の値は分析者が決める必要があります。通常は、クロスバリデーション(交差検証)を用いて、検証用データの誤差が最も小さくなる最適な $\lambda$ を探索します。
まとめ
正則化回帰モデルは、現代のデータサイエンスにおいて必須のツールです。特に変数の数が多い高次元データや、データ数が少ない($p > n$)状況では、通常の重回帰分析よりも圧倒的に安定した精度の高いモデルを構築できます。
「予測精度を上げたい」「重要な変数だけを自動で選びたい」というニーズに対し、Ridge、Lasso、Elastic Netを適切に使い分けることが、効果的なモデリングの鍵となります。
