首页 > 解决方案 > 在二项式混合模型中包含随机斜率

问题描述

我正在使用二项式 GLMM 来检查一个站点上个人(# 小时/天)随时间的存在之间的关系。由于每天都会测量几个人的存在情况,因此我对个人 ID 进行了随机截取。

例如,

presence <- cbind(hours, 24-hours)
glmer(presence ~ time + (1 | ID), family = binomial)

我还想将 ID 用作随机斜率,但我不知道如何将其添加到我的模型中。我已经尝试了以下两种不同的方法,但我不确定哪个是正确的。

glmer(presence ~ time + (1 + ID), family = binomial)
Error: No random effects terms specified in formula

glmer(presence ~ time + (1 + ID | ID), family = binomial)
Error: number of observations (=1639) < number of random effects (=5476) for term (1 + ID | ID); the random-effects parameters are probably unidentifiable

标签: lme4mixed-models

解决方案


您不能有一个随机斜率ID并将其ID作为(二级)分组变量(有关更多详细信息,请参见本文档:https ://cran.r-project.org/web/packages/lme4/lme4.pdf )。

下面模型中的分组变量ID用作指定随机效应的变量。model_1给出ID变量的随机截距. model_2给出time变量的随机截距和随机斜率. 换句话说,允许和model_1之间的关系的截距随 变化(斜率保持不变),而允许截距和斜率随 变化,因此和之间的关系(即斜率)可以是因人而异()。presencetimeIDmodel_2IDpresencetimeID

model_1 = glmer(presence ~ time + (1 | ID), family = binomial)

model_2 = glmer(presence ~ time + (1 + time | ID), family = binomial)

我还建议:

Snijders, TAB 和 Bosker, RJ (2012)。多级分析:基本和高级多级建模简介(第 2 版):Sage。


推荐阅读