Rを通じて統計学を学ぶ備忘録ブログ

SPSSからRに移行したい私のような人向けのR解説ブログ兼学習用備忘録。

第41回 AIC

第41回はAICについて書きます。

以前の記事でもモデル選択の記事でAICはちらっと紹介しましたが、今回はAICに焦点をあてて書いていきます。数式はほとんど使いません。

 

AICの考え方

モデル選択では、問題意識として、どのような統計モデルを選択するべきなのかを考えてきました。その判断基準としてAICを判断基準にすると良いと書きました。では、なぜAICを使うべきなのでしょうか。AICは、「よい予測をすることができる」モデルを選ぶための基準です。このカラクリを解明していきます。

 

パラメタを推定するために最尤法(実際には対数尤度を使う方が計算は楽チン)を使って計算していくと、尤度が最大になる時、「データへの当てはまり」がよいことが知られています。そこで、当てはまりの良さ=予測力の高いモデルと考えたいところなのですが、イコールではつなげません。

 

「当てはまりの良さ=R^2値」というのは、観測されたデータに対して残差(残差平方和)が0に近づくように回帰直線を引っ張ることであり、パラメタの数を増やすことや、次数を高くすることで、R^2値は1に近づきます。数式のカラクリはさておき、よく考えてみましょう。大げさに言うと、これは「たまたま得られたデータセットをもとに一生懸命、回帰式を細工しているようなもの」と考えられます。その結果、他の研究者が、自ら得た観測データを「細工された回帰式」に当てはめてみると、うまく予測できないという問題が発生します。その理由は簡単で、「当てはまりの良さ」を高めるために、回帰モデルを複雑に細工してしまった結果、自分の観測したデータには、とてもうまく当てはまります。しかし、他の研究者の持っているデータは、自分のデータとは異なるは当然で、そのデータを使ってもうまく予測できるはずもありません。それ故にR^2ではない基準でモデル選択をする必要があるのです。ではAICについて考えていきましょう。

 

AICの定義 

f:id:teruaki-sugiura:20150816203116p:plain

#k=パラメタ数

 

今回は、パラメタ数「1」として考えます。

つまり、切片だけのモデルのAICは以下のようになります。

 

AIC=-2*{(最大大数尤度)-1}

 

ここから、AICが「予測力の高いモデル」を選ぶことができる理由について説明していきます。対数尤度を最大化(最大対数尤度)することは、データへの当てはまるよくするパラメタ推定法でした。そこで「神のみぞ知るモデル=真のモデル」を便宜的に考えます。その真のモデルから観測データを発生させ、最尤推定し、最大対数尤度を算出します。この作業を何百回と繰り返すことで、「平均対数尤度」を求めることができます。「平均対数尤度」という基準を作ることで、たまたま得られた観測データの最大対数尤度を評価できるようになります。例えば、平均対数尤度よりも最大対数尤度が大きいならば「当てはまりの良さ」が過大評価されていますし、その逆であれば過小評価されていることがわかります。つまり、たまたま得られた観測値が過大評価されるか、過小評価されるはデータによって異なるので、この評価作業を繰り返すことで「差(バイアス:Bias)」を発生させ、異なる角度から評価できるようになります。また、真のモデルをもとに計算された「平均対数尤度」は、真のモデルをもとにしているだけあって、観察データのメカニズムを予測するモデルの評価基準としては適当であると考えられます。そこでバイアスを以下のように定義します。

 

バイアス=最大対数尤度−平均対数尤度

 

そして、このバイアスを分布にしてみると、分布の平均が「1」くらいの分布になることが知られています。分布の平均が「1」くらいとわかって何が嬉しいのでしょうか。分布を作るには、何百回と差の評価を繰り返すわけですが、最大対数尤度のほうが平均対数尤度よりも上回る回数が多くないと平均が「1」にはなりません。言い換えると、神のみぞ知るモデルから計算された「平均対数尤度=予測の良さ」よりも、たまたま得られたデータから計算された「最大対数尤度=当てはまりの良さ」が「1」も大きくなると言えます。

 

しかし、ここで大きな問題に直面します。頭の賢い読者なら気づかれるかもしれません(同じ質問を教授にされて、筆者は講義室の片隅でポカンとしておりました)。「平均対数尤度」について思い出してみると、これは「神のみぞ知るモデル=真のモデル」から発生させたものであり、現実の分析環境では、真のモデルは絶対にわかりません。そこで、先ほどのバイアスの式を変形してみましょう。

 

平均対数尤度=最大対数尤度−バイアス  #バイアス補正と呼ばれます

 

以上のように変形できます。こうすることで、平均対数尤度を計算できるようになりました。最大対数尤度は観測データがあれば計算できますが、バイアスの値はどうすればよいでしょうか。バイアスの平均が「1」だったので、これを採用してみましょう。天下り的ですが、パラメタの数kを最大対数尤度から減じればよいことが解析的に求められています。

 

平均対数尤度=最大対数尤度−1

 

そして、この式に−2をかけると以下のようにAICが導出されます。

 

AIC=−2*(最大対数尤度−k) 

#マイナス2倍するのはカイ自乗分布との関係を良くするため

 

以上より、−2をかけることで、AICは「予測力の悪さ」を表し、これが小さいほうが「予測力の高い」モデルと言えます。従って、AICが小さいモデルを選択することで「予測力の高い」モデルを選択できるというわけです。

 

 第41回 は以上でおしまい。