Blog

Pythonで「データ解析のための統計モデリング入門」:第4章

Pythonで緑本(「データ解析のための統計モデリング入門」)の演習をしていきます。前記事はこちら

第4章は、AICというモデル選択規準について、そして統計モデルの予測の良さとはどのようなものかについてです。

 

4.3 モデル選択規準 AIC

複数の統計モデルの中から、何らかの規準で良いモデルを選択することをモデル選択とよびます。この章では、良く使われているモデル選択規準のひとつ、AIC(Akaike’s information criterion)を使ったモデル選択が紹介されています。

AICは統計モデルのあてはまりの良さではなく、予測の良さを重視するモデル選択規準です。

最尤推定したパラメータの個数が ( k ) であるときにAICは

\[ \rm{AIC} = -2 \{(最大対数尤度) – (最尤推定したパラメータ数) \} \]

\[ = -2 (\log L – k) \]

\[ = D + 2k \]

と定義されます。このAICが一番小さいモデルが良いモデルとなります。

数理統計学の教科書を参照してみると、最尤推定するパラメータを \( k \) 個もつモデルの平均対数尤度の推定量は \( \log L – k \) であるといったことが、解析的かつ一般的に導出されています。これが正しいとすると、例えば \( k = 1 \) であれば、AICは以下のようになります。

\[ {\rm AIC} = -2 \times (\log L – 1) \]

平均対数尤度は「統計モデルの予測の良さ」でしたから、その推定量である \( \log L -1 \) に-2をかけたAICは「予測の悪さ」と解釈できます。AICによるモデル選択とは、「予測の悪さ」が小さいモデルを選ぶことです。

最後に、Rのglm()関数ではAICの値が得られますが、statsmodelsでは出てこないので、自力で計算する必要があります。

AIC = -2 * (-235.39 - 2)

print(AIC)

474.78

This Post Has 0 Comments

Leave A Reply