3.6 選択法と縮小法の比較
リッジ回帰、Lasso、最良部分集合選択、PCR、PLS... これまで学んだ手法を並べて比較し、それぞれの個性と使い分けの指針を掴みます。
シンプルな2変数の例を通じて、各手法の「係数プロファイル」を観察することで、その振る舞いの違いが目に見えてきます。
比較のための実験設定
まず、各手法の違いを明確に見るための「実験」を設計しましょう。
入力変数はたった2つ、$X_1$ と $X_2$ だけ。 そして、この2つには相関があります。
「相関」とは、一方が大きいとき他方も大きい(または小さい)傾向のこと。 相関係数 $\rho = 0.5$(正の相関)なら、$X_1$ が大きいとき $X_2$ も大きくなりがち。$\rho = -0.5$(負の相関)なら逆になります。
相関のある変数をグラフに描くと、点が楕円状に分布します。 正の相関なら右上がりの楕円、負の相関なら右下がりの楕円になります。

真の回帰係数は$\beta_1 = 4$、$\beta_2 = 2$ としましょう。
この式の意味を解きほぐすと:
- $Y$ は予測したい値(例: 住宅価格)
- $X_1, X_2$ は入力変数(例: 面積、築年数)
- $\beta_1 = 4, \beta_2 = 2$ は「重み」。$X_1$ が $Y$ にどれだけ影響するかを表す
- つまり「$X_1$ の影響は $X_2$ の2倍大きい」ということ
- $\varepsilon$ は誤差(モデルでは説明しきれない部分)
この単純な設定で、各手法が「真の係数にどう近づいていくか」を観察します。
正則化と係数プロファイル
各手法の振る舞いを比較するために、「係数プロファイル」というものを見ていきます。
その前に、「正則化」について簡単に説明しましょう。 正則化とは、係数が大きくなりすぎないように「ブレーキ」をかけることです。 正則化パラメータ $\lambda$ が大きいほど、ブレーキは強くなります。
係数プロファイルは、この $\lambda$ を横軸に、 推定された係数の値を縦軸にプロットしたものです。
- $\lambda = 0$: ブレーキなし。通常の最小二乗法と同じ。
- $\lambda$ が大きい: 強いブレーキ。係数は小さく(または0に)なる。

この「軌跡」を見ることで、各手法の性格がはっきり見えてきます。
リッジ回帰の振る舞い
まずはリッジ回帰から見てみましょう。
リッジ回帰の特徴は「滑らかな縮小」です。 正則化パラメータ $\lambda$ を大きくしていくと、 両方の係数が原点に向かって滑らかに縮小していきます。

正の相関($\rho = 0.5$)の場合、$\hat{\beta}_1$ と$\hat{\beta}_2$ は同じ方向に動きます。
相関があるということは、$X_1$ と$X_2$ が似た動きをするということ。 たとえば「面積が大きい家は部屋数も多い」のように。 このとき、$X_1$ の係数を減らしても$X_2$ の係数を増やせば同じような予測ができます。 これが「肩代わり」の意味です。
負の相関($\rho = -0.5$)の場合は少し違います。$X_1$ と $X_2$ が逆方向に動くので、 リッジ回帰は両者を「バランスよく」縮小させます。
どちらの場合も、リッジ回帰は決して係数を完全にゼロにはしません。 すべての変数を「少しずつ」使い続けるのです。
Lassoの振る舞い
次はLassoです。 Lassoの最大の特徴は「変数選択」ができること。
リッジ回帰は係数の「二乗」にペナルティをかけます。 Lassoは係数の「絶対値」にペナルティをかけます。 数学では「二乗の和」をL2ノルム、「絶対値の和」をL1ノルムと呼ぶため、 それぞれL2正則化、L1正則化と呼ばれます。

この違いが大きな結果を生みます。 正則化が強くなると、まず $\hat{\beta}_2$(より小さい係数)がゼロになります。 その後、$\hat{\beta}_1$ も縮小していきます。
正の相関($\rho = 0.5$)の場合、 Lassoは「どちらか一方を選ぶ」傾向があります。 相関が高い変数があると、片方だけ残して他方をゼロにするのです。
Lassoの軌跡は、リッジと違って「折れ線」のようになります。 係数がゼロになる瞬間、軌跡に「角」ができるのです。
最良部分集合選択の振る舞い
最良部分集合選択は、最も「極端」な手法です。
変数を「全部使う」か「全く使わない」かの二択。中間がありません。

モデルサイズ0(切片のみ)から始めて、変数を1つ追加すると... いきなり係数が「飛び」ます。 連続的な変化ではなく、階段状に変化するのです。
正の相関の場合、最初に $X_1$(より重要な変数)が選ばれます。 次に $X_2$ を追加すると、係数の推定値が真の値に近づきます。
この「飛び」こそが、最良部分集合選択の特徴であり、同時に弱点でもあります。 わずかなデータの変動で、選ばれる変数が大きく変わってしまう可能性があるのです。
PCRとPLSの振る舞い
主成分回帰(PCR)と部分最小二乗法(PLS)はどうでしょうか?
まず「主成分」について簡単に。 データ全体を見たとき、「最もばらつきが大きい方向」があります。 これが第1主成分です。 この方向に沿ってデータを「要約」することで、少ない変数で多くの情報を捉えられます。

