原文链接:http://tecdat.cn/?p=10165
在实践中, 因子负载较低(或测量质量较差)的模型的拟合指数要好于因子负载较高的模型。例如,如果两个模型具有相同的错误指定级别,并且因子负载为.9的模型的RMSEA可能高于.2,而因子负载为.4的模型的RMSEA可能小于.05。本文包含一些图表,可以非常清楚地传达这些结果。
AFIs
是拟合指数的近似优度,其中包括RMSEA和SRMR等绝对拟合指数,以及CFI等相对拟合指数。
使用全局拟合指数的替代方法
MAH编写的拟合指数是全局拟合指数(以下称为GFI),它们检测所有类型的模型规格不正确。但是,正如MAH指出的那样,并非所有模型规格不正确都是有问题的。考虑顺序效应,两个项目可能具有独立于其共享因子的相关误差,这仅仅是因为一个项目跟随另一个项目(序列相关)。CFA(缺省值)中不存在此相关误差将对任何全局拟合指数产生负面影响。此外,全局拟合指数不会告诉你模型错误规格是什么。
SSV提出了一种调查模型规格不正确的方法,该方法涉及使用修改指数(MI),预期参数变化(EPC),理论和功率分析。EPC是约束关系如果可以由模型自由估计的值,则约束关系将从零变化。我相信研究人员熟悉MI,并经常使用它们来修复模型错误规格,以期获得其审稿人可以接受的GFI。MI和EPC之间的关系是:
M I = (E P C / σ )2MI=(EPC/σ)2
σσ
SSV建议使用以下框架:
- (δ )(δ)
- 对于因子载荷,绝对值> .4
- 对于相关误差,绝对值> .1
- n c p = (δ / σ )2ncp=(δ/σ)2
- Ñ Ç pncpχ 2χ2δδ
遵循以下决策规则:
所有这些 在R中实现。
library(lavaan)
为此,我假设 数据 9个问题,受访者依次回答了x1至x9。
data("HolzingerSwineford1939")
# model syntax for HolzingerSwineford1939 dataset
(syntax <- paste(
paste("f1 =~", paste0("x", 1:3, collapse = " + ")),
paste("f2 =~", paste0("x", 4:6, collapse = " + ")),
paste("f3 =~", paste0("x", 7:9, collapse = " + ")),
sep = "
"))
[1] "f1 =~ x1 + x2 + x3
f2 =~ x4 + x5 + x6
f3 =~ x7 + x8 + x9"
运行模型,标准化潜在变量,并报告标准化结果:
lavaan (0.5-23.1097) converged normally after 22 iterations
Number of observations 301
Estimator ML
Minimum Function Test Statistic 85.306
Degrees of freedom 24
P-value (Chi-square) 0.000
Parameter Estimates:
Information Expected
Standard Errors Standard
Latent Variables:
Estimate Std.Err z-value P(>|z|) Std.lv Std.all
f1 =~
x1 0.900 0.081 11.127 0.000 0.900 0.772
x2 0.498 0.077 6.429 0.000 0.498 0.424
x3 0.656 0.074 8.817 0.000 0.656 0.581
f2 =~
x4 0.990 0.057 17.474 0.000 0.990 0.852
x5 1.102 0.063 17.576 0.000 1.102 0.855
x6 0.917 0.054 17.082 0.000 0.917 0.838
f3 =~
x7 0.619 0.070 8.903 0.000 0.619 0.570
x8 0.731 0.066 11.090 0.000 0.731 0.723
x9 0.670 0.065 10.305 0.000 0.670 0.665
Covariances:
Estimate Std.Err z-value P(>|z|) Std.lv Std.all
f1 ~~
f2 0.459 0.064 7.189 0.000 0.459 0.459
f3 0.471 0.073 6.461 0.000 0.471 0.471
f2 ~~
f3 0.283 0.069 4.117 0.000 0.283 0.283
Variances:
Estimate Std.Err z-value P(>|z|) Std.lv Std.all
.x1 0.549 0.114 4.833 0.000 0.549 0.404
.x2 1.134 0.102 11.146 0.000 1.134 0.821
.x3 0.844 0.091 9.317 0.000 0.844 0.662
.x4 0.371 0.048 7.778 0.000 0.371 0.275
.x5 0.446 0.058 7.642 0.000 0.446 0.269
.x6 0.356 0.043 8.277 0.000 0.356 0.298
.x7 0.799 0.081 9.823 0.000 0.799 0.676
.x8 0.488 0.074 6.573 0.000 0.488 0.477
.x9 0.566 0.071 8.003 0.000 0.566 0.558
f1 1.000 1.000 1.000
f2 1.000 1.000 1.000
f3 1.000 1.000 1.000
卡方统计意义重大
请求修改索引。从高到低对它们进行排序。通过请求power = TRUE
并设置增量来应用SSV方法。delta = .4
,因子加载的标准意味着如果模型中缺少因子加载并且因子加载大于.4。默认情况下,delta = .1
。根据SSV的建议,这足以解决相关错误。因此,我仅使用选择相关错误作为输出。
lhs op rhs mi epc sepc.all delta ncp power decision
30 f1 =~ x9 36.411 0.519 0.515 0.1 1.351 0.213 **(m)**
76 x7 ~~ x8 34.145 0.536 0.488 0.1 1.187 0.193 **(m)**
28 f1 =~ x7 18.631 -0.380 -0.349 0.1 1.294 0.206 **(m)**
78 x8 ~~ x9 14.946 -0.423 -0.415 0.1 0.835 0.150 **(m)**
33 f2 =~ x3 9.151 -0.269 -0.238 0.1 1.266 0.203 **(m)**
55 x2 ~~ x7 8.918 -0.183 -0.143 0.1 2.671 0.373 **(m)**
31 f2 =~ x1 8.903 0.347 0.297 0.1 0.741 0.138 **(m)**
51 x2 ~~ x3 8.532 0.218 0.164 0.1 1.791 0.268 **(m)**
59 x3 ~~ x5 7.858 -0.130 -0.089 0.1 4.643 0.577 **(m)**
26 f1 =~ x5 7.441 -0.189 -0.147 0.1 2.087 0.303 **(m)**
50 x1 ~~ x9 7.335 0.138 0.117 0.1 3.858 0.502 **(m)**
65 x4 ~~ x6 6.221 -0.235 -0.185 0.1 1.128 0.186 **(m)**
66 x4 ~~ x7 5.920 0.098 0.078 0.1 6.141 0.698 **(m)**
48 x1 ~~ x7 5.420 -0.129 -0.102 0.1 3.251 0.438 **(m)**
77 x7 ~~ x9 5.183 -0.187 -0.170 0.1 1.487 0.230 **(m)**
36 f2 =~ x9 4.796 0.137 0.136 0.1 2.557 0.359 **(m)**
29 f1 =~ x8 4.295 -0.189 -0.187 0.1 1.199 0.195 **(m)**
63 x3 ~~ x9 4.126 0.102 0.089 0.1 3.993 0.515 **(m)**
67 x4 ~~ x8 3.805 -0.069 -0.059 0.1 7.975 0.806 (nm)
43 x1 ~~ x2 3.606 -0.184 -0.134 0.1 1.068 0.178 (i)
45 x1 ~~ x4 3.554 0.078 0.058 0.1 5.797 0.673 (i)
35 f2 =~ x8 3.359 -0.120 -0.118 0.1 2.351 0.335 (i)
检查决策列。x7和x8被称为错误指定,因为功效低至.193,但MI具有统计学意义。
但是,考虑x2和x7(lhs 55),. 373的低功率,MI很大。是否有一些理论将这两个项目联系在一起?我可以解释建议的相关性吗?
考虑x4和x8(lhs 67),高功率为.806,但MI在统计上不显着,因此我们可以得出结论,没有错误指定。
考虑x1和x4(lhs 45),. 673的低功率,并且MI在统计上不显着,因此这没有定论。
现在,对于因子加载:
lhs op rhs mi epc sepc.all delta ncp power decision
30 f1 =~ x9 36.411 0.519 0.515 0.4 21.620 0.996 *epc:m*
28 f1 =~ x7 18.631 -0.380 -0.349 0.4 20.696 0.995 epc:nm
33 f2 =~ x3 9.151 -0.269 -0.238 0.4 20.258 0.994 epc:nm
31 f2 =~ x1 8.903 0.347 0.297 0.4 11.849 0.931 epc:nm
26 f1 =~ x5 7.441 -0.189 -0.147 0.4 33.388 1.000 epc:nm
36 f2 =~ x9 4.796 0.137 0.136 0.4 40.904 1.000 epc:nm
29 f1 =~ x8 4.295 -0.189 -0.187 0.4 19.178 0.992 epc:nm
35 f2 =~ x8 3.359 -0.120 -0.118 0.4 37.614 1.000 (nm)
27 f1 =~ x6 2.843 0.100 0.092 0.4 45.280 1.000 (nm)
38 f3 =~ x2 1.580 -0.123 -0.105 0.4 16.747 0.984 (nm)
25 f1 =~ x4 1.211 0.069 0.059 0.4 40.867 1.000 (nm)
39 f3 =~ x3 0.716 0.084 0.075 0.4 16.148 0.980 (nm)
42 f3 =~ x6 0.273 0.027 0.025 0.4 58.464 1.000 (nm)
41 f3 =~ x5 0.201 -0.027 -0.021 0.4 43.345 1.000 (nm)
34 f2 =~ x7 0.098 -0.021 -0.019 0.4 36.318 1.000 (nm)
32 f2 =~ x2 0.017 -0.011 -0.010 0.4 21.870 0.997 (nm)
37 f3 =~ x1 0.014 0.015 0.013 0.4 9.700 0.876 (nm)
40 f3 =~ x4 0.003 -0.003 -0.003 0.4 52.995 1.000 (nm)
参见第一行,建议我在f1上加载x9。功效高,MI显着且EPC高于.4,表明这是我们应该注意的某种类型不当。
但是,下一行建议我在f1上加载x7。功效高,MI显着,但EPC为0.38,小于.4,这表明我们认为这种错误指定的程度不足以保证需要修改模型。决定epc:nm的许多建议修改也是如此。
然后是最后一个具有较高功效的组,但MI并没有统计学意义,因此我们可以得出结论,没有错误指定。
SSV使用75%,这是lavaan的默认设置,但可以灵活使用。
请注意,一次只能对模型进行一次更改。EPC和MI在假设其他参数大致正确的情况下计算得出,因此,执行上述步骤的方法是进行一次更改。
我相信这是SSV建议的方法,遵循这种方法将使人们在使用MI时考虑该模型,同时考虑统计能力以检测错误指定。可以解决所有非不确定性的关系(使用理论,修改等),并留下一个模型。
PS:潜在变量建模的另一种方法是PLS路径建模。这是一种基于OLS回归的SEM方法。
- McNeish,D.,An,J.,&Hancock,GR(2017)。潜在变量模型中测量质量和拟合指数截止之间的棘手关系。“人格评估杂志”。https://doi.org/10.1080/00223891.2017.1281286 ↩
- Saris,WE,Satorra,A.,&van der Veld,WM(2009)。测试结构方程模型还是检测错误规格?结构方程模型:多学科期刊,16(4),561–582。https://doi.org/10.1080/10705510903203433 ↩