R 中带有 lavaan 的 CFA:如果方差-协方差矩阵似乎不是正定的,我可以相信我的 cfa 结果吗?

CFA with lavaan in R : Can I trust my cfa results if the variance-covariance matrix does not appear to be positive definite?

我正在尝试创建一个结构方程模型来测试在 kaggle. More specifically, I would like to replicate a finding which suggests that common method variance (e.g., response biases) inflate the often observed high intercorrelations between the manifest variables/items of the big 5 (Chang, Connelly & Geeza (2012) 上找到的大 5 数据集下的潜在变量的结构。

big5_CFAmodel_cmv <-'EXTRA =~ EXT1 + EXT2 + EXT3 + EXT4 + EXT5 + EXT7 + EXT8 + EXT9 + EXT10 
                     AGREE =~ AGR1 + AGR2 + AGR4 + AGR5 + AGR6 + AGR7 + AGR8 + AGR9 + AGR10 
                     EMO   =~ EST1 + EST2 + EST3 + EST5 + EST6 + EST7 + EST8 + EST9 + EST10 
                     OPEN  =~ OPN1 + OPN2 + OPN3 + OPN5 + OPN6 + OPN7 + OPN8 + OPN9 + OPN10 
                     CON   =~ CSN1 + CSN2 + CSN3 + CSN4 + CSN5 + CSN6 + CSN7 + CSN8 + CSN9  
                     CMV   =~ EXT1 + EXT2 + EXT3 + EXT4 + EXT5 + EXT7 + EXT8 + EXT9 + EXT10 + AGR1 + AGR2 + AGR4 + AGR5 + AGR6 + AGR7 + AGR8 + AGR9 + AGR10 + CSN1 + CSN2 + CSN3 + CSN4 + CSN5 + CSN6 + CSN7 + CSN8 + CSN9 + EST1 + EST2 + EST3 + EST5 + EST6 + EST7 + EST8 + EST9 + EST10 + OPN1 + OPN2 + OPN3 + OPN5 + OPN6 + OPN7 + OPN8 + OPN9 + OPN10 '

big5_CFA_cmv <- cfa(model = big5_CFAmodel_cmv,
                        data = big5, estimator = "MLR")

这是我在 Github 上的完整代码。现在我收到来自 lavaan 的警告:

lavaan WARNING:
    The variance-covariance matrix of the estimated parameters (vcov)
    does not appear to be positive definite! The smallest eigenvalue
    (= -4.921738e-07) is smaller than zero. This may be a symptom that
    the model is not identified.

但是当我 运行 summary(big5_CFA_cmv, fit.measures = TRUE, standardized = TRUE, rsquare = TRUE) 时,lavaan 似乎正常结束并产生了良好的拟合统计数据。

lavaan 0.6-8 ended normally after 77 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                       150
                                                      
                                                  Used       Total
  Number of observations                           498         500
                                                                  
Model Test User Model:
                                               Standard      Robust
  Test Statistic                               2459.635    2262.490
  Degrees of freedom                                885         885
  P-value (Chi-square)                            0.000       0.000
  Scaling correction factor                                   1.087
       Yuan-Bentler correction (Mplus variant)                     

Model Test Baseline Model:

  Test statistic                              9934.617    8875.238
  Degrees of freedom                               990         990
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.119

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.824       0.825
  Tucker-Lewis Index (TLI)                       0.803       0.805
                                                                  
  Robust Comparative Fit Index (CFI)                         0.830
  Robust Tucker-Lewis Index (TLI)                            0.810

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -31449.932  -31449.932
  Scaling correction factor                                  1.208
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -30220.114  -30220.114
  Scaling correction factor                                  1.105
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               63199.863   63199.863
  Bayesian (BIC)                             63831.453   63831.453
  Sample-size adjusted Bayesian (BIC)        63355.347   63355.347

Root Mean Square Error of Approximation:

  RMSEA                                          0.060       0.056
  90 Percent confidence interval - lower         0.057       0.053
  90 Percent confidence interval - upper         0.063       0.059
  P-value RMSEA <= 0.05                          0.000       0.000
                                                                  
  Robust RMSEA                                               0.058
  90 Percent confidence interval - lower                     0.055
  90 Percent confidence interval - upper                     0.061

Standardized Root Mean Square Residual:

  SRMR                                           0.061       0.061

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  EXTRA =~                                                              
    EXT1              1.000                               0.455    0.372
    EXT2              1.010    0.323    3.129    0.002    0.459    0.358
    EXT3              0.131    0.301    0.434    0.664    0.059    0.049
    EXT4              1.393    0.430    3.240    0.001    0.633    0.532
    EXT5              0.706    0.168    4.188    0.000    0.321    0.263
    EXT7              1.001    0.183    5.477    0.000    0.455    0.323
    EXT8              1.400    0.545    2.570    0.010    0.637    0.513
    EXT9              1.468    0.426    3.446    0.001    0.667    0.505
    EXT10             1.092    0.335    3.258    0.001    0.497    0.387
  AGREE =~                                                              
    AGR1              1.000                               0.616    0.486
    AGR2              0.721    0.166    4.349    0.000    0.444    0.374
    AGR4              1.531    0.205    7.479    0.000    0.944    0.848
    AGR5              0.999    0.141    7.085    0.000    0.615    0.568
    AGR6              1.220    0.189    6.464    0.000    0.752    0.661
    AGR7              0.743    0.155    4.795    0.000    0.458    0.406
    AGR8              0.836    0.126    6.614    0.000    0.515    0.502
    AGR9              1.292    0.209    6.176    0.000    0.796    0.741
    AGR10             0.423    0.124    3.409    0.001    0.261    0.258
  EMO =~                                                                
    EST1              1.000                               0.856    0.669
    EST2              0.674    0.063   10.626    0.000    0.577    0.485
    EST3              0.761    0.059   12.831    0.000    0.651    0.580
    EST5              0.646    0.081    7.970    0.000    0.552    0.444
    EST6              0.936    0.069   13.542    0.000    0.801    0.661
    EST7              1.256    0.128    9.805    0.000    1.075    0.880
    EST8              1.298    0.131    9.888    0.000    1.111    0.883
    EST9              0.856    0.071   11.997    0.000    0.733    0.602
    EST10             0.831    0.085    9.744    0.000    0.711    0.545
  OPEN =~                                                               
    OPN1              1.000                               0.593    0.518
    OPN2              0.853    0.106    8.065    0.000    0.506    0.492
    OPN3              1.064    0.205    5.186    0.000    0.631    0.615
    OPN5              1.012    0.124    8.161    0.000    0.600    0.654
    OPN6              1.039    0.204    5.085    0.000    0.616    0.553
    OPN7              0.721    0.089    8.115    0.000    0.428    0.481
    OPN8              0.981    0.077   12.785    0.000    0.582    0.474
    OPN9              0.550    0.106    5.187    0.000    0.326    0.332
    OPN10             1.269    0.200    6.332    0.000    0.753    0.772
  CON =~                                                                
    CSN1              1.000                               0.779    0.671
    CSN2              1.151    0.128    8.997    0.000    0.897    0.665
    CSN3              0.567    0.068    8.336    0.000    0.442    0.437
    CSN4              1.054    0.107    9.867    0.000    0.821    0.669
    CSN5              0.976    0.083   11.749    0.000    0.760    0.593
    CSN6              1.393    0.133   10.464    0.000    1.085    0.779
    CSN7              0.832    0.082   10.175    0.000    0.648    0.583
    CSN8              0.684    0.077    8.910    0.000    0.532    0.500
    CSN9              0.938    0.075   12.535    0.000    0.730    0.574
  CMV =~                                                                
    EXT1              1.000                               0.815    0.666
    EXT2              1.074    0.091   11.863    0.000    0.875    0.683
    EXT3              1.112    0.159    7.001    0.000    0.907    0.749
    EXT4              0.992    0.090   11.067    0.000    0.809    0.679
    EXT5              1.194    0.108   11.064    0.000    0.974    0.798
    EXT7              1.253    0.069   18.133    0.000    1.021    0.725
    EXT8              0.733    0.109    6.706    0.000    0.597    0.481
    EXT9              0.857    0.105    8.136    0.000    0.698    0.529
    EXT10             1.010    0.088   11.446    0.000    0.824    0.641
    AGR1              0.047    0.142    0.328    0.743    0.038    0.030
    AGR2              0.579    0.173    3.336    0.001    0.472    0.397
    AGR4             -0.144    0.167   -0.859    0.390   -0.117   -0.105
    AGR5              0.154    0.143    1.075    0.282    0.125    0.116
    AGR6             -0.156    0.161   -0.971    0.332   -0.127   -0.112
    AGR7              0.581    0.178    3.270    0.001    0.474    0.421
    AGR8              0.224    0.123    1.820    0.069    0.183    0.178
    AGR9             -0.043    0.145   -0.299    0.765   -0.035   -0.033
    AGR10             0.540    0.137    3.935    0.000    0.440    0.436
    CSN1             -0.109    0.143   -0.761    0.446   -0.089   -0.077
    CSN2             -0.289    0.150   -1.931    0.054   -0.235   -0.175
    CSN3             -0.064    0.114   -0.561    0.575   -0.052   -0.052
    CSN4              0.041    0.166    0.246    0.806    0.033    0.027
    CSN5              0.009    0.132    0.065    0.948    0.007    0.005
    CSN6             -0.307    0.181   -1.694    0.090   -0.251   -0.180
    CSN7             -0.206    0.132   -1.555    0.120   -0.168   -0.151
    CSN8              0.102    0.137    0.741    0.459    0.083    0.078
    CSN9              0.016    0.151    0.107    0.915    0.013    0.010
    EST1             -0.063    0.167   -0.375    0.708   -0.051   -0.040
    EST2              0.136    0.109    1.248    0.212    0.110    0.093
    EST3             -0.103    0.165   -0.625    0.532   -0.084   -0.075
    EST5              0.117    0.125    0.932    0.351    0.095    0.076
    EST6              0.002    0.158    0.010    0.992    0.001    0.001
    EST7             -0.253    0.239   -1.058    0.290   -0.206   -0.169
    EST8             -0.216    0.243   -0.888    0.375   -0.176   -0.140
    EST9              0.159    0.136    1.168    0.243    0.129    0.106
    EST10             0.331    0.135    2.462    0.014    0.270    0.207
    OPN1             -0.025    0.150   -0.169    0.866   -0.021   -0.018
    OPN2              0.042    0.127    0.332    0.740    0.034    0.033
    OPN3             -0.088    0.110   -0.799    0.424   -0.072   -0.070
    OPN5              0.208    0.139    1.499    0.134    0.170    0.185
    OPN6             -0.012    0.116   -0.102    0.919   -0.010   -0.009
    OPN7              0.146    0.126    1.156    0.248    0.119    0.133
    OPN8             -0.140    0.135   -1.036    0.300   -0.114   -0.093
    OPN9             -0.074    0.103   -0.723    0.470   -0.060   -0.062
    OPN10             0.035    0.138    0.250    0.802    0.028    0.029

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  EXTRA ~~                                                              
    AGREE            -0.096    0.036   -2.692    0.007   -0.342   -0.342
    EMO              -0.089    0.050   -1.782    0.075   -0.228   -0.228
    OPEN             -0.013    0.025   -0.534    0.594   -0.048   -0.048
    CON              -0.060    0.042   -1.440    0.150   -0.170   -0.170
    CMV              -0.063    0.081   -0.783    0.434   -0.171   -0.171
  AGREE ~~                                                              
    EMO              -0.003    0.057   -0.059    0.953   -0.006   -0.006
    OPEN              0.068    0.040    1.712    0.087    0.186    0.186
    CON               0.085    0.047    1.818    0.069    0.177    0.177
    CMV               0.239    0.046    5.185    0.000    0.476    0.476
  EMO ~~                                                                
    OPEN              0.040    0.042    0.957    0.338    0.079    0.079
    CON               0.229    0.050    4.542    0.000    0.343    0.343
    CMV               0.250    0.066    3.810    0.000    0.358    0.358
  OPEN ~~                                                               
    CON               0.058    0.044    1.308    0.191    0.125    0.125
    CMV               0.098    0.069    1.412    0.158    0.202    0.202
  CON ~~                                                                
    CMV               0.185    0.072    2.576    0.010    0.291    0.291

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .EXT1              0.754    0.059   12.680    0.000    0.754    0.503
   .EXT2              0.804    0.065   12.443    0.000    0.804    0.489
   .EXT3              0.658    0.084    7.843    0.000    0.658    0.449
   .EXT4              0.537    0.059    9.162    0.000    0.537    0.379
   .EXT5              0.545    0.049   11.184    0.000    0.545    0.366
   .EXT7              0.892    0.080   11.107    0.000    0.892    0.450
   .EXT8              0.907    0.117    7.740    0.000    0.907    0.589
   .EXT9              0.971    0.099    9.763    0.000    0.971    0.556
   .EXT10             0.867    0.081   10.666    0.000    0.867    0.525
   .AGR1              1.207    0.109   11.087    0.000    1.207    0.750
   .AGR2              0.790    0.085    9.293    0.000    0.790    0.561
   .AGR4              0.439    0.079    5.592    0.000    0.439    0.355
   .AGR5              0.708    0.066   10.721    0.000    0.708    0.602
   .AGR6              0.803    0.075   10.670    0.000    0.803    0.621
   .AGR7              0.628    0.056   11.266    0.000    0.628    0.495
   .AGR8              0.664    0.059   11.168    0.000    0.664    0.631
   .AGR9              0.548    0.056    9.726    0.000    0.548    0.474
   .AGR10             0.647    0.059   10.934    0.000    0.647    0.636
   .EST1              0.935    0.080   11.644    0.000    0.935    0.571
   .EST2              1.026    0.077   13.359    0.000    1.026    0.724
   .EST3              0.869    0.070   12.409    0.000    0.869    0.689
   .EST5              1.196    0.075   15.912    0.000    1.196    0.773
   .EST6              0.826    0.067   12.380    0.000    0.826    0.562
   .EST7              0.453    0.059    7.653    0.000    0.453    0.304
   .EST8              0.457    0.065    7.044    0.000    0.457    0.289
   .EST9              0.862    0.067   12.860    0.000    0.862    0.581
   .EST10             0.986    0.074   13.395    0.000    0.986    0.579
   .OPN1              0.964    0.098    9.828    0.000    0.964    0.735
   .OPN2              0.792    0.070   11.309    0.000    0.792    0.750
   .OPN3              0.670    0.085    7.903    0.000    0.670    0.635
   .OPN5              0.413    0.039   10.466    0.000    0.413    0.490
   .OPN6              0.866    0.099    8.780    0.000    0.866    0.696
   .OPN7              0.574    0.048   11.944    0.000    0.574    0.725
   .OPN8              1.181    0.094   12.627    0.000    1.181    0.784
   .OPN9              0.863    0.083   10.424    0.000    0.863    0.894
   .OPN10             0.376    0.051    7.358    0.000    0.376    0.395
   .CSN1              0.774    0.079    9.836    0.000    0.774    0.574
   .CSN2              1.082    0.099   10.961    0.000    1.082    0.595
   .CSN3              0.837    0.072   11.594    0.000    0.837    0.820
   .CSN4              0.817    0.067   12.117    0.000    0.817    0.542
   .CSN5              1.063    0.077   13.728    0.000    1.063    0.646
   .CSN6              0.856    0.089    9.613    0.000    0.856    0.442
   .CSN7              0.850    0.065   13.025    0.000    0.850    0.688
   .CSN8              0.817    0.057   14.298    0.000    0.817    0.721
   .CSN9              1.079    0.077   13.982    0.000    1.079    0.667
    EXTRA             0.207    0.141    1.467    0.142    1.000    1.000
    AGREE             0.380    0.101    3.744    0.000    1.000    1.000
    EMO               0.732    0.104    7.075    0.000    1.000    1.000
    OPEN              0.352    0.098    3.603    0.000    1.000    1.000
    CON               0.606    0.089    6.792    0.000    1.000    1.000
    CMV               0.665    0.203    3.269    0.001    1.000    1.000

R-Square:
                   Estimate
    EXT1              0.497
    EXT2              0.511
    EXT3              0.551
    EXT4              0.621
    EXT5              0.634
    EXT7              0.550
    EXT8              0.411
    EXT9              0.444
    EXT10             0.475
    AGR1              0.250
    AGR2              0.439
    AGR4              0.645
    AGR5              0.398
    AGR6              0.379
    AGR7              0.505
    AGR8              0.369
    AGR9              0.526
    AGR10             0.364
    EST1              0.429
    EST2              0.276
    EST3              0.311
    EST5              0.227
    EST6              0.438
    EST7              0.696
    EST8              0.711
    EST9              0.419
    EST10             0.421
    OPN1              0.265
    OPN2              0.250
    OPN3              0.365
    OPN5              0.510
    OPN6              0.304
    OPN7              0.275
    OPN8              0.216
    OPN9              0.106
    OPN10             0.605
    CSN1              0.426
    CSN2              0.405
    CSN3              0.180
    CSN4              0.458
    CSN5              0.354
    CSN6              0.558
    CSN7              0.312
    CSN8              0.279
    CSN9              0.333

但是,共同方法方差因子上有一些负因子载荷。此外,外向性似乎与 cmv 呈负相关。

这是什么意思?我可以相信拟合统计数据还是我的模型指定错误?

首先,让我澄清一下您对警告信息的误解。它指的是估计参数 的协方差矩阵 (即 vcov(big5_CFA_cmv),从中计算 SEs 作为对角线上的方差),而不是估计本身。估计值之间的冗余可能表明缺乏识别,您可以通过保存模型隐含的协方差矩阵并对其拟合相同的模型来凭经验检查。

MI_COV <- lavInspect(big5_CFA_cmv, "cov.ov")
summary(cfa(model = big5_CFAmodel_cmv,
            sample.cov = MI_COV,
            sample.nobs = nobs(big5_CFA_cmv))

如果您的估计发生变化,则表明您的模型未被识别。如果估计值保持不变,则经验检查是不确定的(即,它可能仍未被识别,但优化器只是找到了相同的局部解决方案,该解决方案似乎足够稳定以停止搜索参数 space;推断收敛的标准并不完美)。

关于你的模型规格,我怀疑它是否被识别,因为你的 CMV 因子(所有指标加载)被允许与特征因子相关(也被允许相关)。这与“方法因素”的定义相矛盾,“方法因素”是关于测量数据的方式,与试图测量的内容无关。即使特征与方法正交,当允许特征 and/or 方法相互关联时,经验识别也会变得脆弱。多特征-多方法 (MTMM) 因此类问题而臭名昭著,许多双因子模型也是如此(通常是一个特征和许多方法,您的模型类似于但相反)。

What does this mean?

您的负(和最正)CMV 负荷并不显着。围绕 0 变化(在两个方向上)与它们为零的原假设一致。更值得注意的是(并且与我上面的关注相关)是 CMV 负载对所有 EXT 指标都很重要,但只有少数其他指标(3 AGR 和 EST 指标)。 CMV 和性状之间的相关性确实使解释变得复杂,使用参考指标也是如此。在您解释任何内容之前,我建议使用 std.lv=TRUE 将所有因子方差固定为 1 并使 CMV 正交:EXTRA + AGREE + EMO + OPEN + CON ~~ 0*CMV.

但是,我仍然预计会出现问题,因为使用相对较小的 500 个样本(按列表删除后为 498 个)估计如此多的模型参数。这不是一个足够大的样本来期望 50*51/2 = 1275 个(协)方差被可靠地估计。