簡體   English   中英

將aictab()用於lmer和glmer模型

[英]using aictab() for lmer and glmer models

我正在嘗試使用aictab()輸出進行AICc模型選擇。 此發布類似( 調用aictab時未定義函數 ),但不適用於我的問題,因為它使用的是glm.nb模型,而我使用的是lmer模型,也使用的是glmer(family=binomial) aictab文檔( https://www.rdocumentation.org/packages/AICcmodavg/versions/2.2-1/topics/aictab )說該函數可以處理lmlmeglm模型:是否包括lmerglmer嗎?

我的代碼實際上在幾天前就工作了,但是最近壞了,並返回了此錯誤代碼

aictab.default()中的錯誤:尚未為此對象類定義函數

m1 <- lmer(y ~ x + (1|z), data=df)
m2 <- lmer(y ~ w + (1|z), data=df)
m3 <- lmer(y ~ v + (1|z), data=df)
cand.set <- list(m1, m2, m3)
names <- list("x", "w", "v")
aictab(cand.set, modnames=names, second.ord=TRUE, nobs=NULL, sort=TRUE)

tl; dr加載了lmerTest軟件包,因此模型具有不同的類,這使aictab()感到困惑。 您可以確保在擬合模型時加載了lme4不是 lmerTest ,或者使用bbmle::AICctab() ,它似乎更健壯。 (有關此問題,可能值得聯系AICcmodavg的軟件包維護者...)

lme4設置:

library(lme4)
library(AICcmodavg)

ss <- transform(sleepstudy, junk1=rnorm(nrow(sleepstudy)),
                junk2=rnorm(nrow(sleepstudy)))
m1 <- lmer(Reaction ~ Days + (1|Subject), data=ss, REML=FALSE)
m2 <- update(m1, . ~ . - Days + junk1)
m3 <- update(m1, . ~ . - Days + junk2)
cand.set <- list(m1, m2, m3)
names <- c("Days", "junk1", "junk2")  ## this should be a vector, not a list ...

這工作正常:

aictab(cand.set, modnames=names, second.ord=TRUE, nobs=NULL, sort=TRUE)
##       K    AICc Delta_AICc AICcWt Cum.Wt      LL
## Days  4 1802.31       0.00      1      1 -897.04
## junk2 4 1918.47     116.16      0      1 -955.12
## junk1 4 1918.71     116.40      0      1 -955.24

現在,加載lmerTest並重新調整模型(我們可以執行例如m1 <- as(m1, "lmerModLmerTest")但是重新調整很容易)。

library(lmerTest)
m1 <- lmer(Reaction ~ Days + (1|Subject), data=ss, REML=FALSE)
m2 <- update(m1, . ~ . - Days + junk1)
m3 <- update(m1, . ~ . - Days + junk2)
cand.set <- list(m1, m2, m3)
aictab(cand.set, modnames=names, second.ord=TRUE, nobs=NULL, sort=TRUE)

aictab.default中的錯誤(cand.set,modnames =名稱,second.ord = TRUE ,:尚未為此對象類定義函數

bbmle::AICctab()函數更加健壯,因為它僅依賴於為類定義的logLik方法(默認情況下,它僅提供具有delta-AIC和df的表)

library(bbmle)
AICctab(m1, m2, m3, mnames=names, base=TRUE, weights=TRUE, logLik=TRUE)
##       logLik AICc   dLogLik dAICc  df weight
## Days  -897.0 1802.3   58.2     0.0 4  1     
## junk2 -955.1 1918.5    0.1   116.2 4  <0.001
## junk1 -955.2 1918.7    0.0   116.4 4  <0.001

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM