第4章	
  GLMのモデル選択	
  
-­‐AICとモデルの予測の良さ-­‐	
担当者:	
  takano	
  	
  
Twi3er:	
  @mtknnktm	
第4回 「データ解析のための統計モデリング入門」読書会	
  
#みどりぼん	
1
第4章の目的	
データはひとつ、モデルはたくさん	
  
•  あるデータに対して考えることができる統計モデルは
無数にありうる	
  
•  どんなモデルを採用したらいいのか?	
  
–  あてはまりの良いモデル?	
  
–  モデルを複雑化させればいくらでもあてはまりはよくでき
る(が理解できない)	
  
•  いい統計モデルとはなにか?	
  
–  データ解析の目的達成のためにどうやってモデル選択を
したらいいか?	
  
•  データ解析の目的	
  
–  観測される現象の背後にあるしくみを知るため	
  
–  そのために現象を近似する統計モデルの構築をしたい	
  
4.0,節	
  4.1節	
 2
例題:	
  あるデータに対する5つのモデル	
4.2節	
 3	
y ~ Poisson(exp(β1))
y ~ Poisson(exp(β2 f + β1))
y ~ Poisson(exp(β3x + β1))
y ~ Poisson(exp(β2 f + β3x + β1))
y ~ Poisson(exp(β1x1 + β2 x2 +!))
A.	
  
B.	
  
C.	
  
D.	
  
E.	
y:	
  種子数,	
  x:	
  体サイズ,	
  f:	
  施肥処理の有無
例題:	
  あるデータに対する5つのモデル	
•  パラメータ数k=1 切片のみ	
  
•  体のサイズxも施肥処理fも影響しないモデル	
  
•  一定モデル	
  /	
  Nullモデルと呼ぶ	
  
•  多分、一番あてはまりが悪い	
4.2節	
 4	
y:	
  種子数,	
  x:	
  体サイズ,	
  f:	
  施肥処理の有無	
A.	
  
B.	
  
C.	
  
D.	
  
E.	
※イメージ	
y ~ Poisson(exp(β1))
y ~ Poisson(exp(β2 f + β1))
y ~ Poisson(exp(β3x + β1))
y ~ Poisson(exp(β2 f + β3x + β1))
y ~ Poisson(exp(β1x1 + β2 x2 +!))
例題:	
  あるデータに対する5つのモデル	
•  パラメータ数k=2	
  	
  
•  施肥処理fが影響するモデル	
4.2節	
 5	
y:	
  種子数,	
  x:	
  体サイズ,	
  f:	
  施肥処理の有無	
施肥処理あり	
施肥処理なし	
A.	
  
B.	
  
C.	
  
D.	
  
E.	
※イメージ	
y ~ Poisson(exp(β1))
y ~ Poisson(exp(β2 f + β1))
y ~ Poisson(exp(β3x + β1))
y ~ Poisson(exp(β2 f + β3x + β1))
y ~ Poisson(exp(β1x1 + β2 x2 +!))
例題:	
  あるデータに対する5つのモデル	
•  パラメータ数k=2	
  
•  体のサイズxが影響するモデル	
4.2節	
 6	
y:	
  種子数,	
  x:	
  体サイズ,	
  f:	
  施肥処理の有無	
A.	
  
B.	
  
C.	
  
D.	
  
E.	
※イメージ	
y ~ Poisson(exp(β1))
y ~ Poisson(exp(β2 f + β1))
y ~ Poisson(exp(β3x + β1))
y ~ Poisson(exp(β2 f + β3x + β1))
y ~ Poisson(exp(β1x1 + β2 x2 +!))
例題:	
  あるデータに対する5つのモデル	
•  パラメータ数k=2	
  
•  体のサイズxも施肥処理fも影響するモデル	
4.2節	
 7	
y:	
  種子数,	
  x:	
  体サイズ,	
  f:	
  施肥処理の有無	
施肥処理あり	
施肥処理なし	
A.	
  
B.	
  
C.	
  
D.	
  
