dispmod
ついでに
……
ガンマ混合ポアソン分布を計算する
glm.poisson.disp()
関数のほうは,
昨日かいたとーり,
「ほぼ」負の二項分布モデルと考えてよいようだ
(何か iterative な方法で最尤推定やってると書いてある).
たとえば,
example(glm.poisson.disp)
で
> mod.disp
Call: glm(formula = incid ~ offset(log(pop)) + Age + Cohort, family = poisson(log),
weights = disp.weights)
Coefficients:
(Intercept) Age55-59 Age60-64 Age65-69 Age70-74
-8.645 0.823 1.549 2.128 2.696
Age75-79 Age80-84 Cohort1860-64 Cohort1865-69 Cohort1870-74
3.172 3.474 0.355 0.519 0.774
Cohort1875-79 Cohort1880-84 Cohort1885-89 Cohort1890-94 Cohort1895-99
1.012 1.151 1.299 1.546 1.575
Cohort1900-04 Cohort1905-09 Cohort1910-14 Cohort1915-19
1.628 1.464 1.372 1.256
Degrees of Freedom: 48 Total (i.e. Null); 30 Residual
Null Deviance: 9140
Residual Deviance: 30 AIC: 194
こういう結果でてくるんだけど,
同じデータセットを負の二項分布な一般化線形モデル計算関数
glm.nb()
(in MASS pacakge)
で推定させると,
> glm.nb(formula = incid ~ offset(log(pop)) + Age + Cohort)
Call: glm.nb(formula = incid ~ offset(log(pop)) + Age + Cohort, init.theta = 479.389611087294,
link = log)
Coefficients:
(Intercept) Age55-59 Age60-64 Age65-69 Age70-74
-8.642 0.822 1.549 2.128 2.695
Age75-79 Age80-84 Cohort1860-64 Cohort1865-69 Cohort1870-74
3.166 3.472 0.357 0.520 0.775
Cohort1875-79 Cohort1880-84 Cohort1885-89 Cohort1890-94 Cohort1895-99
1.012 1.151 1.301 1.541 1.572
Cohort1900-04 Cohort1905-09 Cohort1910-14 Cohort1915-19
1.623 1.464 1.373 1.253
Degrees of Freedom: 48 Total (i.e. Null); 30 Residual
Null Deviance: 12400
Residual Deviance: 43.7 AIC: 535
……
となる.
推定値がびみょーに違うのは収束計算のやりかたが異なるので,
そのへんが反映されてるのではないか.