R GLMM中的时间相关性说明

R GLMM中的时间相关性说明,r,time-series,logistic-regression,mixed-models,lmer,R,Time Series,Logistic Regression,Mixed Models,Lmer,我试图解释GLMM中的自相关。我的响应变量是布尔值,它表示在一组蜂巢的生命周期中是否存在en事件。我试图用一组描述每个巢穴状态的数字变量来预测这种事件的概率。在此之前,我在一个广义模型中使用了二项分布,并将嵌套作为随机效应(使用glmer()。然而,这些事件是自相关的,所以我在残差中得到了一个非常可怕的模式。如果在没有随机效应的误差中使用高斯分布,我会使用gls()的相关结构来估计一些相关参数,但在这种情况下,这是行不通的。我一直在寻找在GLMM中包含这种自相关性的方法,但我似乎没有找到正确的方

我试图解释GLMM中的自相关。我的响应变量是布尔值,它表示在一组蜂巢的生命周期中是否存在en事件。我试图用一组描述每个巢穴状态的数字变量来预测这种事件的概率。在此之前,我在一个广义模型中使用了二项分布,并将嵌套作为随机效应(使用glmer()。然而,这些事件是自相关的,所以我在残差中得到了一个非常可怕的模式。如果在没有随机效应的误差中使用高斯分布,我会使用gls()的相关结构来估计一些相关参数,但在这种情况下,这是行不通的。我一直在寻找在GLMM中包含这种自相关性的方法,但我似乎没有找到正确的方法。我发现可以使用函数ts()和diff()对数据集进行转换,以允许模型包含响应的先前值作为预测值。这适用于线性模型lm(),使残差更精确

basket.1<-subset(basket,select=c(Nest,day,number_cells,provitioning_cells,closed_cells,
                             reopened_cells,eclosed_cells,pollen))
basket.ts<-ts(as.matrix.data.frame(basket.1),start=1,frequency=9)
m.basket.ts1<-lm(pollen~provitioning_cells+reopened_cells+closed_cells
            +eclosed_cells+day,data=diff(basket.ts,differences=2))`

basket.1你能给我们一个可重复的例子吗?原则上,“手动”滞后值应该不会太难,例如

basket.1 <- subset(basket,select=c(Nest,day,number_cells,
                             provitioning_cells,closed_cells,
                             reopened_cells,eclosed_cells,pollen))
n <- nrow(basket.1)
basket.2 <- transform(basket.1,pollen.lag1=c(pollen[2:n],NA),
                      pollen.lag2=c(pollen[3:n],rep(NA,2)))

library("lme4")
m.basket.glmm1 <- glmer(pollen~provitioning_cells+
                   reopened_cells+ closed_cells+
                    eclosed_cells+day+pollen.lag1+pollen.lag2+
                    (1|Nest),
                   family=binomial,data=basket.2)

basket.1如果我们不知道这些值要滞后多少呢@Benbolker通常你会看到一个简单模型的残差的自相关函数图。
m.bas.glm.dyn1<-dyn$glm(pollen~provitioning_cells+reopened_cells+closed_cells
                    +eclosed_cells+day,family=poisson,data = diff(basket.ts,differences=3))
basket.1 <- subset(basket,select=c(Nest,day,number_cells,
                             provitioning_cells,closed_cells,
                             reopened_cells,eclosed_cells,pollen))
n <- nrow(basket.1)
basket.2 <- transform(basket.1,pollen.lag1=c(pollen[2:n],NA),
                      pollen.lag2=c(pollen[3:n],rep(NA,2)))

library("lme4")
m.basket.glmm1 <- glmer(pollen~provitioning_cells+
                   reopened_cells+ closed_cells+
                    eclosed_cells+day+pollen.lag1+pollen.lag2+
                    (1|Nest),
                   family=binomial,data=basket.2)