E.	
※イメージ	
y ~ Poisson(exp(β1))
y ~ Poisson(exp(β2 f + β1))
y ~ Poisson(exp(β3x + β1))
y ~ Poisson(exp(β2 f + β3x + β1))
y ~ Poisson(exp(β1x1 + β2 x2 +!))
例題:	
  あるデータに対する5つのモデル	
•  パラメータ数k=データ数	
•  各データに1対1で対応したパラメータであては
めるモデル	
  
•  フルモデルと呼ぶ	
  
4.2節	
 8	
y:	
  種子数,	
  x:	
  体サイズ,	
  f:	
  施肥処理の有無	
A.	
  
B.	
  
C.	
  
D.	
  
E.	
※イメージ	
y ~ Poisson(exp(β1))
y ~ Poisson(exp(β2 f + β1))
y ~ Poisson(exp(β3x + β1))
y ~ Poisson(exp(β2 f + β3x + β1))
y ~ Poisson(exp(β1x1 + β2 x2 +!))
で、結局どれがいいの?	
9
あてはまりに関する量を計算してみる	
モデル	
 k	
 最大対数尤度	
  
log	
  L*	
逸脱度	
  
D=-­‐2	
  log	
  L*	
残差逸脱度	
  
D	
  -­‐	
  min(D)	
A:	
  一定	
 1	
 -­‐237.6	
 475.3	
 89.5	
B:	
  f	
 2	
 -­‐237.6	
 475.3	
 89.5	
C:	
  x	
 2	
 -­‐235.4	
 470.8	
 85.0	
D:	
  x+f	
 3	
 -­‐235.3	
 470.6	
 84.8	
E:	
  フル	
 100	
 -­‐192.9	
 385.8	
 0.0	
4.3節	
 10
あてはまりに関する量を計算してみる	
モデル	
 k	
 最大対数尤度	
  
log	
  L*	
逸脱度	
  
D=-­‐2	
  log	
  L*	
残差逸脱度	
  
D	
  -­‐	
  min(D)	
A:	
  一定	
 1	
 -­‐237.6	
 475.3	
 89.5	
B:	
  f	
 2	
 -­‐237.6	
 475.3	
 89.5	
C:	
  x	
 2	
 -­‐235.4	
 470.8	
 85.0	
D:	
  x+f	
 3	
 -­‐235.3	
 470.6	
 84.8	
E:	
  フル	
 100	
 -­‐192.9	
 385.8	
 0.0	
4.3節	
 11	
•  モデルのデータに対するあてはまりの良さ	
  
(2章参照)	
  
あてはまりに関する量を計算してみる	
モデル	
 k	
 最大対数尤度	
  
log	
  L*	
逸脱度	
  
D=-­‐2	
  log	
  L*	
残差逸脱度	
  
D	
  -­‐	
  min(D)	
A:	
  一定	
 1	
 -­‐237.6	
 475.3	
 89.5	
B:	
  f	
 2	
 -­‐237.6	
 475.3	
 89.5	
C:	
  x	
 2	
 -­‐235.4	
 470.8	
 85.0	
D:	
  x+f	
 3	
 -­‐235.3	
 470.6	
 84.8	
E:	
  フル	
 100	
 -­‐192.9	
 385.8	
 0.0	
4.3節	
 12	
•  モデルのデータに対するあてはまりの悪さ	
  
•  “−最大対数尤度”	
  と比例	
  
あてはまりに関する量を計算してみる	
モデル	
 k	
 最大対数尤度	
  
log	
  L*	
逸脱度	
  
D=-­‐2	
  log	
  L*	
残差逸脱度	
  
D	
  -­‐	
  min(D)	
A:	
  一定	
 1	
 -­‐237.6	
 475.3	
 89.5	
B:	
  f	
 2	
 -­‐237.6	
 475.3	
 89.5	
C:	
  x	
 2	
 -­‐235.4	
 470.8	
 85.0	
D:	
  x+f	
 3	
 -­‐235.3	
 470.6	
 84.8	
E:	
  フル	
 100	
 -­‐192.9	
 385.8	
 0.0	