興味深いことに、PCRとPLSはリッジ回帰と非常によく似た振る舞いをします。
2変数の場合、主成分は1つか2つ。 成分数を0→1→2と増やすと、係数が変化していきます。
特に正の相関が強い場合、第1主成分は両変数を「足し合わせた」方向になります。 そのため、係数は同じ方向に動きます。
リッジ回帰との違いは、PCRとPLSは「離散的なステップ」を踏むこと。 成分数は0, 1, 2...と整数でしか変えられません。 でも、その振る舞いの「形」はリッジ回帰に似ています。
5つの手法を並べて比較
さあ、5つの手法を一度に見てみましょう。

まず気づくのは、PLS、PCR、リッジ回帰が似た振る舞いをするということ。 これらはすべて「滑らかな縮小」を行う手法です。
一方、Lassoは中間的な位置にいます。リッジ回帰ほど滑らかではありませんが、最良部分集合選択ほど極端でもありません。
そして最良部分集合選択は最も離散的です。 変数を選ぶか選ばないかの二択で、係数が「ジャンプ」します。
この比較から見えてくる使い分けの指針:
- 予測精度を安定させたい → リッジ回帰やPLS/PCR
- 解釈性も欲しい(変数選択) → Lasso
- 最も重要な変数だけを知りたい → 最良部分集合選択
なぜリッジ回帰が好まれることがあるのか
実務では、リッジ回帰が好まれることが多いです。 なぜでしょうか?
安定性がその理由です。

リッジ回帰は「滑らかに」縮小します。 正則化パラメータ $\lambda$ を少し変えても、 係数は急激に変化しません。
これが重要なのは、「クロスバリデーション」で 最適な $\lambda$ を選ぶときです。 クロスバリデーションとは、データを分割して「訓練→テスト」を繰り返し、最も良い設定を見つける方法。 リッジ回帰なら、この結果が安定します。
また、リッジ回帰には「1回の計算で答えが出る」という特徴があります。Lassoのように何度も繰り返し計算する必要がないので、 大規模なデータセットでも高速に処理できます。
一方、変数選択が必要な場合はLasso、解釈性を最優先するなら最良部分集合選択が選ばれます。
Lassoの立ち位置
Lassoは「リッジ回帰と最良部分集合選択の間」に位置します。

リッジ回帰のように滑らかな縮小を行いつつ、最良部分集合選択のように変数を「選ぶ」ことができる。 両方の良いところを取り入れた手法と言えます。
ただし、Lassoの変数選択には「一貫性がない」場合もあります。 特に変数間の相関が強い場合、どの変数が選ばれるかが不安定になることがあります。
これを改善するために、Elastic Net(リッジとLassoを組み合わせた手法)や Adaptive Lassoなどの拡張手法が提案されています。
Lassoは「解釈性と予測精度のバランス」が求められる場面で特に有用です。
まとめ - 手法選択の指針
これまでの比較から、手法選択の指針をまとめましょう。

予測精度重視 → リッジ回帰、PLS、PCR
- すべての変数が予測に貢献する場合に適切
- 安定した予測が得られる
- 変数選択は行わない
- 例: 遺伝子発現データから疾患リスクを予測
解釈性と精度のバランス → Lasso
- 重要でない変数をゼロにできる
- モデルが「読みやすく」なる
- 相関が強い変数があると不安定になることも
- 例: どの遺伝子が疾患に関係するかを知りたい
最も少ない変数で説明したい → 最良部分集合選択
- 本当に重要な変数だけを選びたい場合
- 計算コストが高い(変数が多いと組み合わせが爆発)
- 結果が不安定になりやすい
- 例: 論文で「この3つの因子が重要」と報告したい
実際の問題では、これらの手法を試してクロスバリデーションで比較するのが一般的です。 「正解」は問題によって異なるからです。
数式のまとめ
以下の数式で使う記号の意味:
- $N$: データ点の数
- $p$: 入力変数の数
- $y_i$: $i$ 番目のデータの出力値(予測したい値)
- $x_{ij}$: $i$ 番目のデータの $j$ 番目の入力変数
- $\beta_0$: 切片(すべての変数が0のときの基準値)
リッジ回帰(L2正則化)
この式の意味:
- 第1項: 予測誤差の二乗和(これを小さくしたい)
- 第2項: 係数の二乗和(これにもペナルティ)
- $\lambda$: ペナルティの強さ(大きいほど係数が小さくなる)
- $\arg\min$: 「最小にする $\beta$ の値」という意味
Lasso(L1正則化)
リッジとの違いは第2項。絶対値を使うことで、係数が厳密にゼロになりうる。
最良部分集合選択(L0制約)
$\|\beta\|_0$ は「非ゼロの係数の数」。 これを $k$ 個以下に制限する。