SEM - 测试回归的不变性分析

SEM - Analysis of invariance to test regressions

假设我们有一个具有三个潜在变量 (视觉、文本和速度) 的验证性因素分析 CFA,并且我们想要添加一个回归,其中 speed 是结果,visualtextual 是解释变量(也就是说,将 CFA 展开为结构方程型号 SEM).

另外,假设我们有分组变量 school(2 个类别)。 我想知道文本和视觉的效果(回归路径)对于两组是否相同,或者是否最好为每组设置不同的系数。

我该如何实现?

我的主要想法是遵循不变性分析,计算弱模型、标量模型、严格模型,最后是回归系数也被限制为跨组相等的模型。然后,如果最后一个模型的 rmseaCFI 没有发生重大变化,我可以说系数可以假设为相同;相反,如果 rmseaCFI 表明模型的质量变差,最好对每个组使用不同的估计值。

另一种方法是确保 CFA 具有严格的不变性,然后添加回归。我可以将非分组 SEM 与分组 SEM 进行比较,并根据两个模型的质量做出决定。

library(lavaan)

HS.model <- '  visual =~ x1 + x2 + x3
               textual =~ x4 + x5 + x6
               speed   =~ x7 + x8 + x9 
               speed ~ textual + visual'

fit <- sem(HS.model, 
           data = HolzingerSwineford1939, 
           group = "school")
summary(fit , standardized = TRUE, rsquare = TRUE, fit.measures = TRUE)

fit.Weak <- sem(model = HS.model, data = HolzingerSwineford1939, 
                group = "school", 
                group.equal = c("loadings"))
summary(fit.Weak  , standardized = TRUE, rsquare = TRUE, fit.measures = TRUE)

fit.Scalar <- sem(model = HS.model, data = HolzingerSwineford1939, 
                group = "school", 
                group.equal = c("loadings", "intercepts")
summary(fit.Scalar  , standardized = TRUE, rsquare = TRUE, fit.measures = TRUE)
       
fit.Strict <- sem(model = HS.model, data = HolzingerSwineford1939, 
                   group = "school", 
                   group.equal = c("loadings", "intercepts")
       
fit.Regressors <- sem(model = HS.model, data = HolzingerSwineford1939, 
                       group = "school", 
                       group.equal = c("loadings", "intercepts", "residuals", "regressions")
summary(fit.Regressors  , standardized = TRUE, rsquare = TRUE, fit.measures = TRUE)

您在寻找方差分析吗?

> anova(fit, fit.Weak, fit.Strict, fit.Regressors)
Chi-Squared Difference Test

               Df    AIC    BIC  Chisq Chisq diff Df diff Pr(>Chisq)    
fit            48 7484.4 7706.8 115.85                                  
fit.Weak       54 7480.6 7680.8 124.04      8.192       6    0.22436    
fit.Strict     60 7508.6 7686.6 164.10     40.059       6  4.435e-07 ***
fit.Regressors 71 7508.5 7645.7 186.00     21.898      11    0.02517 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1