在实践中, 因子负载较低(或测量质量较差)的模型的拟合指数要好于因子负载较高的模型。
例如,如果两个模型具有相同的错误指定级别,并且因子负载为.9的模型的RMSEA可能高于.2,而因子负载为.4的模型的RMSEA可能小于.05。
可下载资源
本文包含一些图表,可以非常清楚地传达这些结果。
AFIs
是拟合指数的近似优度,其中包括RMSEA和SRMR等绝对拟合指数,以及CFI等相对拟合指数。
使用全局拟合指数的替代方法
结构方程这几年热度不减,有必要研究一下它的R语言实现过程,今天先复习一下结构方程的相关理论,参考吉林大学余翠林的ppt
一、 为什么使用SEM?
1、回归分析有几方面的限制:
(1)不允许有多个因变量或输出变量
(2)中间变量不能包含在与预测因子一样的单一模型中
(3)预测因子假设为没有测量误差
(4)预测因子间的多重共线性会妨碍结果解释
(5)结构方程模型不受这些方面的限制
2、SEM的优点:
(1)SEM程序同时提供总体模型检验和独立参数估计检验;
(2)回归系数,均值和方差同时被比较,即使多个组间交叉;
(3)验证性因子分析模型能净化误差,使得潜变量间的关联估计较少地被测量误差污染;
(4)拟合非标准模型的能力,包括灵活处理追踪数据,带自相关误差结构的数据库(时间序列分析),和带非正态分布变量和缺失数据的数据库。
3、结构方程模型最为显著的两个特点是:
(1)评价多维的和相互关联的关系;
(2)能够发现这些关系中没有察觉到的概念关系,而且能够在评价的过程中解释测量误差。
同时具有联系信息技术吸纳能力:
SEM能够反映模型中要素之间的相互影响;
吸纳能力概念作为一个重要的模型要素,难以直接度量,结构方程模型技术能够更为充分地体现其蕴含的要素信息和影响作用。
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 = "\n"))
[1] "f1 =~ x1 + x2 + x3\nf2 =~ x4 + x5 + x6\nf3 =~ 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 ↩
可下载资源
关于作者
Kaizong Ye是拓端研究室(TRL)的研究员。在此对他对本文所作的贡献表示诚挚感谢,他在上海财经大学完成了统计学专业的硕士学位,专注人工智能领域。擅长Python.Matlab仿真、视觉处理、神经网络、数据分析。
本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。
非常感谢您阅读本文,如需帮助请联系我们!