第11回 モデル選択とAIC¶
12/15(火)Ⅱ講 10:35〜12:15・B402教室
当てはまりの良さ vs 複雑さ ―― オッカムの剃刀の定量化
今日のリンク
- 📊 スライドを開く
- 📓 Colabノートを開く(11_aic.ipynb)
- 📝 課題を提出する(Moodle・第11回)
- 課題の本文はこのページの末尾にあります
この回のゴール¶
- 過学習(手元に合わせすぎて未知データに弱くなる)を説明できる
- AICの考え方(当てはまり + 複雑さのペナルティ)を理解し、モデル比較に使える
- 「R²最大のモデル」と「AIC最小のモデル」が違うことを知る
到達目標との対応:G4(AICでモデル選択)。
0. フック¶
変数を増やせば R² は上がり続ける(第10回)。 じゃあ思いつく変数を全部入れればいい? それで“未来”は当たるの?
1. 過学習を、目で見る¶
データを 訓練用(7割) と テスト用(3割) に分ける。訓練用だけでモデルを作り、見せていないテスト用でどれだけ予測できるかを測る。本物の変数に「でたらめ列」を足していくと:
- 訓練R²(手元への当てはまり):でたらめを足すほど 上がり続ける(0.42 → 0.47)
- テスト誤差 RMSE(未知データの予測のズレ・小さいほど良い):途中までは下がるが、ある点から悪化していく(U字)
これが過学習
当てはまり(訓練R²)は上がり続けるのに、予測(テスト誤差)は途中から悪化する。 手元のデータに合わせすぎて、未知のデータに弱くなる。 「当てはまりの良さ(R²)」と「予測の良さ」は別物。R²を最大化してはいけない。
2. AIC ―― テストデータ無しで「予測の良さ」を見積もる¶
毎回データを分けるのは大変。AIC(赤池情報量規準) は、手元のデータだけから予測の良さを見積もる指標。
- 当てはまりが良いほど第1項が小さい(AIC下がる)
- 変数を増やすほど第2項が大きい(AIC上がる=ペナルティ)
- AICが小さいモデルほど良い=「当てはまり」と「複雑さ」のバランスが最良
これは オッカムの剃刀(同じ説明力なら単純なほうを選べ)の定量化だ。
3つのモデルを比べる¶
| モデル | R²(当てはまり) | AIC(小さいほど良い) |
|---|---|---|
| M1 勉強のみ | 0.363 | 2896.4 |
| M2 勉強+睡眠+SNS | 0.377 | 2891.2(最小) |
| M3 M2+でたらめ10本 | 0.386(最大) | 2905.8 |
R²が最大なのは M3(でたらめ入り)。でもAICが最小=採用すべきは M2。一致しない!
- M1→M2:本物の変数(睡眠・SNS)を足したらAICは下がった(役立つ変数は歓迎)
- M2→M3:でたらめを足したらR²は上がったがAICは上がった(中身のない複雑さは罰する)
AICは「R²の罠」に引っかからず、過学習しないモデルを選んでくれる。
3. AICの使い方の作法¶
- AICは相対指標。絶対値そのものに意味はない(2891という数字単体は何も語らない)。モデル間の差で比べる。
- 差が大きいほど優劣は明確(目安:差が2以上で意味あり、10以上で決定的)。
- 比べるモデルは同じデータ・同じ目的変数で作ること。
- AICが小さい=予測が良いの見積もりであって、真のモデルを当てる保証ではない。候補の中での相対的ベスト。
よくある誤り
「AICの絶対値が小さい/大きいことに意味がある」「変数は多いほど良い」――どちらも誤り。 AICは差で比べる相対指標で、複雑さにはペナルティがかかる。
まとめ¶
| 概念 | ひとこと |
|---|---|
| 過学習 | 手元に合わせすぎて未知データに弱くなる(訓練R²↑なのにテスト誤差↑) |
| 当てはまり vs 予測 | R²最大化はダメ。狙うのは未知データの予測 |
| AIC | −2×当てはまり + 2×パラメータ数。小さいほど良い |
| オッカムの剃刀 | 同じ説明力なら単純なモデルを選ぶ。AICはその定量化 |
| ❌ 誤り | AICの絶対値に意味がある/変数は多いほど良い |
R²最大のモデルとAIC最小のモデルは違う。 良いモデルは「当てはまり」ではなく「当てはまりと複雑さのバランス」で選ぶ。 手元のデータによく合う説明ほど正しく思える ―― これが第1回の確証バイアスの、モデル選択における現れ方である。AICは「単純なほうを選べ」という規律を、好みではなく数式で与える。
今日の課題(Moodle提出)¶
配点:100点(自動採点40点 + 記述60点)/ 提出先:Moodle
Colab 11_aic.ipynb を実行したうえで答えること。
パートA:選択問題(自動採点・各10点 ×4=40点)¶
A1. 過学習が起きると、訓練データへの当てはまり(訓練R²)とテストデータの予測誤差はそれぞれどうなるか。 - (ア) 訓練R²は上がり続けるが、テスト誤差は途中から悪化する - (イ) 両方とも良くなり続ける - (ウ) 訓練R²が下がり、テスト誤差も下がる
A2. AIC(赤池情報量規準)の説明として最も正しいのは? - (ア) 当てはまりの良さに、複雑さ(変数の多さ)のペナルティを足した指標で、小さいほど良い - (イ) 大きいほど良いモデルだ - (ウ) R²と同じもの
A3. 3モデルで R²最大は「M3(でたらめ入り)」、AIC最小は「M2」だった。採用すべきモデルは? - (ア) R²が最大の M3 (イ) AICが最小の M2 (ウ) 変数が最も多い M3
A4. AICの使い方として正しいのは? - (ア) AICの絶対値が小さいほど、それ自体に意味がある - (イ) AICは相対指標で、同じデータで作ったモデル間の差で比べる - (ウ) 変数を増やせばAICは必ず下がる
パートB:記述問題(AIフィードバック対象・60点)¶
【全記述に共通・重要】自分の出力を引用すること
記述には、今日のColabで確認した数値を最低1つ引用すること(例:「M2のAICは2891で最小」「M3はR²最大0.386だがAICは2906」「でたらめを足すと訓練R²↑なのにテスト誤差↑」)。引用がない記述は満点になりません。
B1.(30点) 後輩が「3つのモデルを比べたら、R²はモデルCが一番高かった。だからCを使うべきだ」と言っている。なぜそれだけでは決められないのか、過学習とAICの観点から説明し、どう判断すべきかを述べなさい。
B2.(30点) 「変数はとにかくたくさん入れたほうが良いモデルになる」という考えは、なぜ間違いか。今日見た過学習(当てはまりと予測の食い違い)と、AICのペナルティの両方を使って説明しなさい。あわせて「オッカムの剃刀」が何を言っているかにも触れること。
目安:B1・B2あわせて350〜550字。自分の言葉で書くこと。
次回予告
第12回「ベイズ統計の入り口」。これまでの頻度論とは違う、もう一つの確率の見方。データで信念を更新する、ベイズの考え方へ。