use*_*738 1 r mixed-models lmer
我有一个混合模型,数据如下所示:
> head(pce.ddply)
subject Condition errorType errors
1 j202 G O 0.00000000
2 j202 G P 0.00000000
3 j203 G O 0.08333333
4 j203 G P 0.00000000
5 j205 G O 0.16666667
6 j205 G P 0.00000000
Run Code Online (Sandbox Code Playgroud)
每个受试者为 errorType(O 或 P)提供两个数据点,并且每个受试者处于条件 G(N=30)或 N(N=33)。errorType 是一个重复变量,Condition 是一个变量之间。我对主效应和相互作用都感兴趣。所以,首先是一个方差分析:
> summary(aov(errors ~ Condition * errorType + Error(subject/(errorType)),
data = pce.ddply))
Error: subject
Df Sum Sq Mean Sq F value Pr(>F)
Condition 1 0.00507 0.005065 2.465 0.122
Residuals 61 0.12534 0.002055
Error: subject:errorType
Df Sum Sq Mean Sq F value Pr(>F)
errorType 1 0.03199 0.03199 10.52 0.001919 **
Condition:errorType 1 0.04010 0.04010 13.19 0.000579 ***
Residuals 61 0.18552 0.00304
Run Code Online (Sandbox Code Playgroud)
条件不重要,但 errorType 是,以及交互。
但是,当我使用 lmer 时,我得到了一组完全不同的结果:
> lmer(errors ~ Condition * errorType + (1 | subject),
data = pce.ddply)
Linear mixed model fit by REML
Formula: errors ~ Condition * errorType + (1 | subject)
Data: pce.ddply
AIC BIC logLik deviance REMLdev
-356.6 -339.6 184.3 -399 -368.6
Random effects:
Groups Name Variance Std.Dev.
subject (Intercept) 0.000000 0.000000
Residual 0.002548 0.050477
Number of obs: 126, groups: subject, 63
Fixed effects:
Estimate Std. Error t value
(Intercept) 0.028030 0.009216 3.042
ConditionN 0.048416 0.012734 3.802
errorTypeP 0.005556 0.013033 0.426
ConditionN:errorTypeP -0.071442 0.018008 -3.967
Correlation of Fixed Effects:
(Intr) CndtnN errrTP
ConditionN -0.724
errorTypeP -0.707 0.512
CndtnN:rrTP 0.512 -0.707 -0.724
Run Code Online (Sandbox Code Playgroud)
所以对于 lmer 来说,Condition 和交互很重要,但 errorType 不是。
此外, lmer 结果与 glm 结果完全相同,让我相信有些事情是错误的。
有人可以帮助我理解为什么它们如此不同吗?我怀疑我使用 lmer 不正确(尽管我尝试了许多其他版本,例如 (errorType | subject) 具有类似的结果。
我相信答案是两种方法都采用不同的方法来处理差异。ANOVA 划分方差,而组(重复测量)变量只是这样做的另一个考虑因素。ANOVA 假设组方差或同方差性具有同质性,如果严重违反此假设,则 ANOVA 可能不是正确的方法。
另一方面,Lmer 本质上是用于多级建模的函数。在多级框架中,您可以明确地对方差建模,引入固定效应和随机效应(基本上是方差)之间的区别。异方差在这里不是问题。
另一种看待它的方式是方差分析采用无池方法(每条线都是独立的),Lmer 采用部分池方法(线共享一些信息)。
此外,方差分析使用 OLS 估计,而 lmer 使用 ML 版本(在您的情况下为 REML)。
这是我能解释的最好的方法,这至少应该足以让您在自己对问题的研究中朝着正确的方向前进。但是,要获得更详细的答案,您可能确实想在 CrossValidated 上提问。