如何从lme4获取随机效应(BLUPs/条件模式)的协方差矩阵

6

因此,我在R中使用线性混合模型拟合了两个随机截距:

Y = X beta  + Z b + e_i, 

b ~ MVN (0, Sigma)表示b符合均值为0,协方差为Sigma的多元正态分布;XZ分别是固定效应和随机效应模型矩阵;betab分别是固定效应参数和随机效应BLUPs/条件众数。

我想获取b的基础协方差矩阵,但在lme4包中似乎不是一件容易的事情。您只能通过VarCorr获得方差,而无法获得实际的相关矩阵。

根据软件包指南之一 (第2页) 的说法,您可以计算beta的协方差:e_i * lambda * t(lambda)。您可以从lme4的输出中提取所有这些组件。

我想知道这是否是正确的方法?或者您有其他建议吗?


1
欢迎来到StackOverflow。请澄清您的数学符号(Xbeta实际上是X * beta吗?可能您还应该说明beta,b,sigma是什么;尽管我不是专家,但对于某些人来说,这些符号可能很明显)。请记住,您写得越清晰,就越有可能更快地得到适当的答案。 - YakovL
是的,Xbeta应该是X*beta。Beta是设计矩阵X的固定效应向量,b是随机效应向量,sigma是b的方差协方差矩阵。谢谢你的提示,我会记住的。 - pa_ka
1个回答

5

来自?ranef:

如果“condVar”为“TRUE”,则每个数据框都具有一个名为““postVar””的属性,该属性是一个具有对称面的三维数组;每个面包含特定分组因子水平的方差-协方差矩阵。 (这个属性的名称是一个历史工件,并且将来可能会更改为“condVar”)。

设置一个示例:

library(lme4)
fm1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy)
rr <- ranef(fm1,condVar=TRUE)

获取截距项b值的方差-协方差矩阵

pv <- attr(rr[[1]],"postVar")
str(pv)
##num [1:2, 1:2, 1:18] 145.71 -21.44 -21.44 5.31 145.71 ...

这是一个2x2x18的数组;每个切片表示特定受试者的条件截距和斜率之间的方差协方差矩阵(根据定义,每个受试者的截距和斜率与所有其他受试者的截距和斜率无关)。

要将其转换为方差协方差矩阵(参见getMethod("image",sig="dgTMatrix")...)

library(Matrix)
vc <- bdiag(  ## make a block-diagonal matrix
            lapply(
                ## split 3d array into a list of sub-matrices
                split(pv,slice.index(pv,3)),
                   ## ... put them back into 2x2 matrices
                      matrix,2)) 
image(vc,sub="",xlab="",ylab="",useRaster=TRUE)

enter image description here


非常感谢!我会查看它的 :) - pa_ka
StackOverflow已经不再推荐使用评论来表示“谢谢”(http://meta.stackoverflow.com/questions/258004/should-thank-you-comments-be-flagged?lq=1);如果这个答案对您有用,您可以为其点赞(如果您有足够的声望),无论如何,如果它令您满意地回答了您的问题,我们鼓励您点击勾选标记来接受它。 - Ben Bolker
我问这个问题的原因是,我尝试使用您的代码来获取b的协方差矩阵的估计值,但结果与我们用于生成数据的实际协方差矩阵相当不同。非常感谢! - Nan
你的代码获取协方差矩阵和从lmer输出的Std.Dev.读取有什么区别?根据https://stats.stackexchange.com/questions/24452/how-to-interpret-variance-and-correlation-of-random-effects-in-a-mixed-effects-m,它们应该意味着相同的事情,但在我的实验中它们的值并不相同。 - Nan
我在这个问题上发布了一个问题,这是链接 https://stackoverflow.com/questions/54770082/r-covariance-matrix-for-the-random-effect-in-mixed-effects-model 感谢任何帮助! - Nan
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接