2

我正在尝试一种新颖的分层线性模型,但数据结构让我想知道这在 R 中是否可能。我之前对模型的尝试被错误地指定(哎呀),现在我不确定如何处理这工作。我在 HLM 的课程涵盖了多级模型和交叉分类模型,但不包括 3 级双交叉分类模型。

1级:

  • 对二分法评分项目的反应。分类因变量,所以我想我将使用glmer(). (约 150 万个项目回复)

2级:

  • 响应嵌套在项目中 - 一个项目将有许多响应(来自不同的人),但单个响应不会链接到多个项目。
  • 响应也嵌套在测试实例中 - 一个测试实例将有许多响应 (50),但一个响应不能链接到多个测试实例。
  • 项目与测试实例嵌套,测试实例也不嵌套在项目中。一个项目将出现在多个测试实例中(每次有人使用表格 A),并且一个测试实例将与多个项目相关(测试表单上的每个项目)。

3级:

  • 项目嵌套在测试表单中 - 一个表单上可以有多个项目,但(在这种情况下)项目不能出现在多个表单上。
  • 测试实例嵌套在人体内——一个人可以参与多个测试实例,但一个测试实例不能由多人执行。
  • 测试实例也嵌套在位置内 - 一个位置可以有多个测试实例,但一个测试实例不能出现在多个位置
  • 测试表单嵌套在人员中,人员也不嵌套在测试表单中。一个人可以填写多个测试表,一个测试表可以由多个人填写。
  • 人员嵌套在位置中,位置也不嵌套在人员中 - 一个人可以在多个位置参加考试,而几个人可以在一个位置参加考试。
  • 测试表单嵌套在位置中,并且位置嵌套在测试表单中 - 一个测试表单可以在多个位置使用;一个位置可用于管理许多测试表格。

我假设某些位置变量可能会对特定项目的表现产生影响,但我认为这将受到诸如参加测试的人的能力之类的影响。我有兴趣探索的位置、学生和项目级别的解释变量,例如噪音级别、GPA 和主题。

如果您有任何问题或建议,请告诉我。

模型图

4

1 回答 1

2

我不明白为什么这是一个问题。“现代”混合模型框架,如 R 中可用的大多数框架(nlmelme4glmmTMB等)不包含(或要求)任何明确的嵌套声明;它们只要求您指定定义每个分组变量的因素。我不明白为什么

(1|student) + (1|location) + (1|instance) + (1|item) + (1|form)

不会工作。有几件事需要考虑,我不知道您的问题中是否有任何问题:

  • 如果您的回答是二元的,则需要确保您没有随机效应,即每个观察结果都属于一个单独的随机效应组(这种变化水平是无法识别的)。例如,如果每个学生在每个位置最多回答一次问题(即没有人在一个位置多次参加测试,并且他们每次测试从不回答问题超过一次),那么任何给定的学生/项目/location 组合将在您的数据集中出现零次或一次,并且 的方差(1|location:student:item)将无法识别。
  • 在某些情况下,您的变量之间的相互作用是可识别的(例如,测试项目的难度是否因地点而异?);这可以指定为(1|location:item),但您必须小心一点,您的交互级别不会唯一标识观察结果(请参阅上一点)

您可能会发现 GLMM 常见问题解答很有用,尤其是本节...

PS 我绝对会建议您尝试使用原始数据的子集(当然可以使用 150 万个项目glmer,但会很慢......);您可能还想指定control=glmerControl(calc.derivs=FALSE)跳过一些(缓慢的)诊断检查

于 2020-12-19T21:58:16.460 回答