在多层次模型中,估计与不估计随机效应相关参数的实际含义是什么?


27

在多层次模型中,估计与不估计随机效应相关参数的实际和解释相关的含义是什么?提出此问题的实际原因是,在R中的lmer框架中,当在参数之间的相关性模型中进行估算时,没有通过MCMC技术估算p值的已实现方法。

例如,看这个例子(下面引用的部分),M2与M3的实际含义是什么。显然,在一种情况下不会估计P5,而在另一种情况下会估计。

问题

  1. 出于实际原因(希望通过MCMC技术获得p值),即使P5基本不为零,也可能希望在随机效应之间没有相关性的情况下拟合模型。如果执行此操作,然后通过MCMC技术估算p值,结果是否可以解释?(我知道@Ben Bolker之前曾提到过,“虽然从统计学上讲,将显着性测试与MCMC相结合有点不连贯,尽管我理解这样做的冲动(更容易获得置信区间)”,所以,如果这样做会使您睡得更好在晚上假装我说出置信区间。)
  2. 如果一个人无法估计P5,是否等于断言它为0?
  3. 如果P5确实非零,那么P1-P4的估计值会受到什么影响?
  4. 如果P5确实非零,那么P1-P4的误差估计会受到什么影响?
  5. 如果P5确实非零,那么以何种方式无法包含P5的模型解释有缺陷?

借用@Mike Lawrence的答案(比我更了解的人可以随意用完整的模型表示法替换它,我并不完全相信我可以以合理的忠诚度做到这一点):

M2 :( V1 ~ (1|V2) + V3 + (0+V3|V2)估计P1-P4)

M3 :( V1 ~ (1+V3|V2) + V3估计P1-P5)

可以估计的参数:

P1:全局拦截

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

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

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

P5:跨V2级别的截距偏差和V3偏差之间的相关性

从足够大和广泛的模拟以及使用lmer的R中附带的代码中得出的答案是可以接受的。



@JackTanner:似乎您也不满意。如果在此问题的答案中也解决了您的担忧,那将是很好的。
russellpierce

