我可以在层次线性模型中探测没有随机斜率的跨层次交互吗?

机器算法验证 多层次分析
2022-03-28 06:28:45

我有一个 HLM 模型,组间的 1 级截距有显着差异,但组间的 1 级斜率没有显着差异,并且发现了显着的跨级别调节效应。解释这些是否有意义,或者随机斜率是否是探索跨层交互效应的必要条件?

1个回答

在级别 1 具有随机斜率并不是检查跨级别交互的必要条件。所需要的只是你有 2 个在不同水平上变化的预测变量,以及它们的相互作用。

编辑:我查看了评论中发布的霍夫曼论文,我想我在这里看到了混乱的根源。

Hofmann 描述了一种情况,即从最简单的“空”随机截距模型开始构建模型,然后逐项处理到完整的 HLM,其中添加的最后一项是表示交叉的预测变量级交互。在这种方法下,确实在跨层次交互模型之前的模型中(即除了省略跨层次交互项之外相同的模型),第一层次的斜率必须存在变化为了通过 2 级预测器来缓和这些斜率。直观地说,如果每个组都具有完全相同的 1 级斜率,那么我们不可能从数据集中的另一个预测变量预测这些斜率的变化,因为没有这样的变化可以预测。

请注意,这不是关于跨层次交互模型本身的陈述,而是关于省略跨层次交互术语的不同模型的陈述。在跨层交互模型本身中,完全有可能没有第一层斜率的变化。这基本上意味着我们在之前的模型中观察到的所有看似随机的 1 级斜率变化都可以通过在模型中添加跨级交互项来解释。

x我在下面用 R 中的一些模拟数据来说明这种情况,其中我们在级别 1 的z变化和级别 2 的变化之间存在跨级别交互:

# generate data -----------------------------------------------------------

set.seed(12345)
dat <- merge(data.frame(group=rep(1:30,each=30),
                        x=runif(900, min=-.5, max=.5),
                        error=rnorm(900)),
             data.frame(group=1:30,
                        z=runif(30, min=-.5, max=.5),
                        randInt=rnorm(30)))
dat <- within(dat, y <- randInt + 5*x*z + error)

# model with the x:z interaction ------------------------------------------

library(lme4)

mod1 <- lmer(y ~ x*z + (1|group) + (0+x|group), data=dat)
mod1
# Linear mixed model fit by REML 
# Formula: y ~ x * z + (1 | group) + (0 + x | group) 
# Data: dat 
# AIC  BIC logLik deviance REMLdev
# 2658 2692  -1322     2640    2644
# Random effects:
#   Groups   Name        Variance   Std.Dev.  
# group    (Intercept) 8.5326e-01 9.2372e-01
# group    x           5.4449e-20 2.3334e-10
# Residual             9.9055e-01 9.9526e-01
# Number of obs: 900, groups: group, 30
# 
# Fixed effects:
#             Estimate Std. Error t value
# (Intercept) -0.13311    0.17283  -0.770
# x            0.09808    0.11902   0.824
# z           -0.24705    0.51424  -0.480
# x:z          5.39969    0.35257  15.315
# 
# Correlation of Fixed Effects:
#     (Intr) x      z     
# x   -0.010              
# z    0.103  0.008       
# x:z  0.007  0.137 -0.005

# model without the x:z interaction ---------------------------------------

mod2 <- lmer(y ~ x + z + (1|group) + (0+x|group), data=dat)
mod2
# Linear mixed model fit by REML 
# Formula: y ~ x + z + (1 | group) + (0 + x | group) 
# Data: dat 
# AIC  BIC logLik deviance REMLdev
# 2726 2755  -1357     2713    2714
# Random effects:
#   Groups   Name        Variance Std.Dev.
# group    (Intercept) 0.85503  0.92468 
# group    x           3.46811  1.86229 
# Residual             0.99607  0.99803 
# Number of obs: 900, groups: group, 30
# 
# Fixed effects:
#             Estimate Std. Error t value
# (Intercept) -0.14148    0.17312  -0.817
# x           -0.05178    0.36056  -0.144
# z           -0.26570    0.51509  -0.516
# 
# Correlation of Fixed Effects:
#     (Intr) x     
# x -0.004       
# z  0.103  0.002