我目前正在 Lavaan 进行 SEM 分析,但遇到了一些问题。在运行完整的 sem 之前,我打算运行 CFA 来复制使用我正在使用的这种测量方法完成的心理测试。该度量有 24 个项目,构成 5 个子量表(潜在变量),这些子量表又加载到一个总的“高阶”因子上。我尝试用两种不同的方式来估计这个模型:(1)一个五因子模型(没有高阶因子),其中所有 5 个子量表都可以相互关联;(2)一个高阶模型,其中包含一个 TOTAL 潜在变量最多这 5 个 suscale。
第一个模型有五个相关的潜在因子(FNR、FOB...FAA),方差固定为 1。该模型收敛且无错误地拟合数据。只要我不指定构成 FTOTAL 潜在变量的子量表(FNR、FOB ..)是相关的,第二个模型也有效。但是,如果我指定这些子量表是相关的(#Residual correlations 部分),模型仍然运行但给我错误“lavaan 警告:无法计算标准误差!信息矩阵无法反转。这可能是一个症状该模型未识别。” 如果我从模型 2 中删除残差相关性,则模型运行时不会出错。两者的 R 代码如下:
Model1 <- "
#Measurements model
FNR =~ FNR1 + FNR2 + FNR3 +FNR4 +FNR5
FOB =~ FOB1 + FOB2 +FOB3 +FOB4
FDS =~ FDS1 +FDS2 +FDS3 + FDS4 + FDS5
FNJ =~ FNJ1 + FNJ2 + FNJ3 +FNJ4 + FNJ5
FAA =~ FAA1 + FAA2 +FAA3 + FAA4 +FAA5
#Residual correlations
FAA ~~ FNJ + FOB + FDS + FNR
FNR ~~ FNJ + FOB+ FDS
FNJ ~~ FOB + FDS
FOB ~~ FDS
"
fit5factor <- sem(Model1, data=SEMDATA, std.lv=TRUE)
Model2 <- "
#Measurements model
FNR =~ FNR1 + FNR2 + FNR3 +FNR4 +FNR5
FOB =~ FOB1 + FOB2 +FOB3 +FOB4
FDS =~ FDS1 +FDS2 +FDS3 + FDS4 + FDS5
FNJ =~ FNJ1 + FNJ2 + FNJ3 +FNJ4 + FNJ5
FAA =~ FAA1 + FAA2 +FAA3 + FAA4 +FAA5
FTOTAL =~ FNR + FOB + FDS + FNJ+ FAA
#Residual correlations
FAA ~~ FNJ + FOB + FDS + FNR
FNR ~~ FNJ + FOB+ FDS
FNJ ~~ FOB + FDS
FOB ~~ FDS
"
fitTotal <- sem(Model2, data=SEMDATA, std.lv=TRUE)
这是我第一次使用 SEM,我不确定我做错了什么。指定这些构成 FTOTAL 潜在变量的子量表是否允许相关是不合适的吗?我从文献中了解到,这就是第二个模型应该如何指定(五个因素相关),因为在第一个模型中,五个方面是相关的。但是,也许情况并非如此,我应该在没有相关性的情况下运行模型二,但我想了解这样做的理由,以及为什么这不合适。
提前感谢大家的帮助。