3.6 選択法と縮小法の比較

リッジ回帰、Lasso、最良部分集合選択、PCR、PLS... これまで学んだ手法を並べて比較し、それぞれの個性と使い分けの指針を掴みます。

シンプルな2変数の例を通じて、各手法の「係数プロファイル」を観察することで、その振る舞いの違いが目に見えてきます。

比較のための実験設定

まず、各手法の違いを明確に見るための「実験」を設計しましょう。

入力変数はたった2つ、$X_1$$X_2$ だけ。 そして、この2つには相関があります。

「相関」とは、一方が大きいとき他方も大きい(または小さい)傾向のこと。 相関係数 $\rho = 0.5$(正の相関)なら、$X_1$ が大きいとき $X_2$ も大きくなりがち。$\rho = -0.5$(負の相関)なら逆になります。

相関のある変数をグラフに描くと、点が楕円状に分布します。 正の相関なら右上がりの楕円、負の相関なら右下がりの楕円になります。

2変数の相関モデルを視覚化。楕円形の点群が正の相関と負の相関で異なる傾きを示す

真の回帰係数$\beta_1 = 4$$\beta_2 = 2$ としましょう。

$$Y = \beta_1 X_1 + \beta_2 X_2 + \varepsilon$$

この式の意味を解きほぐすと:

この単純な設定で、各手法が「真の係数にどう近づいていくか」を観察します。

正則化と係数プロファイル

各手法の振る舞いを比較するために、「係数プロファイル」というものを見ていきます。

その前に、「正則化」について簡単に説明しましょう。 正則化とは、係数が大きくなりすぎないように「ブレーキ」をかけることです。 正則化パラメータ $\lambda$ が大きいほど、ブレーキは強くなります。

係数プロファイルは、この $\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正則化と呼ばれます。

Lassoの係数プロファイル。折れ線状の軌跡を持ち、β2がゼロに到達する様子を示す

この違いが大きな結果を生みます。 正則化が強くなると、まず $\hat{\beta}_2$(より小さい係数)がゼロになります。 その後、$\hat{\beta}_1$ も縮小していきます。

正の相関($\rho = 0.5$)の場合、 Lassoは「どちらか一方を選ぶ」傾向があります。 相関が高い変数があると、片方だけ残して他方をゼロにするのです。

Lassoの軌跡は、リッジと違って「折れ線」のようになります。 係数がゼロになる瞬間、軌跡に「角」ができるのです。

最良部分集合選択の振る舞い

最良部分集合選択は、最も「極端」な手法です。

変数を「全部使う」か「全く使わない」かの二択。中間がありません。

最良部分集合選択の係数プロファイル。離散的な階段状の変化を示し、モデルサイズごとに係数が飛ぶ

モデルサイズ0(切片のみ)から始めて、変数を1つ追加すると... いきなり係数が「飛び」ます。 連続的な変化ではなく、階段状に変化するのです。

正の相関の場合、最初に $X_1$(より重要な変数)が選ばれます。 次に $X_2$ を追加すると、係数の推定値が真の値に近づきます。

この「飛び」こそが、最良部分集合選択の特徴であり、同時に弱点でもあります。 わずかなデータの変動で、選ばれる変数が大きく変わってしまう可能性があるのです。

PCRとPLSの振る舞い

主成分回帰(PCR)部分最小二乗法(PLS)はどうでしょうか?

まず「主成分」について簡単に。 データ全体を見たとき、「最もばらつきが大きい方向」があります。 これが第1主成分です。 この方向に沿ってデータを「要約」することで、少ない変数で多くの情報を捉えられます。

PCRとPLSの係数プロファイル。リッジ回帰の軌跡(薄い線)と重なるように似た振る舞いを示す

興味深いことに、PCRとPLSはリッジ回帰と非常によく似た振る舞いをします。

2変数の場合、主成分は1つか2つ。 成分数を0→1→2と増やすと、係数が変化していきます。

特に正の相関が強い場合、第1主成分は両変数を「足し合わせた」方向になります。 そのため、係数は同じ方向に動きます。

リッジ回帰との違いは、PCRとPLSは「離散的なステップ」を踏むこと。 成分数は0, 1, 2...と整数でしか変えられません。 でも、その振る舞いの「形」はリッジ回帰に似ています。

