R的lmer备忘单


160

这个论坛上有很多讨论,涉及使用来指定各种层次模型的正确方法lmer

我认为将所有信息都放在一个地方会很棒。有几个问题要开始:

  1. 如何指定多个级别,其中一个组嵌套在另一个组中:是(1|group1:group2)还是(1+group1|group2)
  2. (~1 + ....)(1 | ...)(0 | ...)等之间有什么区别?
  3. 如何指定小组级别的互动?

11
可以在CRAN找到该软件包的手册和三个小插曲lme4
Henry

4
除CRAN资料外,还有演讲幻灯片和道格写的关于(G)LMM和R with lme4的书的草稿章节,可从r-
Gavin Simpson

直接链接到Bates等人的JSS论文的arXiv版本:使用lme4(特别是第2.2节“理解混合模型公式”)拟合线性混合效应模型。另请参阅Ben Bolker常见问题解答的相关部分
变形虫

5
可以说,所使用的语言lmer具有普遍的统计意义,因此不仅是编程问题。因此,我投票保持该线程开放。
whuber

2
@whuber +1完全同意。
amoeba

Answers:


180

(〜1 + ....)和(1 | ...)和(0 | ...)等之间有什么区别?

假设您有由分类变量V2预测的变量V1(将其视为随机效应)和由连续变量V3预测的线性固定效应。使用lmer语法,最简单的模型(M1)为:

V1 ~ (1|V2) + V3

该模型将估算:

P1:全局拦截

P2: V2的随机效应截距(即,对于V2的每个级别,该级别的截距与全局截距的偏差)

P3:对V3的效果(斜率)的单个全局估计

第二个最复杂的模型(M2)是:

V1 ~ (1|V2) + V3 + (0+V3|V2)

此模型从M1估计所有参数,但将另外估计:

P4: V2的每个级别内的V3效果(更具体地说,给定级别内的V3效果偏离V3的整体效果的程度),同时在跨级别的截距偏差和V3效果偏差之间实施零相关的V2

在最终的最复杂模型(M3)中放宽了后一个限制:

V1 ~ (1+V3|V2) + V3

其中,在允许截距偏差和V3效果偏差在V2级别内相关的同时,估算M2的所有参数。因此,在M3中,估计了一个附加参数:

P5:在V2的各个级别上,截距偏差和V3偏差之间的相关性

通常计算模型对,例如M2和M3,然后进行比较以评估固定效应(包括全局截距)之间的相关性。

现在考虑添加另一个固定效果预测变量V4。该模型:

V1 ~ (1+V3*V4|V2) + V3*V4

估计:

P1:全局拦截

P2:对V3效果的单个全局估算

P3:对V4效果的单个全局估算

P4: V3和V4之间交互的单个全局估计

P5:在每个V2级别中,与P1截距的偏差

P6:在每个V2级别中,V3效果与P2的偏差

P7:在每个V2级别中,V4效果与P3的偏差

P8:在每个V2级别中,P3的V3-by-V4交互作用的偏差

V2级别上P5P6之间的P9相关性

P10与V2级别之间的P5P7之间的相关性

P11与V2级别之间的P5P8之间的相关性

P12的相关性P6P7跨越V2的水平

P13跨V2级别的P6P8之间的相关性

P14的相关性P7P8跨越V2的水平

哎呀,参数很多!而且,我什至不必列出该模型估算的方差参数。此外,如果您有一个类别变量要建模为固定效果,且具有两个以上级别,而不是该变量具有单个效果,则您将始终估计k-1个效果(其中k是级别数) ,从而进一步扩大了模型估计的参数数量。


1
@Mike Lawrence谢谢您的回答!那么如何估计三级模型?一个分组因子嵌套在另一个分组因子中的哪个位置?

DBR,我不认为您知道什么级别。您一直在问这个问题。提出一个实际上可以详细说明您的实验设计并演示您对“水平”的解释的问题。
约翰

3
我认为DBR是指层次结构中的级别。我所描述的是一个2层层次模型,观察结果嵌套在主体中,DBR正在询问3层层次结构,其中一个例子可能是学校内的学生中的测试项目,您希望将学生和学校都建模为随机效果,让学生嵌套在学校内。在这种情况下,我假设首先计算学校水平偏差,然后计算学生与学校之间的偏差。
迈克·劳伦斯