4.3節	
 13	
•  モデルのデータに対する相対的なあてはまりの悪さ	
  
•  対象のモデルの逸脱度から最も逸脱度の低くなるフルモ
デルを引いた値	
  
•  Rの表記	
  
•  一定モデルの残差逸脱度:	
  Null	
  Deviance	
  
•  対象のモデルの残差逸脱度:	
  Residual	
  Deviance	
  
	
  
あてはまりの良いモデルを選んでみる	
モデル	
 k	
 最大対数尤度	
  
log	
  L*	
逸脱度	
  
D=-­‐2	
  log	
  L*	
残差逸脱度	
  
D	
  -­‐	
  min(D)	
A:	
  一定	
 1	
 -­‐237.6	
 475.3	
 89.5	
B:	
  f	
 2	
 -­‐237.6	
 475.3	
 89.5	
C:	
  x	
 2	
 -­‐235.4	
 470.8	
 85.0	
D:	
  x+f	
 3	
 -­‐235.3	
 470.6	
 84.8	
E:	
  フル	
 100	
 -­‐192.9	
 385.8	
 0.0	
4.3節	
 14	
•  最もあてはまりの良いモデルはフルモデル	
  
•  データ1つ1つに対して、パラメータを1つ1つ割り
当てたモデル	
  
→ 体のサイズの影響も施肥処理の効果も全くわからない	
  
→ たまたま得られた観測データへの特殊化をしてるだけ	
  
 (もう一回データ取ってきたら多分全然当てはまらない)	
  
困った	
15
そこでAIC	
16
AIC	
モデル	
 k	
 最大対数尤度	
  
log	
  L*	
逸脱度	
  
D=-­‐2	
  log	
  L*	
残差逸脱度	
  
D	
  -­‐	
  min(D)	
AIC	
  
D+2k	
A:	
  一定	
 1	
 -­‐237.6	
 475.3	
 89.5	
 477.3	
B:	
  f	
 2	
 -­‐237.6	
 475.3	
 89.5	
 479.3	
C:	
  x	
 2	
 -­‐235.4	
 470.8	
 85.0	
 474.8	
D:	
  x+f	
 3	
 -­‐235.3	
 470.6	
 84.8	
 476.6	
E:	
  フル	
 100	
 -­‐192.9	
 385.8	
 0.0	
 585.8	
4.3節	
 17	
•  AIC	
  =	
  -­‐2{最大対数尤度	
  –	
  パラメータ数}=D+2k	
  
•  つまり、	
  
•  あてはまりがよい(逸脱度Dが小さい)	
  
•  パラメータ数が少ない	
  
というモデルがAIC最小になる	
  
•  あてはまりの良さではなく予測の良さの指標	
  
そのAICでモデルを選ぶと	
モデル	
 k	
 最大対数尤度	
  
log	
  L*	
逸脱度	
  
D=-­‐2	
  log	
  L*	
残差逸脱度	
  
D	
  -­‐	
  min(D)	
AIC	
  
D+2k	
A:	
  一定	
 1	
 -­‐237.6	
 475.3	
 89.5	
 477.3	
B:	
  f	
 2	
 -­‐237.6	
 475.3	
 89.5	
 479.3	
C:	
  x	
 2	
 -­‐235.4	
 470.8	
 85.0	
 474.8	
D:	
  x+f	
 3	
 -­‐235.3	
 470.6	
 84.8	
 476.6	
E:	
  フル	
 100	
 -­‐192.9	
 385.8	
 0.0	
 585.8	
4.3節	
 18	
•  AIC最小になるモデルは	
  
体のサイズが種子数に影響するモデル	
  
•  なんかそれっぽい!	
  
予測の良さっ何?	
  
なんで予測の良さで	
  
選んでいいの?	
  
なんで予測の良さが	
  
AIC=-­‐2(log	
  L*-­‐k) なの?	
19
AICのための例題	
•  体のサイズも施肥処理も影響しない植物の
観測データ	
  
– 「50個体を観測」×200回実施	
  
