02.1.13
【ベンチマーク】分散不均一な回帰
売上が大きい店舗ほど売上のブレも大きい、所得が高いほど消費のばらつきも大きい——実務データでは分散が一定でないケースが多い。等分散を仮定する OLS をそのまま適用すると、係数推定は正しくても信頼区間や予測区間が歪む。ここでは分散不均一(heteroscedasticity)な合成データで最適なアプローチを検証する。
1. データの特徴 #
説明変数は 1 つで、\(x\) は \([1, 20]\) の一様分布から 500 点を引きます。真のモデルは \(y = 3x + \epsilon\) で、ノイズ \(\epsilon \sim N(0, (0.5x)^2)\) の標準偏差が \(0.5x\) と \(x\) に比例して増えます。\(x = 1\) では標準偏差 0.5、\(x = 20\) では 10 なので、散布図は右に行くほど扇形に広がります。
何が起きているか(ステップで見る) #
コードを読む前に、この手法が図の上で何をしているかを追ってみましょう。「再生」を押すか、スライダーを動かすと 1 手順ずつ進みます。
見るポイント:RMSE は二乗するぶん 1 つの大外れに引きずられる。MAE は線形、中央絶対誤差はほぼ動かない。
2. 合成データの生成 #
| |

3. 比較するパイプライン #
| 前処理 | 説明 | モデル |
|---|---|---|
| なし(生データ) | そのまま回帰 | 5モデル |
| log(y) 変換 | 対数変換で分散安定化 | 5モデル |
| √y 変換 | 平方根変換で分散安定化 | 5モデル |
| モデル | 特徴 |
|---|---|
| OLS | 最小二乗法(等分散仮定) |
| WLS | 重み付き最小二乗法(weights=1/x²) |
| Ridge | L2正則化 |
| Huber | ロバスト回帰(外れ値に強い) |
| Quantile(0.5) | 中央値回帰(分布の歪みに強い) |
4. 実験と結果 #
| |

読み方のポイント #
OLS の傾きの推定は 3 に近く正しいのですが、\(x\) が大きい区間の残差がそのまま MAE と RMSE に乗るため、生データの行では他のモデルと大差がつきません。WLS に正しい重み \(1/x^2\) を与えると、ノイズの小さい左側の点で直線が決まり、傾きの推定の分散が小さくなります。ただし MAE・RMSE は元の尺度で測るので、右側の大きなノイズ自体は消えず、改善幅は限定的です。log(y) の行では変換後の分散がほぼ均一になるため、5 モデルすべてで RMSE が揃う方向に動きます。
5. 誤差パターン分析 #
| |

OLS の残差は \(x\) が大きくなるにつれて扇形に広がり、3 区間の σ が左から右へ増えていきます(不等分散の典型)。WLS でも元の尺度の残差は右側で大きいままですが、直線の位置はノイズの小さい左側で決まっています。log 変換では 3 区間の σ がほぼ揃い、分散が均質化されたことが数値で確認できます。
6. よくある失敗パターン #
1 つ目は OLS のまま予測区間を計算することです。等分散を仮定した予測区間は残差全体の標準偏差 1 本で幅を決めるので、\(x = 20\) 付近では実際のばらつき(σ ≈ 10)より狭く、\(x = 1\) 付近では実際(σ ≈ 0.5)より広くなります。2 つ目は対数変換の逆変換でバイアスを無視することで、log(y) で学習した予測を expm1 で戻すと、期待値ではなく中央値の推定になります。期待値が必要なら Duan のスミアリング推定などでバイアス補正を行います。
- 線形回帰 — OLS の基本と仮定
- Ridge・Lasso 回帰 — 正則化による係数安定化
- ロバスト回帰 — Huber 損失と M 推定
- 分位点回帰 — 条件付き分位点の推定
- MAE・RMSE — 回帰の基本指標