zoukankan      html  css  js  c++  java
  • R语言基于协方差的SEM结构方程模型中的拟合指数

    原文链接: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方法。


    1. McNeish,D.,An,J.,&Hancock,GR(2017)。潜在变量模型中测量质量和拟合指数截止之间的棘手关系。“人格评估杂志”https://doi.org/10.1080/00223891.2017.1281286 
    2. Saris,WE,Satorra,A.,&van der Veld,WM(2009)。测试结构方程模型还是检测错误规格?结构方程模型:多学科期刊,16(4),561–582。https://doi.org/10.1080/10705510903203433 

    如果您有任何疑问,请在下面发表评论。 

  • 相关阅读:
    Unity在协程内部停止协程自身后代码执行问题
    unity如何停止不用字符串方式开启协程的方法
    解决导入protobuf源代码Unity报错的问题
    FastCGI模式编译安装LAMP+Xcache
    Apache配置防盗链
    Apache配置日志切割
    Apache配置参数的优化
    Apache三种工作模式详解
    隐藏Nginx、Apache、PHP的版本号
    配置Apache控制浏览器端的缓存的有效期
  • 原文地址:https://www.cnblogs.com/tecdat/p/12209730.html
Copyright © 2011-2022 走看看