モデル選択・交差検証・過学習
Stage 4 — 第3章 | 統計検定準1級チートシート 推定学習時間:80〜100分 | 難易度:★★★★☆
このページで押さえること
モデル選択では、「当てはまりがよいモデル」ではなく、「新しいデータにも役立つモデル」を選ぶ必要があります。 AIC、BIC、交差検証は、いずれも複雑なモデルを無条件に選ばないための仕組みです。
このページを終えると、こんなことができるようになります:
- 訓練誤差と汎化誤差の違いを説明できる
- AICとBICの罰則項と目的の違いを説明できる
- 交差検証で予測性能を評価する流れを説明できる
- ステップワイズ法の利点と選択後推論の注意点を説明できる
- 予測目的と説明目的でモデル選択基準が変わることを説明できる
2級ではここまで、準1級ではここが増える
2級では、モデルの良さは主に決定係数 $R^2$ や有意性で語られ、「当てはまりがよいほど良いモデル」という素朴な見方が中心でした。
準1級では、当てはまりだけを見ると過学習を選んでしまう、という問題を正面から扱います。
| 観点 | 2級でのレベル | 準1級で増える点 |
|---|---|---|
| 評価軸 | 訓練データへの当てはまり($R^2$) | 未知データでの汎化誤差 |
| 複雑さ | (ほぼ問わない) | AIC/BICで複雑さを罰する |
| 検証 | 全データで1回当てはめ | 交差検証でデータを分けて評価 |
| 目的 | 当てはまり一択 | 予測/説明/因果で基準が変わる |
つまり準1級では「$R^2$ が高い=良い」で止まらず、当てはまりと複雑さのバランスを情報量規準や交差検証で評価し、目的に応じて基準を選べることが問われます。
1. 訓練誤差と汎化誤差
訓練データに対する誤差を訓練誤差と呼びます。 モデルを複雑にすると、通常、訓練誤差は小さくなります。 しかし、新しいデータに対する誤差である汎化誤差は、複雑すぎるモデルで悪化することがあります。 これが過学習です。
予測誤差は概念的に、
で測ります。 これはバイアス、分散、ノイズに分けて理解できます。
モデルが単純すぎるとバイアスが大きく、複雑すぎると分散が大きくなります。
📘 前提知識:訓練誤差は「見たデータへの当てはまり」
変数やパラメータを増やすと、訓練データには合わせやすくなります。 しかし未知データで同じように当たるとは限りません。 AIC/BICや交差検証は、当てはまりと複雑さ、または未知データでの性能を見比べるために使います。
2. AIC
AICは、最大対数尤度とパラメータ数から定義されます。
ここで $k$ は推定パラメータ数です。 $-2\ell(\hat\theta)$ は当てはまりの悪さ、$2k$ は複雑さへの罰則です。 小さいAICを持つモデルを選びます。
AICの背景には、真の分布と候補モデルのKL情報量を小さくするという考え方があります。 真の分布を完全に当てるのではなく、予測や近似の良さを重視します。
この式は「当てはまりの良さ($-2\ell$ が小さいほど良い)」と「複雑さの罰則($2k$)」の足し算として読みます。パラメータを増やせば $-2\ell$ は下がりますが、その代わり $2k$ が増えるため、AICは両者が釣り合う点を選びます。
関連教材(青の統計学)
3. BIC
BICは、
です。 罰則項が $k\log n$ なので、標本サイズが大きいほどAICより強く複雑さを罰する傾向があります。
BICは、候補モデルの中に真のモデルが含まれるという想定の下で、真のモデル選択に一致する性質を持ちます。 大まかにいえば、AICは予測・近似寄り、BICは真のモデル同定寄りです。
ただし、実務では真のモデルが候補に含まれるとは限りません。 試験では、AICとBICの式、罰則の違い、目的の違いを押さえます。
4. 交差検証
📘 前提知識:交差検証は「同じデータで採点しない」工夫
訓練に使ったデータで成績を測ると、暗記した答案を自分で採点するようなもので、点が甘くなります。 交差検証は、データの一部を「採点用」に隠しておき、残りで学習してから隠したデータで評価します。 これを隠す場所を変えながら繰り返すことで、未知データへの性能を公平に見積もります。
交差検証は、データを訓練用と評価用に分け、未使用データで予測性能を評価する方法です。 $K$-fold交差検証では、データを $K$ 個に分け、1つを検証用、残りを訓練用にしてこれを繰り返します。
評価値は、
です。 ここで $Err_k$ は第 $k$ fold の検証誤差です。この式は「$K$ 回の検証誤差の平均」で、各回ごとに採点用に使う fold を入れ替えるため、全データが一度ずつ評価に使われます。
LOOCVは $K=n$ の交差検証です。 バイアスは小さくなりやすい一方、計算コストや分散の問題があります。
5. ステップワイズ法
ステップワイズ法は、説明変数を追加・削除しながらモデルを選ぶ方法です。
| 方法 | 動き | 注意点 |
|---|---|---|
| 前進選択 | 変数を1つずつ追加 | 初期モデルに依存 |
| 後退消去 | フルモデルから削除 | 変数数が多いと不安定 |
| 双方向選択 | 追加と削除を両方 | 探索の多重性がある |
選択基準にはAIC、BIC、p値などが使われます。 ただし、変数選択後に通常のp値をそのまま解釈すると、選択過程を無視するため過度に楽観的になります。
6. 予測目的と説明目的
予測目的では、新しいデータへの誤差を小さくすることが中心です。 交差検証、正則化、アンサンブルなどが有効です。
説明目的では、係数の解釈、交絡、設計、変数の意味が重要です。 予測精度が高くても、係数を因果効果として読めるとは限りません。
| 目的 | 重視するもの | 注意点 |
|---|---|---|
| 予測 | 汎化誤差 | 解釈しにくいモデルもあり得る |
| 説明 | 係数解釈・仮説検定 | 交絡や選択バイアスに注意 |
| 因果 | 介入効果 | ランダム化・識別仮定が必要 |
次の図では、モデルを複雑にするほど訓練誤差は下がり続けるのに、検証誤差は途中で反転して上がる様子を見る。

