はじめに
統計や機械学習を学んでいると、「どのモデルが一番良いのか?」という問題に必ずぶつかります。
そのときに使われる代表的な指標が AIC(赤池情報量規準) です。
この記事では、初心者向けにAICの考え方と使い方をシンプルに解説します。
AICとは?
AIC(Akaike Information Criterion)は、
モデルの良さを評価するための指標です。
特に以下のような場面で使われます。
- 回帰分析
- 時系列分析
- 機械学習のモデル比較
👉「複数のモデルの中から最適なものを選ぶ」ために使います。
なぜAICが必要?
モデルは複雑にすればするほど、データにフィットしやすくなります。
しかし…
- 複雑すぎるモデル → 過学習(汎用性が低い)
- シンプルすぎるモデル → 精度が低い
👉このバランスを取る必要があります
AICの考え方
AICは以下の2つを同時に評価します。
- モデルの当てはまりの良さ
- モデルのシンプルさ(パラメータ数)
👉「よく当たるけどシンプルなモデル」が高評価
数式
AICは次の式で計算されます。
$AIC = -2 \log L + 2k$
- (L):尤度(モデルの当てはまり)
- (k):パラメータ数
直感的な理解
- 精度が良い → AICは小さくなる
- パラメータが多い → AICは大きくなる(ペナルティ)
👉 小さいAICのモデルが良い
使い方(重要)
AICは単体では意味がありません。
👉「比較」で使います
例
| モデル | AIC |
|---|---|
| モデルA | 120 |
| モデルB | 100 |
👉 モデルBの方が良い(AICが小さい)
Pythonでの計算例
statsmodelsを使うと簡単にAICが取得できます。
import statsmodels.api as sm
# データ
X = sm.add_constant(X)
model = sm.OLS(y, X).fit()
# AIC
print(model.aic)
AICのメリット
- モデル比較が簡単にできる
- 過学習を防げる
- 汎用性の高いモデルを選べる
注意点
- 絶対評価ではなく相対評価
- データが少ない場合は不安定
- 小標本の場合は「AICc」を使うこともある
BICとの違い
AICとよく比較される指標にBICがあります。
| 指標 | 特徴 |
|---|---|
| AIC | 予測性能重視 |
| BIC | シンプルさ重視 |
👉 BICの方がペナルティが強い
まとめ
- AICはモデル選択のための指標
- 「当てはまり」と「シンプルさ」のバランスを評価
- 小さい値のモデルが良い
- 必ず複数モデルで比較する
おわりに
AICは統計・機械学習の基礎として非常に重要です。
回帰分析やモデル選択を行う際は、ぜひ活用してみてください。