Chapter 20
回帰診断と正則化 — 前提を確かめ、係数を抑える
この章がなぜ必要なのか——回帰は「当てはめて終わり」ではない.
統計ソフトは、どんなデータにも回帰直線を引いてくれる。 曲がった関係にも、外れ値だらけのデータにも、平然と係数と p 値を返す。 ソフトは前提が壊れていることを教えてくれない。
前半では残差を見る方法を扱う。残差にはモデルが取りこぼしたものが全部残っているので、 ここを見れば前提の破れがほぼすべて見つかる。
後半は正則化(Ridge・Lasso)。これは 10 章の 「バイアスを少し許して分散を大きく減らす」という取引の、最も実用的な実装である。
この章で使う既出の用語(定義は各リンク先). 母集団(01 章 2 節)、説明変数(01 章 4 節)、四分位・中央値(02 章)、相関係数(03 章)、尤度(05 章 2 節)、期待値・分散・共分散(06 章 3〜5 節)、正規分布(08 章 4 節)、χ² 分布(08 章 7 節)、MSE 分解(分散 + バイアス²)・一致性(10 章 2 節, 5 節)、ベイズ推定・MAP(10 章 7 節)、擬似反復(13 章 6 節)、p ハッキング(17 章 4 節)、ガウス・マルコフの仮定(線形性・等分散・無相関・正規性)(18 章 1 節)、\(n, p, X, \mathbf x_i\)・ハット行列 \(H\)・残差 \(\mathbf e\)(19 章 1〜2 節)、残差分散 \(\hat\sigma^2\)・自由度(19 章 3 節)、多重共線性(19 章 8 節)、交差検証(22 章 3 節)
1. 残差の種類
| 種類 | 式 | 使いどころ |
|---|---|---|
| 生の残差 | \(e_i=y_i-\hat y_i\) | 基本 |
| 標準化残差 | \(e_i/\hat\sigma\)(\(\hat\sigma = \sqrt{SS_E/(n-p-1)}\) は残差標準偏差、19 章) | 大きさの比較 |
| スチューデント化残差 | \(\dfrac{e_i}{\hat\sigma\sqrt{1-h_{ii}}}\) | 推奨。分散の不均一を補正 |
| 外部スチューデント化残差 | \(i\) を除いて推定した \(\hat\sigma_{(i)}\) を使う | 外れ値検出に最適 |
(この章では、添字 \((i)\) は「\(i\) 番目のデータを除いて計算したもの」を表す。) \(h_{ii}\) はハット行列(19 章)の対角成分で、てこ比 (leverage) と呼ぶ。
なぜ \(\sqrt{1-h_{ii}}\) で割るのか. \(\mathbf e=(I-H)\mathbf y\) で \(V[\mathbf y] = \sigma^2 I\) だから \(V[\mathbf e] = (I-H)\sigma^2 I(I-H)^\top = \sigma^2(I-H)(I-H) = \sigma^2(I-H)\)(\(H\) が対称・べき等なので \(I-H\) も対称・べき等)。 その対角成分を読むと \(V[e_i]=\sigma^2(1-h_{ii})\) である。 残差の分散は点ごとに違う——回帰直線に強く影響する点ほど残差が小さくなる。 だから生の残差を単純に比べると、影響力の強い点の異常を見逃す。
2. 残差プロット — 最初に必ず見る 4 枚
(1) 残差 vs 予測値
理想は「幅一定の帯が 0 の周りに広がる」形。
| 見えるパターン | 意味 | 対処 |
|---|---|---|
| ランダムな帯 | 問題なし | — |
| U 字・曲線 | 線形性が崩れている | 二乗項、変換、非線形モデル |
| ラッパ型(右に広がる) | 不均一分散 | 対数変換、加重最小二乗、頑健標準誤差 |
| 特定の位置で偏り | 欠けている変数がある | 変数を追加 |
(2) Q-Q プロット(残差の正規性)
横軸に正規分布の分位点(分布の下から \(q\) 割の位置の値。中央値は 50% 分位点)、縦軸に残差を小さい順に並べたときの同じ割合の位置の値をとる。直線に乗れば正規。
| 形 | 意味 |
|---|---|
| S 字 | 裾が軽い/重い |
| 両端が反り上がる | 裾が重い(外れ値が多い) |
| 片端だけ外れる | 歪んでいる |
(3) スケール・ロケーションプロット
\(\sqrt{\lvert\text{標準化残差}\rvert}\) vs 予測値。不均一分散の検出に特化。水平なら良好。
(4) 残差 vs てこ比(クックの距離つき)
影響の大きい点を見つける。
3. 外れ値・てこ比・影響力 — 3 つは別物
| 概念 | 意味 | 指標 |
|---|---|---|
| 外れ値 (outlier) | \(y\) が予測から大きく外れる | スチューデント化残差 |
| てこ比 (leverage) | \(x\) が他から離れている | \(h_{ii}\) |
| 影響力 (influence) | 除くと結果が大きく変わる | クックの距離、DFBETAS(その点を除いたときの各係数の変化を標準誤差で割ったもの) |
この 3 つの区別が実務では決定的である.
- \(x\) が中央にある外れ値は、傾きをほとんど動かさない(影響力は小さい)
- \(x\) が端にあり、かつ直線から外れている点は、傾きを支配する
- \(x\) が端にあっても直線上にあれば、むしろ推定を安定させる(てこ比は高いが害はない)
てこ比が高いこと自体は悪ではない。外れ値と重なったときに危険になる。 03 章のアンスコムの四重奏の III と IV は、まさにこの状況を示していた。
てこ比
(\(\sum_i h_{ii}\) は \(H\) の対角和(トレース)。トレースは積の順序を巡回させても変わらない、という行列の事実を使うと \(\text{tr}(X(X^\top X)^{-1}X^\top) = \text{tr}((X^\top X)^{-1}X^\top X) = \text{tr}(I_{p+1}) = p+1\)。)
目安: \(h_{ii}>2(p+1)/n\)(平均の 2 倍)なら高てこ比。慣例的な区切りで、理論的な根拠があるわけではない。
クックの距離
「点 \(i\) を除いたら、すべての予測値がどれだけ動くか」(\(\hat y_{j(i)}\) は点 \(i\) を除いて求めた回帰による点 \(j\) の予測値)。
2 つ目の等号の導出: 点 \(i\) を除いた推定量 \(\hat{\boldsymbol\beta}_{(i)}\) は、「\(y_i\) を \(\hat y_{i(i)}\) に差し替えたデータ」の最小二乗解でもある(差し替え点の残差が 0 なので、除いた場合と同じ直線が最適)。 差し替えは \(\mathbf y\) の第 \(i\) 成分を \(y_i - \hat y_{i(i)}\) だけ減らすことなので、\(\hat{\boldsymbol\beta} = (X^\top X)^{-1}X^\top\mathbf y\) の線形性より
(最後は \(y_i - \hat y_{i(i)} = e_i/(1-h_{ii})\)——22 章で導く 1 個抜きの公式。)予測値の変化は \(\hat{\mathbf y}-\hat{\mathbf y}_{(i)} = X(\hat{\boldsymbol\beta}-\hat{\boldsymbol\beta}_{(i)})\) なので、その二乗和は
これを \((p+1)\hat\sigma^2\) で割ると右辺になる。∎
目安: \(D_i > 1\) なら要注意(推定値が信頼領域の中心から大きく動く、という理論的な目安)。より保守的に \(D_i > 4/n\) を使う流儀もあり、こちらは経験則。どちらを使うかを決めて明記する。
式の形が語っていること. \(D_i\) は「残差の大きさ」×「てこ比」の積になっている。 どちらか一方だけでは影響力にならない。両方揃って初めて危険—— 先ほどの 3 分類が、そのまま式に現れている。
外れ値を見つけたら
絶対にやってはいけないこと: 見つけた外れ値を機械的に削除する。
正しい手順:
- 原因を調べる。 入力ミス、単位の取り違え、測定器の故障 → 修正または除外(理由を記録)
- 本物のデータなら → 除外しない。それは母集団の一部である
- 除外する場合は、除外前後の結果を両方報告する
- 外れ値に頑健な手法(ロバスト回帰、分位点回帰)を検討する
「有意になったから外れ値を消した」は 17 章の p ハッキングそのものである。
4. 不均一分散 (heteroscedasticity)
\(V[\varepsilon_i]\) が \(x\) によって変わる状態。
何が問題か
係数 \(\hat{\boldsymbol\beta}\) は不偏のままである。壊れるのは標準誤差。 だから t 値・p 値・信頼区間がすべて誤る。 典型的には標準誤差を過小評価し、偽の有意が量産される。
検出
| 検定 | 内容 |
|---|---|
| ブルーシュ・ペイガン検定 | 残差の二乗 \(e_i^2\) を説明変数に回帰し、その決定係数が 0 と言えるかを検定する(\(nR^2\) が近似的に \(\chi^2_p\) に従う)。説明変数で残差の大きさが予測できるなら分散は一定でない |
| ホワイト検定 | 同じ回帰に二乗項・交互作用も含めた一般形 |
| 残差プロット | 目視。しばしばこれが最も有用 |
対策
| 対策 | 内容 |
|---|---|
| 頑健標準誤差 (HC/White) | 係数はそのまま、標準誤差だけ修正。最も手軽で標準的(HC = Heteroscedasticity-Consistent、不均一分散でも一致性を持つ、の意) |
| 対数変換 | \(y\) が正で右に歪むとき有効なことが多い |
| 加重最小二乗 (WLS) | 分散の逆数で重み付け。分散構造が既知なら最良 |
| 一般化最小二乗 (GLS) | 共分散構造を明示的にモデル化 |
頑健標準誤差の式(White の HC0。最も基本の版で、小標本向けに補正した HC1〜HC3 がある):
サンドイッチ推定量とも呼ばれる(パンにあたる \((X^\top X)^{-1}\) で具を挟んだ形)。 分散が不均一でも一致性を持つ。 現代の計量経済学では、とりあえず頑健標準誤差を使うのが既定になっている。
5. 自己相関
誤差項どうしが相関している状態。時系列データで頻発する。
ダービン・ワトソン統計量:
(\(\hat\rho\) は隣り合う残差 \(e_i, e_{i-1}\) の相関係数。分子を展開すると \(\sum e_i^2 + \sum e_{i-1}^2 - 2\sum e_ie_{i-1} \approx 2\sum e_i^2(1-\hat\rho)\) になることから。)
| DW | 意味 |
|---|---|
| ≈ 2 | 自己相関なし |
| < 2 | 正の自己相関 |
| > 2 | 負の自己相関 |
対策: ラグ変数(1 期前の \(y_{i-1}\) など、過去の値を説明変数にしたもの)を入れる、時系列モデル(25 章)、Newey-West 標準誤差。
自己相関を放置すると標準誤差を大きく過小評価する。 「実質的な情報量」が \(n\) より少ないのに \(n\) の精度を主張することになるためである (13 章の擬似反復と同じ構造)。
6. 正則化 — なぜ係数を抑えるのか
問題意識
- 説明変数が多い(\(p\) が \(n\) に近い、あるいは \(p>n\))
- 多重共線性で \((X^\top X)^{-1}\) が不安定
- 過学習して予測性能が出ない
これらはすべて「係数の分散が大きすぎる」問題である。
10 章の分解を思い出す。
(推定量 \(\hat\beta_j\) の平均二乗誤差 = 分散 + バイアス²。)
最小二乗推定量はバイアス 0 だが、分散が大きい場合がある. ならば少しバイアスを入れる代わりに分散を大きく減らせば、総合誤差は下がる。 これが正則化の全アイデアである。
7. Ridge 回帰(L2 正則化)
(切片 \(\beta_0\) は罰則に含めない。)
解析解
導出: 目的関数を \(\boldsymbol\beta\) で微分すると
∎
対角に \(\lambda\) を足すだけで、行列が必ず正則になる. \(X^\top X\) が特異(多重共線性が完全)でも、\(X^\top X+\lambda I\) は正定値(どんな \(\mathbf v \neq \mathbf 0\) に対しても \(\mathbf v^\top A\mathbf v > 0\)。実際 \(\mathbf v^\top(X^\top X+\lambda I)\mathbf v = \|X\mathbf v\|^2 + \lambda\|\mathbf v\|^2 > 0\))になり、正定値行列は必ず逆行列を持つ。 \(p > n\) のときは \(X\) の列(\(p+1\) 本)が \(n\) 次元の中に収まりきらず必ず互いに従属になるので \(X^\top X\) は特異になるが、同じ理由で \(p > n\) でも解ける——これが Ridge の最大の実用的利点である。
数値計算の分野では、この操作は昔からチホノフ正則化として知られていた。 統計と数値解析が同じ答えにたどり着いている。
性質
| 性質 | 内容 |
|---|---|
| バイアス | あり(\(\lambda>0\) で縮小される) |
| 分散 | 大きく減る |
| 係数 | 0 に近づくが厳密には 0 にならない |
| 相関する変数 | 係数を均等に分け合う |
| スケール | 標準化が必須 |
標準化が必須な理由. 罰則 \(\sum\beta_j^2\) は単位に依存する。 「面積(m²)」と「面積(cm²)」で係数のスケールが 10000 倍違うので、 罰則の効き方がまったく変わってしまう。 正則化を使うときは、必ず説明変数を標準化する。
8. Lasso(L1 正則化)
特徴: 係数が厳密に 0 になる
なぜ 0 になるのか(幾何学的な説明):
制約付き最適化として書くと、Ridge は \(\sum\beta_j^2\le t\)(円)、 Lasso は \(\sum\lvert\beta_j\rvert\le t\)(菱形)の中で残差平方和を最小化する問題になる。
残差平方和 \(S(\boldsymbol\beta)\) は \(\boldsymbol\beta\) の 2 次式 \(\boldsymbol\beta^\top X^\top X\boldsymbol\beta - 2\boldsymbol\beta^\top X^\top\mathbf y + \text{const}\) で、\(X^\top X\) が正定値なので \(S = \) 一定 の等高線は楕円である(2 変数なら \(ax^2 + bxy + cy^2 = \) 定数)。制約なしの最小点(最小二乗解)を中心に楕円が広がっていき、制約領域に最初に触れる点が解になる。
- 円(Ridge): どこで触れても、ふつう座標軸上ではない → 係数は 0 にならない
- 菱形(Lasso): 頂点が座標軸上にある。楕円は角に触れやすい → その座標が 0 になる
「菱形の角」が変数選択を生む. これが Lasso の本質である。 高次元では菱形は「頂点・稜線・面」を持つ多面体になり、頂点や稜線の上の点はいくつかの座標が 0 である。次元が上がるほどそうした「座標が 0 の場所」が増えるので、楕円がそこに触れる機会も増え、スパース性はさらに強まる。
性質
| 性質 | 内容 |
|---|---|
| 変数選択 | 自動的に行う(係数が 0 になる) |
| 解析解 | なし(座標降下法などで数値的に解く) |
| 相関する変数 | どれか 1 つだけを選び、他を 0 にする(不安定) |
| \(p>n\) | 選べるのは最大 \(n\) 個まで |
9. Elastic Net
両方を混ぜる。
(\(\alpha\) は L1 と L2 の混合比率。scikit-learn ではこの混合比率を l1_ratio、罰則の強さ \(\lambda\) を alpha と呼ぶので、下のコードの alphas は本文の \(\lambda\) の候補である。)
Lasso のスパース性と Ridge の安定性を両立する。 相関する変数群をまとめて選ぶ(grouping effect)ので、遺伝子データなど相関の強い高次元データで有効。
10. 3 手法の比較
| 最小二乗 | Ridge | Lasso | |
|---|---|---|---|
| 罰則 | なし | \(\lambda\sum\beta_j^2\) | \(\lambda\sum\lvert\beta_j\rvert\) |
| バイアス | なし | あり | あり |
| 分散 | 大 | 小 | 小 |
| 変数選択 | しない | しない | する |
| \(p>n\) | 解けない | 解ける | 解ける |
| 多重共線性 | 弱い | 強い | やや弱い |
| 解析解 | あり | あり | なし |
\(\lambda\) の選び方
交差検証で決める(22 章)。\(\lambda\) を変えながら検証誤差を計算し、最小の \(\lambda\) を選ぶ。
実務では「1 標準誤差ルール」もよく使う—— 最小誤差から 1 SE(交差検証の各分割で得た誤差の標準誤差)以内で最も大きい \(\lambda\) を選ぶ。よりシンプルなモデルが得られる。
from sklearn.linear_model import RidgeCV, LassoCV
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import make_pipeline
import numpy as np
model = make_pipeline(
StandardScaler(), # 標準化は必須
LassoCV(alphas=np.logspace(-3, 1, 50), cv=5)
)
model.fit(X, y)11. ベイズとの関係
正則化は、ベイズ推定の事後最頻値 (MAP) として解釈できる(23 章)。
| 手法 | 対応する事前分布 |
|---|---|
| Ridge | \(\beta_j\sim N(0,\tau^2)\)(正規分布) |
| Lasso | \(\beta_j\sim \text{Laplace}(0,b)\)(ラプラス分布) |
導出のあらすじ: 事後 \(\propto\) 尤度 × 事前。誤差が正規分布 \(N(0,\sigma^2)\) なら尤度は \(\prod_i\exp\{-(y_i-\mathbf x_i^\top\boldsymbol\beta)^2/2\sigma^2\}\) に比例し、事前分布 \(N(0,\tau^2)\) の密度は \(\prod_j\exp\{-\beta_j^2/2\tau^2\}\) に比例する。対数を取ると
両辺に \(-2\sigma^2\) を掛けると \(\sum(y_i-\mathbf x_i^\top\boldsymbol\beta)^2 + (\sigma^2/\tau^2)\sum\beta_j^2\) になるので、対数事後の最大化は、\(\lambda=\sigma^2/\tau^2\) とした Ridge の目的関数の最小化と同じである。∎ Lasso も同様で、ラプラス分布の密度は \(\exp\{-|\beta_j|/b\}\) に比例するため、対数事前が \(-\sum|\beta_j|/b\) となり、\(\lambda = 2\sigma^2/b\) の L1 罰則になる。
正則化とは「係数は 0 の近くにあるはずだ」という事前信念を式に入れることだった. ラプラス分布は 0 で尖っているので「多くの係数はちょうど 0」という信念になり、 それがスパース性を生む。Lasso が変数選択をする理由がベイズ側からも説明できる。
12. まとめ
診断(必ず行う)
- 残差 vs 予測値、Q-Q プロット、スケール・ロケーション、てこ比プロットの 4 枚
- 外れ値・てこ比・影響力は別物。クックの距離は両者の積
- 外れ値は原因を調べてから扱う。機械的削除は不正
前提の破れと対処
| 破れ | 影響 | 対処 |
|---|---|---|
| 非線形 | 係数がバイアス | 変換、非線形項 |
| 不均一分散 | 標準誤差が誤る | 頑健標準誤差 |
| 自己相関 | 標準誤差が誤る | 時系列モデル、Newey-West |
| 外れ値 | 係数が歪む | 原因調査、ロバスト回帰 |
正則化
- MSE = 分散 + バイアス²。バイアスを買って分散を売る
- Ridge: \((X^\top X+\lambda I)^{-1}X^\top\mathbf y\)。\(p>n\) でも解ける。0 にはならない
- Lasso: 変数選択をする。菱形の角が原因
- 標準化は必須。\(\lambda\) は交差検証で決める
- 正則化はベイズの MAP 推定と等価