訓練誤差は単調に下がるが、検証誤差はバイアス減少と分散増加の釣り合う点で最小になる。この谷が「ちょうどよい複雑さ」を示す。
関連教材(青の統計学)
7. 情報量規準と交差検証の使い分け
AICやBICは尤度とパラメータ数から計算できるため、比較が手軽です。 ただし、候補モデルの尤度が同じ枠組みで定義されている必要があります。
交差検証は予測性能を直接評価できます。 一方で、データ分割のばらつき、時系列データでのリーク、グループ構造の無視に注意が必要です。
時系列では、未来のデータを使って過去を予測するような分割をしてはいけません。 交差検証は、データ生成の構造に合わせて設計します。
8. 小さな計算例:AICとBICで選ぶモデルが分かれる
AICとBICの罰則の違いが、選ぶモデルを変えうることを数値例で確認します。 標本サイズ $n=100$ で、2つの候補モデルが次のように当てはめられたとします。
| モデル | パラメータ数 $k$ | 最大対数尤度 $\ell(\hat\theta)$ |
|---|---|---|
| A(単純) | 2 | $-50$ |
| B(複雑) | 4 | $-47$ |
複雑なモデルBの方が当てはまりは良い($\ell$ が大きい)ですが、パラメータも多くなっています。
まずAICを計算します。$AIC=-2\ell+2k$ なので、
AICは小さい方を選ぶので、AICはモデルBを選びます。
次にBICを計算します。$BIC=-2\ell+k\log n$ で、$\log 100\approx4.605$ なので、
BICは小さい方を選ぶので、BICはモデルA(単純な方)を選びます。
| 基準 | モデルA | モデルB | 選ばれる |
|---|---|---|---|
| AIC | 104 | 102 | B(複雑) |
| BIC | 109.2 | 112.4 | A(単純) |
同じデータでも、罰則が強いBICの方が単純なモデルを選びやすいことが分かります。 試験では「AICとBICで結論が変わる」状況で、$k\log n$ と $2k$ のどちらの罰則が効いているかを説明できることが要点です。
9. 問題文トリガー辞書
| 問題文の表現 | 選ぶ考え方 | 使う基準 | 典型ミス |
|---|---|---|---|
| 「AIC」 | 予測・KL近似 | $-2\ell+2k$ | 大きい方を選ぶ |
| 「BIC」 | 真モデル同定寄り | $-2\ell+k\log n$ | AICと同じ罰則と思う |
| 「未使用データで評価」 | 交差検証 | validation error | 訓練誤差で選ぶ |
| 「変数を追加・削除」 | ステップワイズ | AIC/BIC/p値 | 選択後p値を無条件解釈 |
| 「過学習」 | 汎化誤差 | bias-variance | 複雑なら常に良いと考える |
| 「説明と予測」 | 目的の違い | 係数/予測誤差 | 予測精度を因果解釈する |
10. 典型ミス・ひっかけ
| ミス | なぜ危ないか | 防ぎ方 |
|---|---|---|
| AIC/BICを最大化する | 情報量規準は小さい方を選ぶ | 式の符号を確認 |
| AICとBICの違いを罰則係数だけで終える | 背景目的が違う | 予測寄り/同定寄りで整理 |
| 交差検証で前処理を全データに先に適用する | データリークが起こる | fold内で前処理を学習 |
| ステップワイズ後のp値を通常通り読む | 選択過程が無視される | 探索的分析として扱う |
| 高い $R^2$ を汎化性能と読む | 訓練内の適合度でしかない | 検証データで評価 |
11. 解法テンプレ
モデル選択の問題が出たら、次の順で処理します。
- 目的を確認する(予測・説明・因果のどれを重視するか)。
- 当てはまりだけで判断しない($R^2$ や訓練誤差は複雑なモデルで必ず改善する)。
- 情報量規準なら $AIC=-2\ell+2k$、$BIC=-2\ell+k\log n$ を計算し、小さい方を選ぶ。
- AICは予測・近似寄り、BICは真モデル同定寄り、という目的の違いを意識する。
- 予測性能を直接見たいなら交差検証で、未使用データの誤差を評価する。
- 交差検証では、前処理・分割の設計(リーク、時系列、グループ構造)を確認する。
- ステップワイズで選んだ変数のp値は、選択後推論として割り引いて読む。
12. ここで1問
「当てはまり」ではなく「未知データでの性能」を基準に選べているかを意識して解きます。
このページの確認問題
- 統計学応用 モデル選択
- 機械学習基礎 データ分割
- まず解く: AIC、BIC、交差検証、過学習
- 目標: モデル選択基準を目的別に使い分けられる
関連教材(青の統計学)
13. 次に読むページ
次は、ANOVAと実験計画を扱います。 回帰の射影・平方和分解を、群比較と実験設計へ接続します。