具有随机斜率的混合模型中的类内相关系数

机器算法验证 混合模式 lme4-nlme 类内相关
2022-02-17 04:57:45

我有以下模型m_plot,其中包含参与者 ( ) 和项目 ( )lme4::lmer的交叉随机效应lfdncontent

Random effects:
 Groups   Name             Variance Std.Dev. Corr                                     
 lfdn     (Intercept)      172.173  13.121                                            
          role1             62.351   7.896    0.03                                    
          inference1        24.640   4.964    0.08 -0.30                              
          inference2        52.366   7.236   -0.05  0.17 -0.83                        
          inference3        21.295   4.615   -0.03  0.22  0.86 -0.77                  
 content  (Intercept)       23.872   4.886                                            
          role1              2.497   1.580   -1.00                                    
          inference1        18.929   4.351    0.52 -0.52                              
          inference2        14.716   3.836   -0.16  0.16 -0.08                        
          inference3        17.782   4.217   -0.17  0.17  0.25 -0.79                  
          role1:inference1   9.041   3.007    0.10 -0.10 -0.10 -0.21  0.16            
          role1:inference2   5.968   2.443   -0.60  0.60 -0.11  0.78 -0.48 -0.50      
          role1:inference3   4.420   2.102    0.30 -0.30  0.05 -0.97  0.71  0.37 -0.90
 Residual                  553.987  23.537                                            
Number of obs: 3480, groups:  lfdn, 435 content, 20

我想知道参与者和项目的类内相关系数 (ICC)。多亏了这个很好的答案,我原则上知道如何为我的模型获取 ICC。但是,我不确定是否包括随机斜率:

vars <- lapply(summary(m_plot)$varcor, diag)
resid_var <- attr(summary(m_plot)$varcor, "sc")^2
total_var <- sum(sapply(vars, sum), resid_var)

# with random slopes
sapply(vars, sum)/total_var
##       lfdn    content 
## 0.33822396 0.09880349

# only random intercepts:
sapply(vars, function(x) x[1]) / total_var
##   lfdn.(Intercept) content.(Intercept) 
##         0.17496587          0.02425948 

什么是衡量同一参与者对同一项目的两个响应之间相关性的适当度量?

1个回答

基本上没有单一的数字或估计可以总结随机斜率模型中的聚类程度。

类内相关性 (ICC) 只能写为仅随机截距模型中方差的简单比例。要了解原因,可以在此处找到 ICC 表达式推导的草图。

当您将随机斜率放入模型方程时,遵循相同的步骤会导致出现本文第 5 页上的 ICC 表达式如您所见,这个复杂的表达式是预测变量 X 的函数。要更直观地了解为什么 var(Y) 在存在随机斜率时依赖于 X,请查看这些幻灯片的第 30 页(“为什么方差取决于 x ?”)

因为 ICC 是预测变量(x 值)的函数,所以只能针对特定的 x 值集进行计算。您也许可以尝试以 x 值的联合平均值报告 ICC,但对于大多数观察结果而言,这种估计显然是不准确的。

我所说的一切仍然仅指存在单个随机因素的情况。由于有多个随机因素,它变得更加复杂。例如,在一个多站点项目中,每个站点的参与者对一个刺激样本做出反应(即 3 个随机因素:站点、参与者、刺激),我们可以询问许多不同的 ICC:两个响应之间的预期相关性是什么在同一个地点,对相同的刺激,来自不同的参与者?在不同的地点、相同的刺激和不同的参与者怎么样?等等。@rvl 在 OP 链接到的答案中提到了这些并发症。

如您所见,我们可以用单个值总结聚类程度的唯一情况是单随机因子 random-intercept-only 情况。因为这只是现实世界案例的一小部分,所以 ICC 在大多数情况下并不是那么有用。所以我的一般建议是不要担心它们。相反,我建议只报告方差分量(最好以标准偏差形式)。