解释混合模型中的 BLUP 或 VarCorr 估计?

机器算法验证 混合模式 估计 随机效应模型 虚张声势
2022-04-21 00:59:27

我指的是这个问题在估计随机效应 (RE) 方差或相关性时,估计在VarCorr(mod)函数和计算 RE 之间的方差或相关性时是不同的cor(ranef(mod))上面的问题解释了为什么会这样。

我对哪些值更适合解释(最佳线性无偏预测 (BLUP) 或VarCorr)结果感兴趣,为什么?我们从每个选项中得到什么?因为结论显然可能不同。

lmer最后, vs中的 BLUP 解释有什么不同glmer吗?

编辑:提供一个具体的例子

假设我们有以下模型

Random effects:
 Groups  Name        Variance Std.Dev. Corr 
 subject (Intercept) 0.24513  0.4951        
         X           0.03209  0.1791   -0.83
Number of obs: 13037, groups:  subject, 218

Fixed effects:
            Estimate Std. Error z value Pr(>|z|)    
(Intercept)  1.49331    0.04184   35.69   <2e-16 ***
X           -0.32162    0.02815  -11.42   <2e-16 ***

我们从智力(X,连续尺度)预测准确度(0 或 1),同时控制受试者的 RE。

这些是手动相关的 RE 相关性和方差

第一相关 cor(ranef(mod))

            (Intercept)      C.RT
(Intercept)    1.000000 -0.977063
C.RT          -0.977063  1.000000

然后方差-协方差矩阵 cov(ranef(mod))

            (Intercept)        C.RT
(Intercept)  0.16267598 -0.04952407
C.RT        -0.04952407  0.01579298

现在,边际效应和条件效应的具体解释是怎样的?

我的一般解释是: 个体受试者的正态分布 logit 准确度值在所有参与者的平均 logit 准确度 (1.49) 附近的方差为 0.24

此外,个体参与者的个体 logit 准确度值与个体“智力”斜率之间的相关性为 -.83 => 个体参与者的准确度越高,该参与者的智力和准确度之间的关系越低。

这些是对边际模型还是条件模型的解释?另一个模型的解释会是什么样子?

编辑 2:与此问题相关的其他问题在这里,我列出了交叉验证的其他问题,但在这两种情况下,我都没有得到我正在寻找的准确答案。

特定主题与人群平均预测

边际模型与随机效应模型——如何在它们之间进行选择?给外行的忠告

条件模型与边际模型

边际模型和条件模型之间的区别

1个回答

正如您在上面引用的答案中所解释的那样,协方差矩阵指的是两个不同的模型,一个在边际模型中(整合随机效应),另一个在随机效应的条件模型中。

并不是说一个比另一个更好,因为它们指的不是同一个模型。您选择哪一个取决于您感兴趣的问题。

关于您的第二个问题,您必须更具体地说明两种模型下的“BLUP”究竟是什么意思。例如,随机效应的经验贝叶斯估计是在两种方法下使用相同的思想得出的,即给定观察结果的随机效应的条件分布模式。您可以将这些添加到固定效果部分以获得特定于主题的预测,但考虑到glmer()您也有链接功能。


编辑:关于上面提到的两个模型;比如说,是你的结果变量,是随机效应。混合模型的一般定义是: 其中是结果的适当分布,例如,它可以是高斯分布(在这种情况下,您会获得线性混合模型)、二项式(并且您会获得混合效应逻辑回归)、泊松(混合影响泊松回归)等。yb

{ybFy(θy),bN(0,D),
Fy(θy)y

随机效应被估计为后验分布的模式 其中

p(by)=p(yb)p(b)p(y),
p(yb)是后面的概率密度或概率质量函数Fy, 和p(b)随机效应的多元正态分布的概率密度函数。

关于您的问题,从中获得的经验贝叶斯估计的协方差矩阵与此后分布的协方差有关,ranef()给出VarCorr()D矩阵,它是随机效应的先验分布的协方差矩阵。这些不一样。


编辑2:随机效应估计的一个相关特征是收缩。也就是说,随机效应的估计值缩小到模型的整体平均值。收缩程度取决于

  1. 随机效应方差与误差项方差的相对大小。即随机效应相对于误差方差的方差越大,收缩程度越小。
  2. 重复测量的次数。重复测量越多,收缩程度越小。

以下代码在简单的随机截取模型中说明了这一点:

prior_vs_post <- function (prior_variance = 1, error_variance = 1, 
                           repeated_meas_per_id = 5) {
    require("lme4")
    n <- 1000 # number of subjects
    beta <- 10 # fixed effect intercept
    b <- rnorm(n, 0, sqrt(prior_variance)) # random intercepts
    DF <- data.frame(id = rep(seq_len(n), each = repeated_meas_per_id))
    # simulate normal data conditional on the random intercepts
    DF$y <- rnorm(n * repeated_meas_per_id, beta + b[DF$id], sqrt(error_variance))
    ###############
    # Fit the model
    fm <- lmer(y ~ 1 + (1 | id), data = DF)
    c(estimated_prior_variance = VarCorr(fm)$id[1L],
      BLUPs_variance = var(ranef(fm)$id[[1L]]))
}

# high variance of REs, low variance error terms
# 2 repeated measurements => low shrinkage
prior_vs_post(prior_variance = 10, error_variance = 1, 
              repeated_meas_per_id = 2)
#> estimated_prior_variance           BLUPs_variance 
#>                 11.05215                 10.58501

# high variance of REs, low variance error terms
# 20 repeated measurements => almost no shrinkage
prior_vs_post(prior_variance = 10, error_variance = 1, 
              repeated_meas_per_id = 20)
#> estimated_prior_variance           BLUPs_variance 
#>                 10.07539                 10.02580

# low variance REs, high variance error terms,
# 20 repeated measurements => considerable shrinkage
prior_vs_post(prior_variance = 1, error_variance = 10, 
              repeated_meas_per_id = 20)
#> estimated_prior_variance           BLUPs_variance 
#>                1.0002202                0.6666536

# low variance REs, high variance error terms,
# 2 repeated measurements => extreme shrinkage
prior_vs_post(prior_variance = 1, error_variance = 10, 
              repeated_meas_per_id = 2)
#> estimated_prior_variance           BLUPs_variance 
#>                0.9479291                0.1574824