为 lmer 函数 (lme4-Package) 找到 pdIdent (nlme-Package) 的等效项

问题描述 投票:0回答:1

我想知道是否可以使用函数

lme
(包nlme)和
pdIdent
行将简单的混合模型分析“翻译”为
lmer
(包lme4)的等效分析。

简而言之,我正在寻找使用

lmer
函数进行以下分析的简单副本。数据来自网络上的另一个例子:

library(nlme)

Q <- factor(c(1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2))
R <- factor(c(1, 1 , 2, 2, 3, 3, 1, 1, 2, 2, 3, 3))
y <- c(51.43, 51.28, 50.93, 50.75, 50.47, 50.83, 51.91, 52.43, 52.26, 52.33, 51.58, 51.23)
DS <- data.frame(Q, R, y)
DS$Q <- as.factor(DS$Q)
DS$R <- as.factor(DS$R)


lme3 <- lme(y ~ Q, random = list(R = pdIdent(~ Q - 1)), data = DS)
summary(lme3)

这会产生

0.3979
Q1
 的方差
Q2

在 2x3 矩阵上。随机效应是

Random effects: Formula: ~Q - 1 | R Structure: Multiple of an Identity Q1 Q2 Residual StdDev: 0.3979283 0.3979283 0.2202835

我知道在 
> ranef(lme3) Q1 Q2 1 0.35263487 0.1849888 2 -0.09393962 0.2933806 3 -0.25869525 -0.4783694

中,通过为

lmer
-Interaction
 指定随机截距可以接近
Q:R

产生的交互项方差等于 lme 计算值

lmer3 <- lmer(y ~ Q + (-1 + 1 | Q:R), data = DS) summary(lmer3)

和 1x6 随机效应矩阵:

Random effects: Groups Name Variance Std.Dev. Q:R (Intercept) 0.15835 0.3979 Residual 0.04852 0.2203 Number of obs: 12, groups: Q:R, 6

但是,我不太确定这两个模型是否相同,例如,必须在第一个模型中检查两次随机效应的正态性,但在第二个模型中只需检查一次。那么,对这些结果和改进文案有什么建议吗?也许使用虚拟变量?

r covariance lme4 mixed-models variance
1个回答
0
投票

$`Q:R` (Intercept) 1:1 0.35263436 1:2 -0.09393948 1:3 -0.25869488 2:1 0.18498852 2:2 0.29338022 2:3 -0.47836874 with conditional variances for “Q:R”

粗略地说,这是认为两个模型相同的“充分”条件。 (但是,不同的包可能会从对数似然中删除与参数无关的常量,因此即使对于等效模型,您也可能从不同的包中获得不同的对数似然......)

您还可以通过这种方式获得等效模型: > logLik(lme3) 'log Lik.' -4.889587 (df=4) > logLik(lmer3) 'log Lik.' -4.889587 (df=4)

最后,尚不清楚您的

DS <- transform(DS, QR = interaction(Q,R)) summary(lme(y~Q, random = ~1|QR, data = DS))
-1 + 1

通话中正在做什么:

lmer
应该可以正常工作。
    

© www.soinside.com 2019 - 2024. All rights reserved.