•  比較する2つのモデル	
  
 A:	
  
 B:	
  	
  
•  この2つはβ=0と置くと、AとBは同じ	
  
– BはAを含んでいるような場合、	
  
BはAをネストしている (nested)	
  と言う	
  
	
  
4.4節	
 20	
こっちが正解	
y ~ Poisson(exp(β1))
y ~ Poisson(exp(β2 x + β1))
AICのための例題	
•  体のサイズも施肥処理も影響しない植物の
観測データ	
  
– 「50個体を観測」×200回実施	
  
•  比較する2つのモデル	
  
 A:	
  
 B:	
  	
  
•  この2つはβ=0と置くと、AとBは同じ	
  
– BはAを含んでいるような場合、	
  
BはAをネストしている (nested)	
  と言う	
  
	
  
4.4節	
 21	
y ~ Poisson(exp(β1))
y ~ Poisson(exp(β2 x + β1))
まずこちらのモデルの	
  
予測の良さを評価する
予測の良さ:	
  平均対数尤度	
4.5節	
 22	
(本来わからない)	
  
真の統計モデル	
50個体の種子を調査×200	
パラメータを最尤推定→	
・・・	
β1,logL*
β1,logL*
β1,logL*
・・・	
y ~ Poisson(exp(β1))
1つのデータについて最尤推定
してモデルを求める×200回	
  
予測の良さ:	
  平均対数尤度	
4.5節	
 23	
(本来わからない)	
  
真の統計モデル	
50個体の種子を調査×200	
パラメータを最尤推定→	
・・・	
β1,logL*
β1,logL*
β1,logL*
・・・	
•  平均対数尤度	
  
–  ある観測データに対して求めたモデルが、他の観測データに対してど
の程度あてはまるか? の指標	
  
•  つまり、真の統計モデルから生成される未知のデータに対するあ
てはまりの良さ「予測の良さ」を表していると言える	
  
E(logL*
)
y ~ Poisson(exp(β1))
それぞれ求めたモデルを	
  
他の199個のデータで対数尤度を評価	
  
それの平均値:	
  平均対数尤度
それぞれの最大対数尤度は平均対数尤度から
どのぐらいずれているのか計算してみる	
4.5節	
 24	
(本来わからない)	
  
真の統計モデル	
50個体の種子を調査×200	
・・・	
b = logL*
− E(logL*
) 平均対数尤度は200回分を
平均して擬似的に求める	
このbをバイアスと呼ぶ	
パラメータを最尤推定→	
β1,logL*
β1,logL*
β1,logL*
・・・	
y ~ Poisson(exp(β1))
それぞれの最大対数尤度は平均対数尤度から
どのぐらいずれているのか計算してみる	
4.5節	
 25	
(本来わからない)	
  
真の統計モデル	
50個体の種子を調査×200	
・・・	
b = logL*
− E(logL*
)
パラメータを最尤推定→	
β1,logL*
β1,logL*
β1,logL*
・・・	
E(logL*
) = logL*
− b
b	
  はだいたい1	
y ~ Poisson(exp(β1))
それぞれの最大対数尤度は平均対数尤度から
どのぐらいずれているのか計算してみる	
4.5節	
 26	
(本来わからない)	
  
真の統計モデル	
50個体の種子を調査×200	
・・・	
b = logL*
− E(logL*
)
パラメータを最尤推定→	
β1,logL*
β1,logL*
β1,logL*
・・・	
E(logL*
) = logL*
− b = logL*
−1
b	
  はだいたい1	
?	
y ~ Poisson(exp(β1))
それぞれの最大対数尤度は平均対数尤度から
どのぐらいずれているのか計算してみる	
4.5節	
 27	
(本来わからない)	
  
真の統計モデル	
50個体の種子を調査×200	
・・・	
b = logL*
− E(logL*
)
パラメータを最尤推定→	
β1,logL*
β1,logL*
β1,logL*
・・・	
E(logL*
) = logL*
− b = logL*
−1
b	
  はだいたい1	