4
在不深入研究(可能是难以理解的)理论的情况下,不可能对您的许多问题给出准确的答案-“当我以_______方式错误指定模型时_______会发生什么”(尽管这在可能的情况下是一种特殊情况-我(不确定)。我可能会使用的策略是在斜率和截距高度相关时模拟数据,对模型进行约束以使二者不相关,并与正确指定模型时(即“敏感性分析”)进行比较。
2013年

4
对于您的问题,我对以下各项有80(但不是100)的把握:re。#2,是的,如果您不估计相关性,则将其强制为0;否则,将其强制为0。对于其他情况,如果相关性实际上不完全为 0,则您会错误地指定数据的非独立性。但是,贝塔值可以是无偏的,但是p值将关闭(并且它们的值是否太高或太低取决于&可能不知道)。因此,对beta的解释可能能够正常进行,但对“重要性”的解释将是不准确的。
gung-恢复莫妮卡

2
@Macro:我的希望是赏金可以根据理论而不是模拟来敲响一个好的答案。通过仿真,我经常会担心自己没有找到合适的边缘情况。我擅长运行模拟,但总会有一点...不确定我是否正在运行所有正确的模拟(尽管我想我可以将其留给期刊编辑来决定)。我可能不得不问另一个关于要包含哪些方案的问题。
russellpierce

Answers:


16

考虑lme4中包含的sleepstudy数据。贝茨在他的有关lme4的在线书中对此进行了讨论。在第三章中,他考虑了两种数据模型。

M0:Reaction1+Days+(1|Subject)+(0+Days|Subject)

中号一种反应1个++|学科

该研究涉及18位受试者,研究了10天的睡眠不足。在基线和随后的几天计算反应时间。在反应时间和睡眠不足的持续时间之间有明显的影响。主题之间也存在显着差异。模型A允许随机截距和斜率效应之间相互作用的可能性:例如,假设反应时间较差的人遭受睡眠剥夺的影响更为严重。这将暗示随机效应呈正相关。

在贝茨(Bates)的示例中,莱迪思图没有明显的相关性,模型之间也没有显着差异。但是,为了调查上面提出的问题,我决定采用睡眠研究的拟合值,提高相关性,并研究两个模型的性能。

从图像中可以看出,较长的反应时间会带来更大的性能损失。用于仿真的相关系数为0.58

在此处输入图片说明

根据我的人工数据的拟合值,我使用lme4中的模拟方法模拟了1000个样本。我将M0和Ma分别拟合,然后查看结果。原始数据集具有180个观察值(18个对象中的每个对象有10个),并且模拟数据具有相同的结构。

底线是几乎没有差异。

  1. 在两个模型下,固定参数的值完全相同。
  2. 随机效果略有不同。每个模拟样本有18种截距和18种斜率随机效应。对于每个样本,这些效应被强制加为0,这意味着两个模型之间的平均差(人为地)为0。但是方差和协方差不同。MA下的协方差中位数是104,而M0下的中位数协方差是84(实际值112)。在M0下,斜率和截距的方差比MA大,大概是为了在没有自由协方差参数的情况下获得所需的额外摆动空间。
  3. 用于lmer的ANOVA方法提供了F统计量,用于将Slope模型与仅具有随机截距的模型进行比较(由于睡眠剥夺而没有影响)。显然,在两个模型中,该值都非常大,但在MA下通常(但并非总是)更大(平均值为62,平均值为55)。
  4. 固定效应的协方差和方差是不同的。
  5. 大约有一半的时间,它知道MA是正确的。用于将M0与MA进行比较的中值p值为0.0442。尽管存在有意义的相关性和180个平衡的观察结果,但只有大约一半的时间会选择正确的模型。
  6. 两种模型下的预测值有所不同,但差异很小。预测之间的平均差为0,标准差为2.7。预测值本身的sd为60.9

那么为什么会这样呢?@gung合理地猜测,不包括相关性的可能性将迫使随机效应不相关。也许应该;但是在此实现中,允许随机效应相关联,这意味着无论模型如何,数据都能够沿正确的方向提取参数。错误模型的错误性出现在可能性中,这就是为什么您可以(有时)在该级别上区分这两个模型的原因。混合效应模型基本上是线性回归适用于每个主题,受模型认为应该是线性回归的影响。错误的模型会迫使拟合的值比正确模型下的可信度要小。但是,这些参数最终还是要取决于对实际数据的拟合程度。

在此处输入图片说明

这是我有些笨拙的代码。想法是拟合睡眠研究数据,然后构建具有相同参数但对随机效应具有更大相关性的模拟数据集。该数据集被提供给simulate.lmer()以模拟1000个样本,每种样本都可以同时拟合。配对合适的对象后,可以使用t检验或其他方法提取合适的不同特征并进行比较。

    # Fit a model to the sleep study data, allowing non-zero correlation
fm01 <- lmer(Reaction ~ 1 + Days +(1+Days|Subject), data=sleepstudy, REML=FALSE)
# Now use this to build a similar data set with a correlation = 0.9
# Here is the covariance function for the random effects
# The variances come from the sleep study. The covariance is chosen to give a larger correlation
sigma.Subjects <- matrix(c(565.5,122,122,32.68),2,2) 
# Simulate 18 pairs of random effects
ranef.sim <- mvrnorm(18,mu=c(0,0),Sigma=sigma.Subjects)
# Pull out the pattern of days and subjects.
XXM <- model.frame(fm01) 
n <- nrow(XXM) # Sample size
# Add an intercept to the model matrix.
XX.f <- cbind(rep(1,n),XXM[,2])
# Calculate the fixed effects, using the parameters from the sleep study. 
yhat <- XX.f %*%  fixef(fm01 )
# Simulate a random intercept for each subject
intercept.r <- rep(ranef.sim[,1], each=10) 
# Now build the random slopes
slope.r <- XXM[,2]*rep(ranef.sim[,2],each=10)
# Add the slopes to the random intercepts and fixed effects
yhat2 <- yhat+intercept.r+slope.r
# And finally, add some noise, using the variance from the sleep study
y <- yhat2 + rnorm(n,mean=0,sd=sigma(fm01))
# Here is new "sleep study" data, with a stronger correlation.
new.data <- data.frame(Reaction=y,Days=XXM$Days,Subject=XXM$Subject)
# Fit the new data with its correct model
fm.sim <- lmer(Reaction ~ 1 + Days +(1+Days|Subject), data=new.data, REML=FALSE)
# Have a look at it
xyplot(Reaction ~ Days | Subject, data=new.data, layout=c(6,3), type=c("p","r"))
# Now simulate 1000 new data sets like new.data and fit each one
# using the right model and zero correlation model.
# For each simulation, output a list containing the fit from each and
# the ANOVA comparing them.
n.sim <- 1000
    sim.data <- vector(mode="list",)
    tempReaction <- simulate(fm.sim, nsim=n.sim)
    tempdata <- model.frame(fm.sim)
    for (i in 1:n.sim){
        tempdata$Reaction <- tempReaction[,i]
			output0 <- lmer(Reaction ~ 1 + Days +(1|Subject)+(0+Days|Subject), data = tempdata, REML=FALSE)
			output1 <- lmer(Reaction ~ 1 + Days +(Days|Subject), data=tempdata, REML=FALSE)
			temp <- anova(output0,output1)
			pval <- temp$`Pr(>Chisq)`[2]
        sim.data[[i]] <- list(model0=output0,modelA=output1, pvalue=pval)
    }

1
那是有趣的工作。谢谢。我确实想在接下来的几天中看到其他评论,以及在我接受答案之前情况如何发展到其他情况。您是否还会考虑在答案中包含相关的R代码以及指定所使用的lmer版本?将相同的模拟案例输入PROC MIXED,以查看其如何处理未指定的随机效应相关性将很有趣。
russellpierce

1
@rpierce我已按要求添加了代码示例。我最初是用LaTeX / Sweave编写的,因此代码行与我对自己的注释交织在一起。我使用了lme4的1.1-6版本,这是2014
Placidia

@Ben在第二段中说“模型A允许”时,不是MO吗?
nzcoops

我认为文字是正确的(我对这个问题所做的一切只是美化了公式)
Ben Bolker

+6。出色的答案,感谢您关注旧的但值得提出的问题。
变形虫说恢复莫妮卡

4

Placidia已经使用基于sleepstudy数据集的模拟数据提供了全面的答案。这是另一个(不太严格)的答案,它也使用sleepstudy数据。

我们看到可以通过“移动”随机预测变量来影响随机截距和随机斜率之间的估计相关性。看看从模型得出的结果fm1fm2下面:

library(lmer)

#Fit Models
fm1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy)
k <- 3 # Shift "Days" by an arbitrary amount
fm2 <- lmer(Reaction ~ I(Days + k) + (I(Days + k)| Subject), sleepstudy)