2
我看到的关于设置模型的最佳答案。帮助我为老板提供了一个简单的框架,以了解我使用lmer在R中所做的工作。
bfoste01

假设我在个人一级具有一个自变量(X),在组一级具有一个自变量(Z)。两者都是连续变量。如果模型是,其中下标表示个个体和表示个组。然后使用syntex将模型设为,数据框中的另一个变量指示该人属于哪个组?Ĵ Ĵ
Yij=γ00+γ10Xij+γ01Zj+γ11XijZj+u1jXij+u0j+eij
iijjlmerY~X+Z+(1|group)+(0+X|Z)group
美国广播公司

50

另一个答案中所述,一般的技巧是公式遵循形式dependent ~ independent | grouping。在grouping通常是一个随机因子,可以包括固定要素,没有任何分组和可以有不带任何固定因子(截距-唯一模式)附加随机因素。甲+因素之间表示没有相互作用,*表明相互作用。

对于随机因素,您具有三个基本变体:

  1. 仅通过随机因素进行拦截: (1 | random.factor)
  2. 坡度仅受随机因素影响: (0 + fixed.factor | random.factor)
  3. 受随机因素影响的截距和斜率: (1 + fixed.factor | random.factor)

请注意,变量3具有在同一分组中(即同时)计算出的斜率和截距。如果我们要独立计算斜率和截距,即两者之间没有任何假定的相关性,则需要第四个变体:

  • 截距和斜率分别由随机因素决定:(1 | random.factor) + (0 + fixed.factor | random.factor)。编写此代码的另一种方法是使用双杠符号fixed.factor + (fixed.factor || random.factor)

您应该看一下该问题的另一个答复中,有一个不错的摘要

如果您想深入研究数学,Barr等人。(2013年)lmer在他们的表1中很好地总结了语法,将其修改为满足无表减价的约束。该论文涉及心理语言学数据,因此两个随机效应为SubjectItem

模型和等效lme4公式语法:

    • Ysi=β0+β1Xi+esi
    • 不适用(非混合效应模型)
    • Ysi=β0+S0s+β1Xi+esi
    • Y ∼ X+(1∣Subject)
    • Ysi=β0+S0s+(β1+S1s)Xi+esi
    • Y ∼ X+(1 + X∣Subject)
    • Ysi=β0+S0s+I0i+(β1+S1s)Xi+esi
    • Y ∼ X+(1 + X∣Subject)+(1∣Item)
    • Ysi=β0+S0s+I0i+β1Xi+esi
    • Y ∼ X+(1∣Subject)+(1∣Item)
    • 与(4)一样,但,独立 S0sS1s
    • Y ∼ X+(1∣Subject)+(0 + X∣ Subject)+(1∣Item)
    • Ysi=β0+I0i+(β1+S1s)Xi+esi
    • Y ∼ X+(0 + X∣Subject)+(1∣Item)

参考文献:

巴尔(Barr),戴尔(Dale J),里维(R.Levy),席普斯(C. 用于验证假设检验的随机效应结构:保持最大。记忆与语言杂志,68:255–278。


4
真好 关于嵌套的“ /”因子和双杠符号“ ||”的更好的信息可能更好
skan 2015年

1
那:符号呢?
eastafri

1
@eastafri这意味着它在R(公式)中的每个地方都做相同的事情-两个变量之间的相互作用。
Livius

在(6)中,我的理解是和之间没有关联。换句话说,作为随机变量,它们的协方差为。说和是独立的是一个更有力的陈述,因此不一定正确。我错了吗?S0sS1s0S0sS1s
Muno

4

|符号表示混合方法中的分组因子。

根据Pinheiro和Bates:

...该公式还指定了响应,并且在可能的情况下指定了主协变量。给出为

response ~ primary | grouping

其中response是响应primary的表达式,是主要协变量grouping的表达式,并且是分组因子的表达式。

根据您在中执行混合方法分析所使用的方法R,您可能需要创建一个groupedData对象才能使用分析中的分组(nlme有关详细信息,请参阅软件包,lme4似乎不需要这样做)。我无法说出您指定lmer模型语句的方式,因为我不知道您的数据。但是,(1|foo)根据我所见,模型行中有多个是不寻常的。您想建模什么?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.