固定效果内嵌套的glmer随机效果

时间:2018-10-25 13:03:10

标签: r nested lme4 binomial-cdf

这里https://stats.stackexchange.com/questions/13000/random-effect-nested-under-fixed-effect-model-in-r和这里https://stats.stackexchange.com/questions/190120/nesting-random-effect-within-fixed-effect-using-lmer-of-lme4-in-r提出了类似的问题,但是,我很难将这些答案应用于我的特定问题。

数据

在23个不同的森林位置建立了地块。每个图都有4个子图。我感兴趣的响应是包含成功树的子图的数量。为避免伪复制,在4个试验中将其在绘图级别建模为x次成功的二项式(x可以是整数[0:4])。我有两个感兴趣的固定影响:围栏和平均苗木大小。围栏是标准变量和平均值。在样地水平上测量幼苗大小。由于多个地块嵌套在同一位置,因此我的委员会成员希望我将位置包括为随机效应,以解决地块之间缺乏完全独立性的问题。

以下代码模拟了我的数据:

location<-as.character(LETTERS[rep(seq(from=1,to=23),30)])
plot<-rep(seq(from=1,to=30),23)
success<-sample(0:4,690,replace=T)
n_subplots<-rep(4,690)
df<-data.frame(location,plot,success,n_subplots)
df$FENCED<-ifelse(df$location %in% c("A","B","C","D","E","F","G"),
              1,0)
df$seedling_size<-df$success*.05+rnorm(1,0,2.5)+.1*df$FENCED
df$success<-ifelse(df$success>2 & df$FENCED ==1, df$success-2,df$success)
df$success<-ifelse(df$location %in% c("A","J","L"),df$success-1,df$success)
df$success<-ifelse(df$success<0,0,df$success)
df<-df[order(df$location,df$plot),]

模型

我想单独测试围栏效果以及围栏和幼苗大小之间的可能相互作用(围栏保护小幼苗免受鹿的侵害)。这是我正在使用的模型:

model<-glmer(cbind(success,n_subplots)~FENCED*seedling_size + 
(FENCED|location),
         family=binomial(),data=df,nAGQ=1)
summary(model)

摘要结果

Random effects:
 Groups   Name        Variance  Std.Dev.  Corr
location (Intercept) 6.412e-08 0.0002532     
      FENCED      2.714e-02 0.1647464 0.30
Number of obs: 690, groups:  location, 23

Fixed effects:
                 Estimate Std. Error z value Pr(>|z|)    
(Intercept)           13.9404     0.8173  17.057  < 2e-16 ***
FENCED                -7.1809     1.4386  -4.991 5.99e-07 ***
seedling_size         12.9083     0.7257  17.787  < 2e-16 ***
FENCED:seedling_size  -5.2464     1.3464  -3.897 9.76e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Correlation of Fixed Effects:
        (Intr) FENCED sdlng_
FENCED      -0.568              
seedling_sz  0.999 -0.567       
FENCED:sdl_ -0.538  0.996 -0.539
convergence code: 0
Model failed to converge with max|grad| = 0.00261073 (tol = 0.001, component 1)

问题

这是指定我想要的模型的正确语法吗? 如何解释结果?围栏出现在随机摘要和固定效果中。最后,什么可能导致收敛警告,以及如何解决?

至少对于收敛性问题,我确实按照以下建议在所有不同的优化器上运行了该模型:https://www.rdocumentation.org/packages/lme4/versions/1.1-17/topics/convergence优化器之间的效果估计和显着性相似,除1之外的其他均为“确定”或“有效” 。对于我来说,具体意味着什么尚不清楚,除了它不是近似方法的问题。但是,进行“ Richardson外推”之类的事情有点让我头疼。

1 个答案:

答案 0 :(得分:0)

看来 model<-glmer(cbind(success,n_subplots)~FENCED*seedling_size + (1|location)... 根据此有用的链接https://rcompanion.org/rcompanion/d_07.html

提供适当的结构

我注意到model<-glmer(cbind(success,n_subplots)~FENCED*seedling_size + (1|FENCED:location)的作用完全相同。首先,使用不同的语法完成相同的操作使我感到困惑。

如果我弄错了,我将在一段时间内保留这个问题,在这种情况下,我欢迎您改正。