GLMM - 之间、内部和嵌套

机器算法验证 r 混合模式 lme4-nlme 咕噜咕噜 嵌套数据
2022-04-10 08:29:40

我不完全确定是否适合我们所做的实验模型。变量及相关描述如下:

  • ID - 参与者 ID
  • 试用 - 每位参与者 60
  • 记忆 - 主题二元因子之间
  • 状态 - 在主题二元因子内

  • 正确 - 参与者所做的分类是否正确
  • 评级 - 在四点李克特量表上每次试验后做出的判断

程序简介:每个参与者(N=60)被随机分配到实验组或对照组(记忆),并进行了 120 次试验(状态 = 0 为 60,状态 = 1 为 60)。每个试验都由感知分类(正确)和判断它的难易程度(评级)组成。分类问题是从每个试验(州)的两组中随机选择的。

我想计算对性能(正确)影响最大的因素 - 是内存、状态、特定等级的规模还是以上的任何组合?我对主题差异不感兴趣,相反,这是一个随机因素。此外,李克特量表的响应似乎存在偏差,因此也应排除部分方差。

我想解决这个问题的方法是广义混合线性模型,但我不确定我做得对;到目前为止,我有什么:

model = glmer(Correct ~ (1|ID/Rating) + Memory * State * Rating, data, family=binomial, 
              control = glmerControl(optimizer="bobyqa", optCtrl = list(maxfun=100000)))

这种方法正确吗?我会很感激你的意见。

我使用的相关资源:

1个回答

我不明白为什么Rating嵌套在ID. 这意味着每一个独特的事物都Rating属于一个且唯一的一个ID,而这似乎并非如此。如果Rating要被视为随机,那么这些应该是交叉随机效应。有关交叉和嵌套随机效应之间的区别以及如何指定它们, 请参见此处的答案。

尽管如此,Rating这里不应将其指定为随机截距,因为 1)只有 4 个水平,这是不够的;2)它是一个李克特量表项目,因此随机效应的正态性假设几乎不可能成立。

所以更好的模型是

model = glmer(Correct ~ (1|ID) + Memory * State * Rating, data, family=binomial)

最后,请注意有几种方法可以将Rating其视为自变量,请参阅此处此处此处了解更多详细信息。