正則化回帰とK近傍法へようこそ!
ようこそ!この章では、線形モデルをさらに洗練させる方法を学びます。これまで、誤差を最小化することで「最良の当てはまり」を見つけようとする最小二乗法(OLS)回帰について学んできたことでしょう。しかし、時としてOLSは「頑張りすぎて」しまうことがあります。つまり、データに過剰適合(オーバーフィッティング)してしまい、過去の説明は完璧でも、未来の予測には全く使えないモデルになってしまうのです。
この問題を解決する主な2つの方法を探っていきましょう。それは正則化(Regularization)(モデルをシンプルに保つために「ペナルティ」を科す手法)と、K近傍法(K-Nearest Neighbors: KNN)(「類似した」データ点を見るという別のアプローチ)です。これらのツールは、安定した信頼性の高いモデルを作成するためにリスクモデリングにおいて欠かせません。最初は難しく感じるかもしれませんが、大丈夫です。ステップバイステップで紐解いていきましょう!
パート1:縮小手法(正則化回帰)
標準的な回帰分析では、残差平方和(RSS)を最小化したいと考えます。しかし、予測変数が多数ある場合、モデルは非常に複雑になってしまいます。縮小手法(Shrinkage methods)(正則化とも呼ばれます)は、係数の推定値(\(\beta\))をゼロに向かって「縮小」させます。これにより、わずかなバイアス(偏り)と引き換えに、モデルの分散を抑えることができます。
1. リッジ回帰(Ridge Regression)
リッジ回帰は、RSSにペナルティ項を加えることで機能します。目的は以下を最小化することです:
\(RSS + \lambda \sum_{j=1}^{p} \beta_j^2\)
ここで:
- \(\lambda\)(ラムダ):チューニングパラメータです。係数の大きさをどれだけ厳しく制限するかをコントロールします。
- \(\sum \beta_j^2\):これはL2ペナルティと呼ばれます。係数を2乗したものです。
リッジ回帰について知っておくべきこと:
- \(\lambda = 0\) のとき、リッジ回帰はOLSと全く同じになります。
- \(\lambda \to \infty\) に近づくにつれて、係数はゼロに近づきますが、(実際には)完全にゼロになることはありません!
- 重要: リッジ回帰は変数選択を行いません。すべての変数がモデルに残りますが、その係数は小さくなります。
2. ラッソ回帰(Lasso Regression)
ラッソ(Lasso: Least Absolute Shrinkage and Selection Operator)はリッジ回帰と非常によく似ていますが、異なるペナルティを使用します:
\(RSS + \lambda \sum_{j=1}^{p} |\beta_j|\)
ここで:
- \(\sum |\beta_j|\):これはL1ペナルティと呼ばれます。係数の絶対値をとったものです。
ラッソ回帰について知っておくべきこと:
- リッジとは異なり、\(\lambda\) が十分に大きい場合、ラッソは一部の係数を完全にゼロにすることができます。
- つまり、ラッソは変数選択を行うため、よりシンプルで解釈しやすいモデルが得られます。
- 覚え方: 「Lasso(投げ縄)」で変数を捕らえ、役に立たない変数を外に放り出すイメージです!
クイックレビュー:リッジ vs ラッソ
- リッジ: ほとんどの予測変数が有用な場合に適しています。すべての変数を残しつつ、係数を縮小します。
- ラッソ: 実際に重要な予測変数がごくわずかである場合に適しています。「ノイズ」となる変数を排除してくれます。
正則化のまとめ:
正則化はバイアスと分散のトレードオフを解決する助けになります。わずかなバイアスを加える(係数を縮小する)ことで、分散を大幅に減らし、新しいデータに対しても安定した予測ができるようになります。
パート2:チューニングパラメータ(\(\lambda\))の選択
どの \(\lambda\) を使えばよいのでしょうか?それには交差検証(Cross-Validation)を使います。通常、複数の \(\lambda\) の値をテストし、交差検証誤差が最も小さくなる値を選びます。
よくある間違い:
「大きな \(\lambda\) を使えばモデルが単純化されるから、常にそれが良い」と考えてしまう学生がよくいます。覚えておいてください。もし \(\lambda\) が大きすぎると、モデルは単純になりすぎて(バイアスが高くなり)、データに含まれる実際のパターンを見逃してしまいます(未学習/アンダーフィッティング)。
パート3:K近傍法(KNN)
さて、全く異なるアプローチを見てみましょう。回帰分析がパラメトリック(直線のような特定の関数形を仮定する)であるのに対し、K近傍法(KNN)はノンパラメトリックです。データの形状について何も仮定しません。
KNNの仕組み:
例えば、ある家の価格を予測したいとします。数式を使う代わりに、その家に最も似ている(近傍の)K軒の家を探し、その価格の平均をとるのです。
1. 回帰の場合: 最も近いK個の点を見つけ、その応答値の平均を計算します。
2. 分類の場合: 最も近いK個の点を見つけ、クラスの多数決をとります。
Kの役割:
Kの選択は非常に重要です:
- Kが小さい場合(例:K=1): モデルは非常に柔軟で「波打ちます」。バイアスは低いですが、分散は高くなります(過剰適合)。
- Kが大きい場合(例:K=100): モデルは非常に滑らかになります。分散は低いですが、バイアスは高くなります(未学習)。
豆知識:
\(K\) が増加するほど、KNNモデルの柔軟性は低下します。これは直感的な数字の増減とは逆の動きをするため、試験対策として注意しておいてくださいね!
次元の呪い:
KNNは素晴らしい手法ですが、「次元の呪い(Curse of Dimensionality)」という大きな弱点があります。高次元の空間(予測変数が非常に多い場合)では、距離の観点から見て「最も近い」近傍点であっても、実際には非常に遠くに離れている可能性があります。このため、観測数 \(n\) に対して予測変数 \(p\) が多い場合、KNNは線形回帰よりも性能が大幅に低下します。
比較:線形回帰 vs KNN
どちらを選ぶべきでしょうか?
線形回帰(またはリッジ/ラッソ)を選ぶべき時:
- 予測変数と応答の関係が線形に近い場合。
- 予測変数あたりのデータ数が少ない場合。
- 各変数が結果にどのように影響を与えているかを簡単に説明する必要がある場合。
KNNを選ぶべき時:
- 関係性が非常に非線形であったり、「複雑」であったりする場合。
- データが膨大で、予測変数が少ない場合。
- 「なぜそうなるか」の解釈よりも、予測精度そのものが重要な場合。
SRM試験に向けた重要ポイント
1. 正則化(リッジ/ラッソ):
- 過剰適合を防ぎ、多くの予測変数を扱うために使用。
- リッジは \(\beta^2\) を使用し、係数をゼロにはしない。
- ラッソは \(|\beta|\) を使用し、係数をゼロにできる(変数選択)。
2. チューニングパラメータ(\(\lambda\)):
- トレードオフをコントロールする。交差検証を用いて最適な \(\lambda\) を見つける。
3. K近傍法(KNN):
- 類似性に基づいたノンパラメトリック手法。
- Kが小さい = 柔軟性が高い / 分散が高い。
- Kが大きい = 柔軟性が低い / バイアスが高い。
- 次元の呪いの影響を受ける。
励ましの言葉: あなたなら大丈夫です!正則化もKNNも、結局は「シンプルすぎるモデル」と「複雑すぎるモデル」の間の「スイートスポット」を見つけるための異なる手段に過ぎません。いろいろなシナリオでどの手法がベストかを見極める練習をすれば、SRM試験でどんな問題が出ても落ち着いて対応できますよ!