随机效应高度相关是什么意思?

机器算法验证 r lme4-nlme 随机效应模型
2022-03-10 10:09:00

当两个随机效应高度或完全相关时,这意味着什么?
也就是说,在 R 中,当您在混合模型对象上调用摘要时,在“随机效应”下,“corr”为 1 或 -1。

summary(model.lmer) 
Random effects:
Groups   Name                    Variance   Std.Dev.  Corr                 
popu     (Intercept)             2.5714e-01 0.5070912                      
          amdclipped              4.2505e-04 0.0206167  1.000               
          nutrientHigh            7.5078e-02 0.2740042  1.000  1.000        
          amdclipped:nutrientHigh 6.5322e-06 0.0025558 -1.000 -1.000 -1.000

我知道这很糟糕,表明模型的随机效应部分太复杂了,但我试图理解

  • 1)在统计上做了什么
  • 2)响应变量的结构实际上发生了什么。

例子

这是一个基于Bolker 等人的“ GLMMs in action:gene-by-environment interaction in total fruit production of arabidopsis thaliana ”的例子

下载数据

download.file(url = "http://glmm.wdfiles.com/local--files/trondheim/Banta_TotalFruits.csv", destfile = "Banta_TotalFruits.csv")
dat.tf <- read.csv("Banta_TotalFruits.csv", header = TRUE)

设置因素

dat.tf <- transform(dat.tf,X=factor(X),gen=factor(gen),rack=factor(rack),amd=factor(amd,levels=c("unclipped","clipped")),nutrient=factor(nutrient,label=c("Low","High")))

使用“人口”(popu)作为随机效应建模 log(total.fruits+1)

model.lmer <- lmer(log(total.fruits+1) ~ nutrient*amd + (amd*nutrient|popu), data= dat.tf)

访问随机效应的相关矩阵表明一切都是完全相关的

attr(VarCorr(model.lmer)$popu,"correlation")

                         (Intercept) amdclipped nutrientHigh amdclipped:nutrientHigh
(Intercept)                       1          1            1                      -1
amdclipped                        1          1            1                      -1
nutrientHigh                      1          1            1                      -1
amdclipped:nutrientHigh          -1         -1           -1                       1

我知道这些是随机效应系数的两个向量的相关系数,例如

cor(ranef(model.lmer)$popu$amdclipped, ranef(model.lmer)$popu$nutrientHigh)

高相关性是否意味着两个随机效应包含冗余信息?当应简化具有高度相关预测变量的模型时,这是否类似于多元回归中的多重共线性?

1个回答

我不是 100% 确定这个答案是正确的,但考虑到我刚刚发现有同样的问题(完美的相关性)并且在这里查看我自己的数据是我假设正在发生的事情。

如果您的分组(随机)变量中没有变化,则相关性将为 +1(如果两个效应具有相同的符号)或 -1。

因此,例如,对于您的示例,我假设对于 的每个值amd只有 1 个值nutrient这种缺乏方差创造了完美的相关性。

我不一定认为这有问题,这主要取决于您的模型的目标。查看此答案,以很好地解释如何使用不同的随机效果lmer

重点似乎是。如果您使用的是随机斜率变量 -y ~ x3 + (1 + x1 | x2)并且您知道对于 , 的每个值x2x1意味着是恒定的,那么随机斜率仍然可以证明是合理的,前提是您有充分的(理论/经验)理由假设对于x2每个x1你的响应变量y会有所不同。

我知道这是一个老问题,但希望我建议的答案是有意义的。

西蒙