第11回 モデル選択とAIC¶
12/15(火)Ⅱ講 10:35〜12:15・B402教室
当てはまりの良さ vs 複雑さ ―― オッカムの剃刀の定量化
今日のリンク
- 📊 スライドを開く
- 📓 Colabノートを開く(11_aic.ipynb)
- 📝 課題を提出する(Moodle・第11回)
- 課題の本文はこのページの末尾にあります
考え方をガイドで確かめる
この回の考え方は、統計の考え方ガイドの「回帰とモデル」でも解説しています。霊長類のデータを動かしながら確かめられます。
この回のゴール¶
- 過学習(手元に合わせすぎて未知データに弱くなる)を説明できる
- AICの考え方(当てはまり + 複雑さのペナルティ)を理解し、モデル比較に使える
- 「R²最大のモデル」と「AIC最小のモデル」が違うことを知る
- 発展:\( -2\log L \) がなぜ残差平方和で書けるのかを導き、ペナルティ \( 2k \) が何を補正しているかを説明できる
到達目標との対応:G4(AICでモデル選択)。
0. フック¶
変数を増やせば R² は上がり続ける(第10回)。 じゃあ思いつく変数を全部入れればいい? それで“未来”は当たるの?
1. 過学習を、目で見る¶
データを 訓練用(7割) と テスト用(3割) に分ける。訓練用だけでモデルを作り、見せていないテスト用でどれだけ予測できるかを測る。本物の変数に「でたらめ列」を足していくと:
- 訓練R²(手元への当てはまり):でたらめを足すほど 上がり続ける(でたらめ0本で 0.748、20本で 0.809)
- テスト誤差 RMSE(未知データの予測のズレ・小さいほど良い):でたらめを足すほど 悪化していく(0.474 → 0.541)
これが過学習
当てはまり(訓練R²)は上がり続けるのに、予測(テスト誤差)は悪化していく。 手元のデータに合わせすぎて、未知のデータに弱くなる。 「当てはまりの良さ(R²)」と「予測の良さ」は別物。R²を最大化してはいけない。
2. AIC ―― テストデータ無しで「予測の良さ」を見積もる¶
毎回データを分けるのは大変。AIC(赤池情報量規準) は、手元のデータだけから予測の良さを見積もる指標。
- 当てはまりが良いほど第1項が小さい(AIC下がる)
- 変数を増やすほど第2項が大きい(AIC上がる=ペナルティ)
- AICが小さいモデルほど良い=「当てはまり」と「複雑さ」のバランスが最良
これは オッカムの剃刀(同じ説明力なら単純なほうを選べ)の定量化だ。
導出①:なぜ「当てはまりの良さ」を残差平方和で測ってよいのか
第1項の \( L \) は尤度、つまり「そのモデルのもとで、手元のデータが得られる確率密度」である。
誤差が平均 0・分散 \( \sigma^2 \) の正規分布に従うと仮定すると、各観測の確率密度は
観測が独立なら尤度はこれらの積になる。対数を取ると積は和に変わるので、
ここで \( \sigma^2 \) を、データから推定した値 \( \hat{\sigma}^2 = RSS/n \)(\( RSS=\sum e_i^{\,2} \) は残差平方和)で置き換える。すると最後の項はちょうど \( -n/2 \) という定数になり、
右辺の第2項は n だけで決まる。同じデータで比べるかぎり、どのモデルでも同じ値なので、モデル間の差を取ると消えてしまう。残るのは \( n\log(RSS/n) \) だけである。
これが、当てはまりの良さを残差平方和で測ってよい理由だ。RSS が小さいほど \( -2\log L \) が小さく、AIC も小さくなる。第10回の最小二乗法(RSS を最小にする)と、ここでの最尤法が、正規分布の仮定のもとで同じものになっていることも見てとれる。
数値で確かめる:M2(体重+集団+密度、n=137)で、統計ソフトが出す対数尤度から計算した \( -2\log L \) は 176.1602。RSS から上の式で手計算しても 176.1602 で、一致する。
この式は『誤差が正規分布』を使っている
\( -2\log L = n\log(RSS/n) + \text{定数} \) という形になるのは、誤差を正規分布と仮定したからである。別の分布を仮定すれば、当てはまりの測り方も変わる。AIC そのものは正規分布に限らず使えるが、そのときの \( \log L \) はその分布で計算し直す必要がある。
使った数学:指数関数と対数の性質(微I)。独立な事象の確率の積(統計学Ⅱ 第2回)。
導出②:ペナルティ \( 2k \) は、何を補正しているのか
本当に知りたいのは「まだ見ていないデータにどれだけ当たるか」である。ところが手元にあるのは1組のデータだけで、そこからパラメータを推定し、その同じデータで当てはまりを測っている。
このやり方では、当てはまりは必ず実力より良く出る。推定の段階で、そのデータにたまたま乗っていた偶然のでこぼこにまで合わせてしまうからだ。パラメータが多いほど、合わせられる余地は増える。第10回で、でたらめな乱数を足すだけで \( R^2 \) が上がったのは、これが起きていたからである。
赤池弘次が示したのは、この「楽観のぶん」が、標本が大きいときにはパラメータ数 k でおよそ書け、\( -2\log L \) の尺度では \( 2k \) になるということである。だから手元の当てはまりに \( 2k \) を足し戻せば、未知データでの当てはまりの見積もりが得られる。
ペナルティは「複雑なモデルは嫌いだ」という好みではない。手元のデータで測ったせいで生じた偏りを、差し引いているだけである。
なぜちょうど \( 2k \) なのかは、この科目では導かない
この \( 2k \) は、カルバック・ライブラー情報量という「2つの分布のズレ」を測る量を、標本が大きいときに展開して出てくる近似である。その導出には多変数のテイラー展開と行列の計算が必要で、この授業で扱う統計数理の範囲外になる。ここでは「楽観のぶんがパラメータ数で書ける」という筋道までを確認するにとどめる。
また「標本が大きいとき」の近似なので、n が小さいと補正が足りない。そのときは AICc という修正版を使う。
k に分散 \( \sigma^2 \) を数えるかどうか
パラメータ数 k に、切片や傾きだけでなく誤差分散 \( \sigma^2 \) を数えるかは流儀が分かれ、統計ソフトによって AIC の値が 2 だけずれることがある。ただし \( \sigma^2 \) はどのモデルにも1つずつあるので、同じ流儀で揃えて比べるかぎり、モデル間の差は変わらない。AIC を差で読む(次節)のは、こうした事情のためでもある。
使った数学:期待値とバイアスの考え方(第7回の不偏性と同じ発想)。厳密な導出には多変数の近似(微II以降)。
3つのモデルを比べる¶
| モデル | 変数の数 | R²(当てはまり) | AIC(小さいほど良い) |
|---|---|---|---|
| M1 体重のみ | 1 | 0.468 | 281.4 |
| M2 体重+集団+密度 | 3 | 0.746 | 184.2(最小) |
| M3 M2+でたらめ10本 | 13 | 0.775(最大) | 187.7 |
R²が最大なのは M3(でたらめ入り、0.775)。でもAICが最小=採用すべきは M2(184.2)。一致しない!
- M1→M2:本物の変数(集団サイズ・個体群密度)を足したらAICは 281 → 184 と大きく下がった(役立つ変数は歓迎)
- M2→M3:でたらめを足したらR²は上がったがAICは 184 → 188 と上がった(中身のない複雑さは罰する)
AICは「R²の罠」に引っかからず、過学習しないモデルを選んでくれる。
3. AICの使い方の作法¶
- AICは相対指標。絶対値そのものに意味はない(184.2という数字単体は何も語らない)。モデル間の差で比べる。
- 差が大きいほど優劣は明確(目安:差が2以上で意味あり、10以上で決定的)。今回の M2 と M3 の差は 3.5 なので「M2のほうが良い」と言える程度、M1 と M2 の差は 97 でこちらは決定的である。
- 比べるモデルは同じデータ・同じ目的変数で作ること。
- AICが小さい=予測が良いの見積もりであって、真のモデルを当てる保証ではない。候補の中での相対的ベスト。
導出③:「差が2」「差が10」は、どこから来た数字か
上の「差が2以上で意味あり、10以上で決定的」は、理論から一意に決まる境目ではない。元になっているのは、AIC の差から計算する次の量である。
差 \( \Delta \) が 2 なら \( e^{-1} = 0.37 \)、差が 10 なら \( e^{-5} = 0.0067 \)。つまり「差が2のモデルは最良モデルの4割弱の重み、差が10なら1%未満」という連続的な目盛りであって、2 や 10 のところに崖があるわけではない。
「差が2以上なら意味がある」は、この連続的な目盛りを現場で使いやすいように区切った経験則である。 理論的な帰結ではない。だから、差が 1.9 と 2.1 で結論を反転させるような使い方をしてはいけない。差が小さいときの正しい態度は、「どちらとも決められない」と言うことである。
使った数学:指数関数(微I)。
よくある誤り
「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(赤池情報量規準)の説明として最も正しいのは?
- (ア) 当てはまりの悪さ(−2×対数尤度)に、複雑さ(変数の多さ)のペナルティを足した指標で、小さいほど良い
- (イ) 大きいほど良いモデルだ
- (ウ) R²と同じもの
A3. 3モデルで R²最大は「M3(でたらめ入り)」、AIC最小は「M2」だった。採用すべきモデルは?
- (ア) R²が最大の M3 (イ) AICが最小の M2 (ウ) 変数が最も多い M3
A4. AICの使い方として正しいのは?
- (ア) AICの絶対値が小さいほど、それ自体に意味がある
- (イ) AICは相対指標で、同じデータで作ったモデル間の差で比べる
- (ウ) 変数を増やせばAICは必ず下がる
パートB:記述問題(AIフィードバック対象・60点)¶
【全記述に共通・重要】自分の出力を引用すること
記述には、今日のColabであなたのノートが出した数値を最低1つ引用すること。ここには値を書かない。自分の画面に出た値を使うこと。 引ける量の例:「各モデルのAICと、最小になったモデル」「R²が最大のモデルとそのAIC」「でたらめを足したときの訓練R²とテスト誤差」。 引用がない記述は満点になりません。
B1.(30点) 後輩が「3つのモデルを比べたら、R²はモデルCが一番高かった。だからCを使うべきだ」と言っている。なぜそれだけでは決められないのか、過学習とAICの観点から説明し、どう判断すべきかを述べなさい。
B2.(30点) 「変数はとにかくたくさん入れたほうが良いモデルになる」という考えは、なぜ間違いか。今日見た過学習(当てはまりと予測の食い違い)と、AICのペナルティの両方を使って説明しなさい。あわせて「オッカムの剃刀」が何を言っているかにも触れること。
目安:B1・B2あわせて350〜550字。自分の言葉で書くこと。
字数は目安です。多少の過不足で減点はしません。見るのは、設問が挙げた要素(上の箇条書き)が書けているかどうかです。ただし要素が抜けていれば、その分は引きます。
次回予告
第12回「ベイズ統計の入り口」。これまでの頻度論とは違う、もう一つの確率の見方。データで信念を更新する、ベイズの考え方へ。