5つの手法を並べて比較

さあ、5つの手法を一度に見てみましょう。

5つの手法の係数プロファイルを同時表示。リッジ・PCR・PLSの類似性、Lassoの中間性、最良部分集合の離散性が一目でわかる

まず気づくのは、PLS、PCR、リッジ回帰が似た振る舞いをするということ。 これらはすべて「滑らかな縮小」を行う手法です。

一方、Lassoは中間的な位置にいます。リッジ回帰ほど滑らかではありませんが、最良部分集合選択ほど極端でもありません。

そして最良部分集合選択は最も離散的です。 変数を選ぶか選ばないかの二択で、係数が「ジャンプ」します。

この比較から見えてくる使い分けの指針:

なぜリッジ回帰が好まれることがあるのか

実務では、リッジ回帰が好まれることが多いです。 なぜでしょうか?

安定性がその理由です。

リッジ回帰の安定性。λの微小な変化に対して係数の変化が小さいことを矢印で示す

リッジ回帰は「滑らかに」縮小します。 正則化パラメータ $\lambda$ を少し変えても、 係数は急激に変化しません。

これが重要なのは、「クロスバリデーション」で 最適な $\lambda$ を選ぶときです。 クロスバリデーションとは、データを分割して「訓練→テスト」を繰り返し、最も良い設定を見つける方法。 リッジ回帰なら、この結果が安定します。

また、リッジ回帰には「1回の計算で答えが出る」という特徴があります。Lassoのように何度も繰り返し計算する必要がないので、 大規模なデータセットでも高速に処理できます。

一方、変数選択が必要な場合はLasso、解釈性を最優先するなら最良部分集合選択が選ばれます。

Lassoの立ち位置

Lassoは「リッジ回帰最良部分集合選択の間」に位置します。

Lassoの中間的立ち位置。リッジ回帰の滑らかな曲線と最良部分集合の階段状の線の間にLassoの折れ線が位置する

リッジ回帰のように滑らかな縮小を行いつつ、最良部分集合選択のように変数を「選ぶ」ことができる。 両方の良いところを取り入れた手法と言えます。

ただし、Lassoの変数選択には「一貫性がない」場合もあります。 特に変数間の相関が強い場合、どの変数が選ばれるかが不安定になることがあります。

これを改善するために、Elastic Net(リッジとLassoを組み合わせた手法)や Adaptive Lassoなどの拡張手法が提案されています。

Lassoは「解釈性と予測精度のバランス」が求められる場面で特に有用です。

まとめ - 手法選択の指針

これまでの比較から、手法選択の指針をまとめましょう。

手法選択のフローチャート。目的に応じてリッジ系・Lasso・最良部分集合のいずれかを選ぶ流れを視覚化

予測精度重視 → リッジ回帰、PLS、PCR

解釈性と精度のバランス → Lasso

最も少ない変数で説明したい → 最良部分集合選択

実際の問題では、これらの手法を試してクロスバリデーションで比較するのが一般的です。 「正解」は問題によって異なるからです。

数式のまとめ

以下の数式で使う記号の意味:

リッジ回帰(L2正則化)

$$\hat{\beta}^{\text{ridge}} = \arg\min_\beta \left\{ \sum_{i=1}^N (y_i - \beta_0 - \sum_{j=1}^p x_{ij}\beta_j)^2 + \lambda \sum_{j=1}^p \beta_j^2 \right\}$$

この式の意味:

Lasso(L1正則化)

$$\hat{\beta}^{\text{lasso}} = \arg\min_\beta \left\{ \sum_{i=1}^N (y_i - \beta_0 - \sum_{j=1}^p x_{ij}\beta_j)^2 + \lambda \sum_{j=1}^p |\beta_j| \right\}$$

リッジとの違いは第2項。絶対値を使うことで、係数が厳密にゼロになりうる。

最良部分集合選択(L0制約)

$$\hat{\beta}^{\text{subset}} = \arg\min_\beta \left\{ \sum_{i=1}^N (y_i - \beta_0 - \sum_{j=1}^p x_{ij}\beta_j)^2 \right\} \quad \text{subject to} \quad \|\beta\|_0 \leq k$$

$\|\beta\|_0$ は「非ゼロの係数の数」。 これを $k$ 個以下に制限する。