トップ 一覧 Farm 検索 ヘルプ RSS ログイン

glm()とlmer()で尤度比検定の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
{{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の方が尤度が低くパラメータ数も少ないモデルである必要がある。