- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
{{category 統計解析ソフトR}}
*glm()とlmer()で尤度比検定
glm()およびlmer()でGLMやGLMMを当てはめた結果を用いて尤度比検定を行う関数。[R-help archiveにある過去ログの内容|http://finzi.psych.upenn.edu/R/Rhelp02a/archive/136370.html]を参考にした。というかそのままである。もちろんGLMどうしやGLMMどうしでの比較も可能。
**関数のコード
lrt <- function (obj1, obj2) {
L0 <- logLik(obj1)
L1 <- logLik(obj2)
L01 <- as.vector(- 2 * (L0 - L1))
df <- attr(L1, "df") - attr(L0, "df")
list(L01 = L01, df = df,
"p-value" = pchisq(L01, df, lower.tail = FALSE))
}
**使い方
library(lme4)
gm0 <- glm(cbind(incidence, size - incidence) ~ period,
family = binomial, data = cbpp)
gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd),
family = binomial, data = cbpp)
lrt(gm0, gm1)
なお、gm0の方が尤度が低くパラメータ数も少ないモデルである必要がある。