如何为glmmTMB广义线性混合模型生成主效应

时间:2019-01-09 13:46:31

标签: r main effects mixed-models

我已经使用glmmTMB运行了一系列广义线性混合模型,以便评估不同场所动物的行为差异。饱和模型涉及全部主要效果,一个随机效果(随机截距),一个嵌套效果和两个连续预测变量(请参见下面的代码)。我想评估模型中主要作用的重要性(三个主要作用代表两个主要作用及其交互作用:行为,设施,行为:设施),并在基础包中使用anova()来相互比较模型但请继续获取似乎没有意义的卡方值和自由度。当它们自己运行时,没有一个模型会给出错误,但是使用anova()进行比较是没有意义的。我不明白为什么或应该怎么做才能解决这个问题。

鉴于模型是使用R中的glmmTMB包运行的,因此我无法使用car包中的Anova()函数,因为不支持glmmTMB模型对象,并且这样做会生成错误消息。我也尝试过使用glmmADMB软件包,但发现它的运行速度要慢得多(某些模型实际上要花费数小时才能运行),并且模型比较也没有意义。

我的代码:

rm()
detach()
library(glmmTMB)
dataset<-read.csv("Dur18Bletters.csv", header=T)
attach(dataset)
names(dataset)

mod1<-glmmTMB(Count~Facility+Beh+Facility:Beh+(1|Sex)+(1|ID/Day)+Age+Attendance,family=nbinom2)
mod2<-glmmTMB(Count~Facility+Beh+(1|Sex)+(1|ID/Day)+Age+Attendance,family=nbinom2)
mod3<-glmmTMB(Count~Facility+Facility:Beh+(1|Sex)+(1|ID/Day)+Age+Attendance,family=nbinom2)
mod4<-glmmTMB(Count~Beh+Facility:Beh+(1|Sex)+(1|ID/Day)+Age+Attendance,family=nbinom2)

anova(mod1,mod2,test="LRT")
anova(mod1,mod3,test="LRT")
anova(mod1,mod4,test="LRT")

三个偏差测试的输出:

Data: NULL
Models:
mod2: Count ~ Facility + Beh + (1 | Sex) + (1 | ID/Day) + Age + People, zi=~0, disp=~1
mod1: Count ~ Facility + Beh + Facility:Beh + (1 | Sex) + (1 | ID/Day) + , zi=~0, disp=~1
mod1:     Age + People, zi=~0, disp=~1
     Df   AIC   BIC  logLik deviance  Chisq Chi Df Pr(>Chisq)    
mod2 26 19672 19823 -9810.0    19620                             
mod1 60 19447 19795 -9663.6    19327 292.69     34  < 2.2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> anova(mod1,mod3,test="LRT")
Data: NULL
Models:
mod1: Count ~ Facility + Beh + Facility:Beh + (1 | Sex) + (1 | ID/Day) + , zi=~0, disp=~1
mod1:     Age + People, zi=~0, disp=~1
mod3: Count ~ Facility + Facility:Beh + (1 | Sex) + (1 | ID/Day) + , zi=~0, disp=~1
mod3:     Age + People, zi=~0, disp=~1
     Df   AIC   BIC  logLik deviance Chisq Chi Df Pr(>Chisq)
mod1 60 19447 19795 -9663.6    19327                        
mod3 60 19447 19795 -9663.6    19327     0      0          1
> anova(mod1,mod4,test="LRT")
Data: NULL
Models:
mod1: Count ~ Facility + Beh + Facility:Beh + (1 | Sex) + (1 | ID/Day) + , zi=~0, disp=~1
mod1:     Age + People, zi=~0, disp=~1
mod4: Count ~ Beh + Facility:Beh + (1 | Sex) + (1 | ID/Day) + Age + , zi=~0, disp=~1
mod4:     People, zi=~0, disp=~1
     Df   AIC   BIC  logLik deviance Chisq Chi Df Pr(>Chisq)    
mod1 60 19447 19795 -9663.6    19327                            
mod4 60 19447 19795 -9663.6    19327     0      0  < 2.2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

当我检查第一个模型比较(即anova(mod1,mod2))时,输出看起来是合理且可信的。因此,我得出的结论是,两个模型之间的显着差异证明,在mod2中删除的主要影响对该模型做出了重大贡献。卡方值为0不可能生成<0.0001的p值。

我们将不胜感激!我并不是特别致力于这种估计主要效果的方法(这是我在浏览论坛时可以找到的唯一方法),因此,如果有人有我可以尝试的替代软件包/方法,那就太好了!我完全不知所措。

0 个答案:

没有答案