每个参与者都有相同的截距和斜率?
Every participant has the same intercept and slope?
我无法理解为什么我的 coef()
调用为我的数据中的每个参与者返回相同的截距和斜率。
对于上下文,我正在使用 anova
函数比较两个模型(内置于 lmer
)。
模型一如下
model1 <- lmer(Pen ~ wave + (1 | id), data = no_missing, REML = FALSE)
并且模型 2 添加了一个感兴趣的变量 QEL
并且是
model2 <- lmer(Pen ~ wave + QEL + (1 | id), data = no_missing, REML = FALSE)
当我 运行 anova(model1, model2)
我得到了预期的结果。但是,当我查看系数 (coef()
).
时,我的问题出现了
我想知道为什么每个人的截距和斜率(下图)都一样?我是否没有正确地将我的模型放在一起以获得每个人的截距(即它们是否基于固定效应而不是随机效应)?
模型 1 和模型 2 coef()
输出:
$id
(Intercept) wave
1 74.66694 17.31497
7 74.66694 17.31497
10 74.66694 17.31497
11 74.66694 17.31497
13 74.66694 17.31497
14 74.66694 17.31497
15 74.66694 17.31497
16 74.66694 17.31497
18 74.66694 17.31497
28 74.66694 17.31497
29 74.66694 17.31497
30 74.66694 17.31497
31 74.66694 17.31497
32 74.66694 17.31497
33 74.66694 17.31497
34 74.66694 17.31497
35 74.66694 17.31497
36 74.66694 17.31497
37 74.66694 17.31497
38 74.66694 17.31497
39 74.66694 17.31497
40 74.66694 17.31497
attr(,"class")
[1] "coef.mer"```
> coef(model2)
$id
(Intercept) wave QEL
1 36.8735 16.18188 0.436023
7 36.8735 16.18188 0.436023
10 36.8735 16.18188 0.436023
11 36.8735 16.18188 0.436023
13 36.8735 16.18188 0.436023
14 36.8735 16.18188 0.436023
15 36.8735 16.18188 0.436023
16 36.8735 16.18188 0.436023
18 36.8735 16.18188 0.436023
28 36.8735 16.18188 0.436023
29 36.8735 16.18188 0.436023
30 36.8735 16.18188 0.436023
31 36.8735 16.18188 0.436023
32 36.8735 16.18188 0.436023
33 36.8735 16.18188 0.436023
34 36.8735 16.18188 0.436023
35 36.8735 16.18188 0.436023
36 36.8735 16.18188 0.436023
37 36.8735 16.18188 0.436023
38 36.8735 16.18188 0.436023
39 36.8735 16.18188 0.436023
40 36.8735 16.18188 0.436023
attr(,"class")
[1] "coef.mer"
像这样的情况通常是 lmer()
调用 returns 单一匹配的结果。数据无法支持随机效应,因此(以一种过于简单的方式表达)lmer“放弃”并将所有随机截距称为零。
在 model1
和 model2
的情况下,模型只有每个 id
的随机截距,没有随机斜率。因此,如果随机截距有 non-zero 估计,coef(model1)
将显示每个 id
的不同截距系数,但 wave
斜率系数在每一行中都是相同的。
当每个主题只有少量数据点时,通常会发生这种情况。这个关于 stats stackexchange 的问题可能会提供一些帮助:https://stats.stackexchange.com/questions/378939/dealing-with-singular-fit-in-mixed-models. There are a few solutions proposed there. My favorite solution is to refit the model in a Bayesian framework which can deal with the small sample size issue much better. See also How to cope with a singular fit in a linear mixed model (lme4)?.
我无法理解为什么我的 coef()
调用为我的数据中的每个参与者返回相同的截距和斜率。
对于上下文,我正在使用 anova
函数比较两个模型(内置于 lmer
)。
模型一如下
model1 <- lmer(Pen ~ wave + (1 | id), data = no_missing, REML = FALSE)
并且模型 2 添加了一个感兴趣的变量 QEL
并且是
model2 <- lmer(Pen ~ wave + QEL + (1 | id), data = no_missing, REML = FALSE)
当我 运行 anova(model1, model2)
我得到了预期的结果。但是,当我查看系数 (coef()
).
我想知道为什么每个人的截距和斜率(下图)都一样?我是否没有正确地将我的模型放在一起以获得每个人的截距(即它们是否基于固定效应而不是随机效应)?
模型 1 和模型 2 coef()
输出:
$id
(Intercept) wave
1 74.66694 17.31497
7 74.66694 17.31497
10 74.66694 17.31497
11 74.66694 17.31497
13 74.66694 17.31497
14 74.66694 17.31497
15 74.66694 17.31497
16 74.66694 17.31497
18 74.66694 17.31497
28 74.66694 17.31497
29 74.66694 17.31497
30 74.66694 17.31497
31 74.66694 17.31497
32 74.66694 17.31497
33 74.66694 17.31497
34 74.66694 17.31497
35 74.66694 17.31497
36 74.66694 17.31497
37 74.66694 17.31497
38 74.66694 17.31497
39 74.66694 17.31497
40 74.66694 17.31497
attr(,"class")
[1] "coef.mer"```
> coef(model2)
$id
(Intercept) wave QEL
1 36.8735 16.18188 0.436023
7 36.8735 16.18188 0.436023
10 36.8735 16.18188 0.436023
11 36.8735 16.18188 0.436023
13 36.8735 16.18188 0.436023
14 36.8735 16.18188 0.436023
15 36.8735 16.18188 0.436023
16 36.8735 16.18188 0.436023
18 36.8735 16.18188 0.436023
28 36.8735 16.18188 0.436023
29 36.8735 16.18188 0.436023
30 36.8735 16.18188 0.436023
31 36.8735 16.18188 0.436023
32 36.8735 16.18188 0.436023
33 36.8735 16.18188 0.436023
34 36.8735 16.18188 0.436023
35 36.8735 16.18188 0.436023
36 36.8735 16.18188 0.436023
37 36.8735 16.18188 0.436023
38 36.8735 16.18188 0.436023
39 36.8735 16.18188 0.436023
40 36.8735 16.18188 0.436023
attr(,"class")
[1] "coef.mer"
像这样的情况通常是 lmer()
调用 returns 单一匹配的结果。数据无法支持随机效应,因此(以一种过于简单的方式表达)lmer“放弃”并将所有随机截距称为零。
在 model1
和 model2
的情况下,模型只有每个 id
的随机截距,没有随机斜率。因此,如果随机截距有 non-zero 估计,coef(model1)
将显示每个 id
的不同截距系数,但 wave
斜率系数在每一行中都是相同的。
当每个主题只有少量数据点时,通常会发生这种情况。这个关于 stats stackexchange 的问题可能会提供一些帮助:https://stats.stackexchange.com/questions/378939/dealing-with-singular-fit-in-mixed-models. There are a few solutions proposed there. My favorite solution is to refit the model in a Bayesian framework which can deal with the small sample size issue much better. See also How to cope with a singular fit in a linear mixed model (lme4)?.