青の統計学-DS Playground-

モデル選択・交差検証・過学習

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. 訓練誤差と汎化誤差

訓練データに対する誤差を訓練誤差と呼びます。 モデルを複雑にすると、通常、訓練誤差は小さくなります。 しかし、新しいデータに対する誤差である汎化誤差は、複雑すぎるモデルで悪化することがあります。 これが過学習です。

予測誤差は概念的に、

\[ E[(Y-\hat f(X))^2] \]

で測ります。 これはバイアス、分散、ノイズに分けて理解できます。

\[ E[(Y-\hat f(X))^2] =Bias^2+Variance+\sigma^2 \]

モデルが単純すぎるとバイアスが大きく、複雑すぎると分散が大きくなります。

📘 前提知識:訓練誤差は「見たデータへの当てはまり」

変数やパラメータを増やすと、訓練データには合わせやすくなります。 しかし未知データで同じように当たるとは限りません。 AIC/BICや交差検証は、当てはまりと複雑さ、または未知データでの性能を見比べるために使います。


2. AIC

AICは、最大対数尤度とパラメータ数から定義されます。

\[ AIC=-2\ell(\hat\theta)+2k \]

ここで $k$ は推定パラメータ数です。 $-2\ell(\hat\theta)$ は当てはまりの悪さ、$2k$ は複雑さへの罰則です。 小さいAICを持つモデルを選びます。

AICの背景には、真の分布と候補モデルのKL情報量を小さくするという考え方があります。 真の分布を完全に当てるのではなく、予測や近似の良さを重視します。

この式は「当てはまりの良さ($-2\ell$ が小さいほど良い)」と「複雑さの罰則($2k$)」の足し算として読みます。パラメータを増やせば $-2\ell$ は下がりますが、その代わり $2k$ が増えるため、AICは両者が釣り合う点を選びます。

関連教材(青の統計学)


3. BIC

BICは、

\[ BIC=-2\ell(\hat\theta)+k\log n \]

です。 罰則項が $k\log n$ なので、標本サイズが大きいほどAICより強く複雑さを罰する傾向があります。

BICは、候補モデルの中に真のモデルが含まれるという想定の下で、真のモデル選択に一致する性質を持ちます。 大まかにいえば、AICは予測・近似寄り、BICは真のモデル同定寄りです。

ただし、実務では真のモデルが候補に含まれるとは限りません。 試験では、AICとBICの式、罰則の違い、目的の違いを押さえます。


4. 交差検証

📘 前提知識:交差検証は「同じデータで採点しない」工夫

訓練に使ったデータで成績を測ると、暗記した答案を自分で採点するようなもので、点が甘くなります。 交差検証は、データの一部を「採点用」に隠しておき、残りで学習してから隠したデータで評価します。 これを隠す場所を変えながら繰り返すことで、未知データへの性能を公平に見積もります。

交差検証は、データを訓練用と評価用に分け、未使用データで予測性能を評価する方法です。 $K$-fold交差検証では、データを $K$ 個に分け、1つを検証用、残りを訓練用にしてこれを繰り返します。

評価値は、

\[ CV=\frac{1}{K}\sum_{k=1}^{K}Err_k \]

です。 ここで $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_A=-2(-50)+2\times2=104,\qquad AIC_B=-2(-47)+2\times4=102 \]

AICは小さい方を選ぶので、AICはモデルBを選びます

次にBICを計算します。$BIC=-2\ell+k\log n$ で、$\log 100\approx4.605$ なので、

\[ BIC_A=100+2\times4.605\approx109.2,\qquad BIC_B=94+4\times4.605\approx112.4 \]

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. 解法テンプレ

モデル選択の問題が出たら、次の順で処理します。

  1. 目的を確認する(予測・説明・因果のどれを重視するか)。
  2. 当てはまりだけで判断しない($R^2$ や訓練誤差は複雑なモデルで必ず改善する)。
  3. 情報量規準なら $AIC=-2\ell+2k$、$BIC=-2\ell+k\log n$ を計算し、小さい方を選ぶ。
  4. AICは予測・近似寄り、BICは真モデル同定寄り、という目的の違いを意識する。
  5. 予測性能を直接見たいなら交差検証で、未使用データの誤差を評価する。
  6. 交差検証では、前処理・分割の設計(リーク、時系列、グループ構造)を確認する。
  7. ステップワイズで選んだ変数のp値は、選択後推論として割り引いて読む。

12. ここで1問

「当てはまり」ではなく「未知データでの性能」を基準に選べているかを意識して解きます。

このページの確認問題

関連教材(青の統計学)


13. 次に読むページ

次は、ANOVAと実験計画を扱います。 回帰の射影・平方和分解を、群比較と実験設計へ接続します。