準1級-36 応用統計の手法
モデル選択
- 情報量規準
- AIC
- BIC
- クロスバリデーション
はじめに
「説明変数は、増やせば増やすほどいいんじゃないの?」
過去問を丸暗記した受験生を思い浮かべてください。過去問なら満点をとれます。でも、本番で少し違う問題が出ると、途端に手が止まります。覚えたのは考え方ではなく、過去問の答えそのものだったからです。
モデルでも、同じことが起きます。回帰に変数を足していくと、手元のデータへの当てはまりは必ずよくなります。ところが、新しいデータを予測させると、かえって外れることがあるのです。
実は、データに合っていることと、よいモデルであることは別の話です。手元のデータの成績だけを見ていると、複雑なモデルほど得をしてしまいます。
そこで登場するのが、今回の主役 モデル選択 です。これは、候補のモデルの中から、複雑さに見合う当てはまりをもつモデルを選ぶ考え方です。
前回の記事では、欠測があるときの推定を学びました。今回の記事では、モデルの複雑さに罰を与える情報量規準(AICとBIC)と、データを分けて本番の成績を見積もるクロスバリデーションについて解説します。
過学習:手元の成績と本番の成績はズレる
はじめに、なぜ手元のデータの当てはまりだけでは選べないのかを解説します。
重回帰の記事で確かめたように、変数を足しても残差平方和は増えず、決定係数は下がりません。データの偶然の揺れまで、モデルが覚えてしまうからです。このように、手元のデータには合うのに、新しいデータの予測が悪くなる現象を 過学習(過適合、overfitting)と呼びます。
では、手元の成績と本番の成績は、どれくらいズレるのでしょうか? 線形回帰で計算してみましょう。
個のデータに、パラメータ 個の正しい線形モデルを当てはめます。誤差の分散を とします。残差平方和の期待値は でした。一方、同じ説明変数の値で新しく観測した を予測すると、予測値の分散の合計 が誤差に上乗せされます。1個あたりの二乗誤差の期待値は、次のようになります。
言葉で言うと、手元の成績は実力より だけよく見え、本番の成績は実力より だけ悪くなります。差は で、パラメータの数 に比例します。
例えば、、、 なら、手元の成績は3.6、本番の成績は4.4です。真の誤差の分散4を、手元の成績は下回ってしまうのです。
一方で、変数が足りなくても困ります。予測の誤差は、次の3つに分解できます。
単純すぎるモデルは的の中心を外し、バイアスが大きくなります。複雑すぎるモデルはデータが変わるたびに予測が揺れ、分散が大きくなります。シーソーのように、一方を下げると他方が上がるのです。これをバイアスと分散のトレードオフと呼びます。
モデル選択の目標は、このシーソーの釣り合う点を見つけることです。そのためには、本番の成績を見積もる必要があります。方法は2つです。
【本番の成績の見積もり方】
- 手元の成績に、複雑さの分だけハンデを足す: 情報量規準
- データの一部を隠して、本番を再現する: クロスバリデーション
以上が、過学習についての解説です。
AIC:予測の良さを見積もる
次に、最もよく使われる情報量規準について説明します。
情報量規準 とは、モデルの当てはまりの悪さに、複雑さの罰則を足した指標です。値が小さいモデルほど、よいモデルと判断します。ゴルフのハンデのようなものです。スコアが同じなら、ハンデの大きい選手、つまりパラメータの多いモデルのほうが不利になります。
その代表が AIC(赤池情報量規準、Akaike Information Criterion)です。
は最大尤度、 は推定するパラメータの数です。第1項が当てはまりの悪さ、第2項が複雑さの罰則です。
導出の要点を見ておきましょう。真の分布を 、モデルを とします。モデルのよさは、真の分布とのズレであるカルバック・ライブラー情報量で測ります。
第1項はモデルによらないので、新しいデータに対する対数尤度の期待値 を大きくすることが目標です。これを手元の最大対数尤度 で見積もると、同じデータで を決めているぶん、平均して約 だけよく見えます。前の節の に比例するズレと同じ話です。そこで、 を引いて補正し、 倍したものがAICです。要するに、AICは「本番の成績の見積もり」です。
正規線形回帰では、最大対数尤度が残差平方和 RSS で書けます。
パラメータの数 には、回帰係数だけでなく誤差の分散 も数えます。ただし、どのモデルにも1個ずつ入るので、比較の結果は変わりません。
例題:AICで回帰モデルを選ぶ
コンビニの100日分の売上を、説明変数の数を変えた4つのモデルで分析しました。 は切片、回帰係数、 の合計です。
| モデル | RSS | ||
|---|---|---|---|
| M1 | 3 | 2,000 | 583.36 |
| M2 | 4 | 1,650 | 564.12 |
| M3 | 5 | 1,590 | 560.42 |
| M4 | 6 | 1,570 | 559.15 |
AICが最も小さいモデルを選びましょう。
【解き方】
- M1のAIC:
- M2のAIC:
- M3のAIC:
- M4のAIC:
答えはM3です。M4は当てはまりが最もよいのですが、パラメータを1つ増やして が1.27しか減らず、罰則の増加分2を取り返せていません。
せっかくなので、別の例も見てみましょう。分割表の対数線形モデルでは、飽和モデルとの比較から、AICの差を で計算できます。前々回の表では、 が 、 が 、 が です。互いに含まれない と も比べられ、 が選ばれます。
使うときの注意は3つあります。
【AICの注意点】
- 比べられるのは、同じデータ、同じ目的変数のモデルどうしだけ。 と のモデルは、そのままでは比べられない
- 値そのものに意味はなく、モデル間の差だけに意味がある
- 検定ではないので、「有意に良い」とは言えない
試験のポイント:パラメータを1つ増やす価値があるのは、 が2より大きく減るときです。これは棄却の限界値を2とした尤度比検定と同じで、有意水準は約0.157にあたります。
以上が、AICについての説明です。
BIC:真のモデルを見つける
続いて、もう1つの情報量規準であるBICについて解説します。
BIC(ベイズ情報量規準、Bayesian Information Criterion)は、罰則の を に置き換えたものです。
はデータの個数です。 となるのは のときなので、ほとんどの場面で、BICの罰則のほうが重くなります。つまり、BICはAICより単純なモデルを選びやすいのです。AICが「本番で点を取れれば何でも採用する監督」なら、BICは「余計な選手を入れたくない厳しい監督」です。
なぜ が出てくるのでしょうか? BICの出発点は、次の記事で学ぶベイズ法です。モデルの事後確率は、事前分布で尤度を平均した周辺尤度に比例します。
が大きいと、被積分関数は のまわりの幅 程度の山になります。パラメータが 個あるので、積分の値はおよそ山の高さ × 幅の 乗です。対数をとると、次のようになります。
これを 倍したものがBICです。要するに、BICは「周辺尤度の見積もり」であり、各モデルの事前確率が等しいとき、BICが小さいほど、そのモデルの事後確率が高いことを表します。
さきほどのコンビニの例で計算してみましょう。 です。
| モデル | AIC | BIC | |
|---|---|---|---|
| M1 | 3 | 589.36 | 597.18 |
| M2 | 4 | 572.12 | 582.54 |
| M3 | 5 | 570.42 | 583.45 |
| M4 | 6 | 571.15 | 586.78 |
AICはM3、BICはM2を選びました。同じデータでも、基準が違えば答えが変わります。では、どちらが正しいのでしょうか? 実は、2つは目的が違います。
| AIC | BIC | |
|---|---|---|
| 目的 | 予測の精度 | 真のモデルの特定 |
| 罰則 | ||
| 選びやすいモデル | やや複雑 | やや単純 |
| の性質 | 複雑なモデルを選ぶ確率が残る | 真のモデルが候補にあれば、それを選ぶ(一致性) |
例えば、売上の予測に使いたいならAICが向いています。「本当に効いている要因はどれか」を知りたいならBICが向いています。候補に真のモデルがあるとは限らない現実の問題では、目的に合わせて選び、どちらも計算して比べることが多いです。
補足(ここは読み飛ばしてOK): パラメータを1つ増やす判断をBICで行うと、限界値は になります。 なら4.61で有意水準は約0.032、 なら6.91で約0.009です。データが増えるほど基準が厳しくなることが、一致性の理由です。
試験のポイント:AICの罰則は 、BICの罰則は です。 なら、BICのほうが単純なモデルを選びます(同じモデルを選ぶこともあります)。
以上が、BICについての解説です。
クロスバリデーション:本番を手元で再現する
最後に、データを分けて予測の成績を測る方法を見ていきましょう。
クロスバリデーション(交差検証、cross-validation)は、データを分割し、一部で学習して、残りで予測の誤差を測る方法です。過去問の一部を隠して勉強し、隠しておいた問題で模擬試験をするようなものです。隠した問題は覚えようがないので、本番に近い成績が分かります。
最も一般的な 分割クロスバリデーションの手順は、次のとおりです。
【K分割クロスバリデーションの手順】
- データを 個のグループに無作為に分ける
- 1つのグループをテスト用にし、残りの 個でモデルを当てはめる
- テスト用のグループで予測の誤差を計算する
- テスト用を順に入れ替えて 回行い、誤差を平均する
は5や10がよく使われます。例えば、100個のデータで なら、80個で学習して20個で試すことを5回繰り返します。尤度が計算できない手法にも使えることが、大きな利点です。
のとき、1個だけを抜いて残り全部で学習することになります。これを 1個抜き交差検証(leave-one-out、LOO)と呼びます。 回の当てはめが必要に見えますが、線形回帰では、1回の当てはめの結果から計算できます。
は 番目を除いて当てはめたときの予測値、 はふつうの残差、 は回帰診断の記事で学んだハット行列の対角成分(てこ比)です。てこ比が大きい点は、自分を除くと予測が大きく外れます。これらの二乗の合計を PRESS と呼びます。
例題:1個抜きで2つのモデルを比べる
5個のデータ で、平均だけのモデルと直線のモデルをPRESSで比べましょう。
【解き方】
- 平均だけのモデル: 、。残差は で、これらを で割って二乗して足すと、PRESSは
- 直線のモデル: で、残差は
- てこ比は なので、 は
- 直線のPRESS: 二乗して足すと約6.72
答えは、PRESSが小さい直線のモデルです。残差平方和は直線で2.7でしたが、PRESSは約6.72に増えています。手元の成績が甘く見えていた分が、ここで現れました。
使うときの注意も押さえておきましょう。
【クロスバリデーションの注意点】
- 時系列データでは、無作為に分けると未来の情報で過去を予測してしまう。過去で学習し、未来で試す形に分ける
- 標準化や変数の選択も、学習用のデータだけで行う。全体で行うと、テスト用の情報が漏れる
- クロスバリデーションでモデルを選ぶと、その誤差は少し楽観的になる。最終評価には、別に取っておいたテストデータを使う
また、 の選び方にもトレードオフがあります。 が大きいと学習データが全体に近いのでバイアスは小さくなりますが、計算が増えて、見積もりの分散は大きくなりやすいです。なお、1個抜き交差検証とAICは、 が大きいと漸近的に同等であることが知られています。どちらも予測の良さを見ているので、これは自然な結果です。
以上が、クロスバリデーションについての解説です。
細かい式を忘れてしまっても問題ありません。ここでは、「手元の成績は甘い」「AICは予測、BICは真のモデル」「クロスバリデーションは隠した問題で試す」という点だけ押さえておきましょう。
今回のまとめ
それでは、今回の内容を振り返ります。
今回は、複雑さに見合うモデルを選ぶ方法について紹介しました。手元のデータの成績は、モデルが複雑なほど甘くなります。情報量規準はその甘さを計算で引き、クロスバリデーションはデータを隠して実際に測ります。どちらも、「本番の成績を見積もる」という同じ目標に向かっています。
今回のポイントを振り返りましょう。
振り返り
- 変数を足すと手元の当てはまりは必ずよくなるが、本番の成績はよくなるとは限らない。過去問の丸暗記が過学習。
- 情報量規準は、当てはまりの悪さに複雑さの罰則を足した値で、小さいほどよい。
- AICは で予測の良さを、BICは で真のモデルらしさを見る。
- ならBICの罰則のほうが重く、より単純なモデルを選びやすい。
- クロスバリデーションは隠したデータで予測誤差を測る模擬試験。線形回帰の1個抜きは で計算できる。
キーワードのおさらい
- 過学習: 手元のデータに合いすぎて、新しいデータの予測が悪くなること
- 情報量規準: 当てはまりと複雑さの釣り合いを1つの値で測る指標
- AIC: 。予測の良さを見積もる情報量規準
- BIC: 。周辺尤度を見積もる情報量規準
- クロスバリデーション: データを分割し、学習に使わなかったデータで予測誤差を測る方法
さて、今回BICの導出で、「事前分布で平均する」というベイズの考え方が少しだけ顔を出しました。母数を決まった値ではなく、確率で語るとはどういうことでしょうか?
次回は、事前分布から事後分布を求め、MCMCで計算する「ベイズ法」について紹介します。
それでは、次の記事へ進んでいきましょう。