fm1 # Model Output
# Linear mixed model fit by REML ['lmerMod']
# Formula: Reaction ~ Days + (Days | Subject)
# Data: sleepstudy
# REML criterion at convergence: 1743.628
# Random effects:
#   Groups   Name        Std.Dev. Corr
# Subject  (Intercept) 24.740       
# Days         5.922   0.07
# Residual             25.592       
# Number of obs: 180, groups:  Subject, 18
# Fixed Effects:
#   (Intercept)         Days  
# 251.41        10.47

fm2 # Model Output
# Linear mixed model fit by REML ['lmerMod']
# Formula: Reaction ~ I(Days + k) + (I(Days + k) | Subject)
# Data: sleepstudy
# REML criterion at convergence: 1743.628
# Random effects:
#   Groups   Name        Std.Dev. Corr 
# Subject  (Intercept) 29.498        
# I(Days + k)  5.922   -0.55
# Residual             25.592        
# Number of obs: 180, groups:  Subject, 18
# Fixed Effects:
#   (Intercept)  I(Days + k)  
# 220.00        10.47

# Random effects from both models
cbind(ranef(fm1)$Subject,ranef(fm2)$Subject)
# (Intercept)        Days (Intercept) I(Days + k)
# 308   2.2585654   9.1989719 -25.3383538   9.1989727
# 309 -40.3985769  -8.6197032 -14.5394628  -8.6197043
# 310 -38.9602458  -5.4488799 -22.6136027  -5.4488807
# 330  23.6904985  -4.8143313  38.1334933  -4.8143315
# 331  22.2602027  -3.0698946  31.4698868  -3.0698946
# 332   9.0395259  -0.2721707   9.8560377  -0.2721706
# 333  16.8404311  -0.2236244  17.5113040  -0.2236243
# 334  -7.2325792   1.0745761 -10.4563076   1.0745761
# 335  -0.3336958 -10.7521591  31.9227854 -10.7521600
# 337  34.8903508   8.6282840   9.0054946   8.6282850
# 349 -25.2101104   1.1734142 -28.7303527   1.1734141
# 350 -13.0699567   6.6142050 -32.9125736   6.6142054
# 351   4.5778352  -3.0152572  13.6236077  -3.0152574
# 352  20.8635924   3.5360133  10.2555505   3.5360138
# 369   3.2754530   0.8722166   0.6588028   0.8722167
# 370 -25.6128694   4.8224646 -40.0802641   4.8224648
# 371   0.8070397  -0.9881551   3.7715053  -0.9881552
# 372  12.3145393   1.2840297   8.4624492   1.2840300

从模型输出中,我们看到随机方差相关性已经改变。但是,斜率(固定斜率和随机斜率)保持不变,剩余方差估计也是如此。截距(固定的和随机的)估计值根据移位的变量而更改。

Jack Weiss博士在这里的讲义中讨论了对LMM的随机截距-斜率协方差去相关。Weiss指出,以这种方式降低方差相关性有时可能有助于模型收敛。

上面的示例改变了随机相关性(参数“ P5”)。从上面的输出中可以看到部分解决了OP的Q3:

#   Parameter           Status
=================================
P1  Fixed Intercept     Affected
P2  Random Intercepts   Affected
P3  Fixed Slope         Not Affected
P4  Random Slopes       Not Affected
P5  Random Correlation  Affected

感谢您为这个长期存在的问题添加信号!
russellpierce


然后,我们应该如何解释相关数据?什么是“真实”相关?来自第一个模型还是来自第二个模型?还是来自BLUP的?
User33268
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.