?	
パラメータ数	
  k	
  と同じ?	
y ~ Poisson(exp(β1))
それぞれの最大対数尤度は平均対数尤度から
どのぐらいずれているのか計算してみる	
4.5節	
 28	
(本来わからない)	
  
真の統計モデル	
50個体の種子を調査×200	
・・・	
b = logL*
− E(logL*
)
パラメータを最尤推定→	
β1,logL*
β1,logL*
β1,logL*
・・・	
y ~ Poisson(exp(β x + b))
b	
  はだいたい1	
実は、最尤推定するパラメータをk個もつモデル	
  
の平均対数尤度の推定量は	
  log	
  L*	
  -­‐	
  k	
  であると	
  
解析的かつ一般的に導出できる	
  
※	
  前述の数理統計学の教科書などを参照のこと	
E(logL*
) = logL*
− b = logL*
−1 ?	
パラメータ数	
  k	
  と同じ?
平均対数尤度は求まった。AICは?	
•  平均対数尤度	
  
•  AICは平均対数尤度に-­‐2を掛けただけ	
  
•  この章の前半で実施したモデル選択方法 	
  
「AICが最小のモデルを選ぶ」は	
  
平均対数尤度が最大になるモデルを選択してい
たということ同じ	
  
–  つまり、AIC最小のモデル=良い予測をするモデル	
  
4.5節	
 29	
E(logL*
) = logL*
− k
AIC = −2(logL*
− k)
モデル	
 k	
 最大対数尤度	
  
log	
  L*	
逸脱度	
  
D=-­‐2	
  log	
  L*	
残差逸脱度	
  
D	
  -­‐	
  min(D)	
AIC	
  
D+2k	
一定(真のモデル)	
 1	
 -­‐120.1	
 240.2	
 50.8	
 242.1	
x	
 2	
 -­‐120.1	
 240.1	
 50.7	
 244.1
ちょっと待って	
•  バイアス	
  b の平均は確かにパラメータ
数	
  k	
  とだいたい同じだったが、ばらつき
が大きい	
  
	
  
•  こんなにばらつきの大きな値を使ってい
いの?	
4.5節	
 30
ネスト関係にある2つのモデルを比較	
4.5節	
 31	
(本来わからない)	
  
真の統計モデル	
50個体の種子を調査×200	
・・・	
2つのモデルでパラメータを最尤推定	
logL*
1 − logL*
2
y ~ Poisson(exp(β1x + b))
y ~ Poisson(exp(b))
y ~ Poisson(exp(b))
最大対数尤度の差	
E(logL*
1)− E(logL*
2 )
平均対数尤度(推定値?)の差
ネスト関係にある2つのモデルを比較	
4.5節	
 32	
(本来わからない)	
  
真の統計モデル	
50個体の種子を調査×200	
・・・	
2つのモデルでパラメータを最尤推定	
logL*
1 − logL*
2
y ~ Poisson(exp(β1x + b))
y ~ Poisson(exp(b))
y ~ Poisson(exp(b))
最大対数尤度の差	
E(logL*
1)− E(logL*
2 )
平均対数尤度(推定値?)の差	
バイアスのばらつきは大きいが、	
  
・最大対数尤度	
  
・平均対数尤度	
  
の差のばらつきは小さい
なので、両モデルのバイアスの差の
ばらつきも小さい	
•  したがって、ネスト関係にあるモデル間の相
対的な比較をする分には大丈夫そう	
4.5節	
 33
まとめ	
•  良いモデルとは?	
  
– あてはまりがいいだけではダメ	
  
– 良い予測をするモデルを良いモデルとしよう	
  
•  予測の良いモデルを選択するにはどうしたら
いいか?	
  
– AICが最小になるモデルを選べばよい	
  
•  AICとは –2(最大対数尤度	
  –	
  パラメータ数)	
  
→ 平均対数尤度の推定値×	
  –2	
  
•  ただしAICを使ったら、真のモデルに近いモデ
ルが選ばれるかというと、そうではない	
  
4.6節	
 34

みどりぼん読書会 第4章