02.1.16
【ベンチマーク】非線形関係の回帰
PolynomialFeatures(2) で \(x_2^2\) の項だけがわずかに改善します。RF・GBM は前処理なしで高い R² を出し、SVR(RBF) は StandardScaler を入れると大きく改善します。物理現象・生体反応・価格弾力性など、入力と出力の関係が直線ではないケースは実務に多い。線形モデルに多項式特徴量を加えれば部分的に対応できるが、真の関数形が不明な場合は木系モデルやカーネル法が有利になる。ここでは既知の非線形関数で生成した合成データを使い、各アプローチの限界と強みを検証する。
1. データの特徴 #
500 件・5 変数で、各 \(x\) は標準正規分布 \(N(0, 1)\) から独立に引きます。真のモデルは \(y = \sin(x_1) + x_2^2 + \log(|x_3| + 1) + \epsilon\) で、\(\epsilon\) の標準偏差は 0.3 です。\(x_1\) は波、\(x_2\) は放物線、\(x_3\) は対数の形で \(y\) に効き、\(x_4\) と \(x_5\) は \(y\) と無関係なノイズ変数です。
何が起きているか(ステップで見る) #
コードを読む前に、この手法が図の上で何をしているかを追ってみましょう。「再生」を押すか、スライダーを動かすと 1 手順ずつ進みます。
見るポイント:次数を上げると訓練には合うが、未知データでは途中から悪化する。その分岐点がモデル選択。
2. 合成データの生成 #
| |

3. 比較するパイプライン #
| 前処理 | 説明 |
|---|---|
| なし | 生の特徴量のみ |
| PolynomialFeatures(2) | 2次の交互作用と二乗項を追加 |
| StandardScaler | 標準化のみ |
| Poly(2) + Scaler | 多項式 + 標準化 |
| モデル | 特徴 |
|---|---|
| Linear | 最小二乗法 |
| Ridge | L2正則化 |
| SVR(RBF) | カーネル法(非線形対応) |
| KNN | 近傍ベース |
| RF | ランダムフォレスト |
| GBM | 勾配ブースティング |
4. 実験と結果 #
| |

読み方のポイント #
線形モデル(Linear・Ridge)の列は 4 つの前処理のどれでも R² が低いままで、\(\sin\) や \(\log\) は 1 次式では近似できないことが分かります。PolynomialFeatures(2) を足した行では \(x_2^2\) の項を捉えられるため、線形モデルの R² がわずかに上がります。RF・GBM の列は前処理なしでも高い R² を出し、木の分岐が区間ごとの定数で非線形関数を自動的に近似しているためです。SVR(RBF) は Scaler の行で大きく改善し、カーネル法が距離ベースなのでスケーリングが効くことを示します。
5. 誤差パターン分析 #
| |

線形モデルの残差には予測値に沿った曲線状の構造が残り、これが「モデルが捉えきれていない非線形成分」の証拠です。Ridge + Poly(2) では \(x_2^2\) の分だけ構造が弱まりますが、\(\sin\) と \(\log\) の成分は残ります。GBM の残差は 0 の周りにランダムに散らばり、系統的なパターンがありません。
6. よくある失敗パターン #
1 つ目は残差プロットを見ずに R² だけで判断することです。R² = 0.7 でも残差に曲線パターンがあれば非線形性を見落としていて、特徴量を足すか木系モデルに替えれば R² はまだ上がります。2 つ目は PolynomialFeatures の次数を上げすぎることで、5 変数でも degree=3 で 55 列、degree=4 で 125 列と特徴量数が膨らみ、過学習のリスクが急増します。次数は交差検証で選びます。
- 多項式回帰 — 多項式特徴量の理論と実践
- サポートベクター回帰 — カーネルトリックによる非線形回帰
- R² — 決定係数の解釈
- MAE・RMSE — 回帰の基本指標
- 学習曲線 — 過学習の診断