※現在、ブログ記事を移行中のため一部表示が崩れる場合がございます。
順次修正対応にあたっておりますので何卒ご了承いただけますよう、お願い致します。

データ解析のための統計モデリング入門 GLMのモデル選択 読書メモ6


2017年 03月 14日

このブログ記事は『データ解析のための統計モデリング入門』(久保拓弥 著、岩波書店)という、とても分かりやすい統計モデリングの入門書を、さらに分かりやすくするために読書メモをまとめたものです。 今回は第4章、GLMのモデル選択についてのまとめの六回目です。 この章ではバイアスやAICについて説明がされています。 データを説明するモデルとして様々なモデルが考えられる時に、データへのあてはまりの良さだけを基準にモデルを選ぶことはできません。 前回はAICを使ってモデル選択の様子を見るためのコードの内容を解説しました。 今回は実行結果の内容を解説します。 コードを実行すると結果は次のようになります。
indipendent data
null		x			c			xc
log likelihood		 -208.4236 	 -207.8885 	 -207.5525 	 -207.5126
mean log likelihood	 -209.1079 	 -209.7084 	 -209.7 	-210.2147
bias				 0.6843544 	 1.819908 	 2.14749 	 2.702091
aic					 418.8471 	 419.7771 	 419.1049 	 421.0252

correlated X data
null		x			c			xc
log likelihood		 -244.4405 	 -191.2695 	 -243.681 	 -190.9884
mean log likelihood	 -246.9158 	 -193.4544 	 -248.0273 	 -193.9776
bias				 2.475276 	 2.184949 	 4.346326 	 2.989236
aic				 	490.881 	 386.5389 	 491.3619 	 387.9768

correlated C data
null		x			c			xc
log likelihood		 -245.6007 	 -244.4792 	 -191.0656 	 -190.7746
mean log likelihood	 -246.9547 	 -247.9338 	 -193.4138 	 -193.9289
bias				 1.354043 	 3.454623 	 2.348202 	 3.154229
aic				 	493.2014 	 492.9584 	 386.1313 	 387.5493

correlated XC data
null		x			c			xc
log likelihood		 -584.6693 	 -410.6131 	 -410.5213 	 -244.1359
mean log likelihood	 -591.7481 	 -421.7135 	 -421.5719 	 -246.7352
bias				 7.078751 	 11.10039 	 11.05061 	 2.599335
aic					 1171.339 	 825.2262 	 825.0427 	 494.2717
結果の見方ですが、上から順に `x` と `c` の両方に関係のないデータ、`x` と関係したデータ、`c` と関係したデータ、`x` と `c` の両方と関係したデータについて計算した場合です。 それぞれの場合において、4つのモデルに対する最大対数尤度、平均対数尤度、バイアス、AICが計算されています。 モデルは左から順にリンク関数に `exp(b1)`、`exp(b1 + b2 * x)`、`exp(b1 + b3 * c)`、`exp(b1 + b2 * x + b3 * c)` を使った場合です。 どの場合においても、対数尤度が最大になるのは、`x` と `c` の両方を説明変数に含むモデルです。 ここには複雑なモデルほどデータによく当てはまるという一般的な性質が表れています。 データが `x` と `c` の両方に関係する場合には望ましい結果ですが、実際にはデータが `x` や `c` に関係のない場合にも、関係あるとしてモデルを作った方が特定のデータへの当てはまりは良くなるわけです。 しかし、平均対数尤度は大きくなっていません。 これは、無用に複雑なモデルは推定のために与えられたデータだけに過度に当てはまって、未知のデータへの当てはまりが悪くなっていることを意味します。 尤度だけを使ってモデルの良さを測ることはできないわけです。 そこで、AICの出番です。 AICはモデルのパラメータの個数を当てはまりの良さから割り引いて計算するので、無用なパラメータを増やしても良い数値になりません。 実行結果でも、AICが最小になるモデルを選べば正しくモデルを選択できることが分かります。