2
$\begingroup$

I have run a latent growth curve model in R using lavaan and got the below warning. It would be good to hear suggestions on how to resolve this warning. The full output is below.

Note that I dummy-coded one covariate (i.e., employment). However, removing one of the dummy coded variables (i.e., FTvUN_w0) seems to lead to the error disappearing. However, I would like to avoid this 1) for consistency; as I have several other models where I have it included, and 2) for completeness; so all levels of the dummy coded variable are included.

Warning in lav_model_vcov(lavmodel = lavmodel, lavsamplestats = lavsamplestats,  :
  lavaan WARNING:
    The variance-covariance matrix of the estimated parameters (vcov)
    does not appear to be positive definite! The smallest eigenvalue
    (= 1.563215e-16) is close to zero. This may be a symptom that the
    model is not identified.

Below is the lavaan output:

lavaan 0.6.14 ended normally after 176 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        37

  Number of observations                           423
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Scaled
  Test Statistic                                36.265      38.407
  Degrees of freedom                                33          33
  P-value (Chi-square)                           0.319       0.238
  Scaling correction factor                                  0.944
    Yuan-Bentler correction (Mplus variant)                       

Model Test Baseline Model:

  Test statistic                               262.614     270.880
  Degrees of freedom                                62          62
  P-value                                        0.000       0.000
  Scaling correction factor                                  0.969

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.984       0.974
  Tucker-Lewis Index (TLI)                       0.969       0.951
                                                                  
  Robust Comparative Fit Index (CFI)                         0.975
  Robust Tucker-Lewis Index (TLI)                            0.953

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)              -2079.951   -2079.951
  Scaling correction factor                                  1.020
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)      -2061.819   -2061.819
  Scaling correction factor                                  0.984
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                                4233.902    4233.902
  Bayesian (BIC)                              4383.655    4383.655
  Sample-size adjusted Bayesian (SABIC)       4266.241    4266.241

Root Mean Square Error of Approximation:

  RMSEA                                          0.015       0.020
  90 Percent confidence interval - lower         0.000       0.000
  90 Percent confidence interval - upper         0.040       0.043
  P-value H_0: RMSEA <= 0.050                    0.995       0.988
  P-value H_0: RMSEA >= 0.080                    0.000       0.000
                                                                  
  Robust RMSEA                                               0.019
  90 Percent confidence interval - lower                     0.000
  90 Percent confidence interval - upper                     0.041
  P-value H_0: Robust RMSEA <= 0.050                         0.993
  P-value H_0: Robust RMSEA >= 0.080                         0.000

Standardized Root Mean Square Residual:

  SRMR                                           0.019       0.019

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)
  i =~                                                
    PAL_w0            1.000                           
    PAL_w1            1.000                           
    PAL_w2            1.000                           
    PAL_w3            1.000                           
  s =~                                                
    PAL_w0            0.000                           
    PAL_w1            1.000                           
    PAL_w2            2.000                           
    PAL_w3            3.000                           

Regressions:
                   Estimate  Std.Err  z-value  P(>|z|)
  i ~                                                 
    RTL_pcn_log_z     0.017    0.040    0.423    0.672
    pc1               3.151    3.579    0.880    0.379
    pc2              -2.436    3.515   -0.693    0.488
    pc3               1.787    3.701    0.483    0.629
    pc4               1.627    3.634    0.448    0.654
    pc5               0.219    3.866    0.057    0.955
    pc6              -3.702    4.061   -0.912    0.362
    AGE_w0           -0.044    0.009   -4.730    0.000
    SEX_w0            0.046    0.085    0.539    0.590
    EDU_w0           -0.002    0.031   -0.066    0.947
    FTvRE_w0         -0.048    0.153   -0.318    0.751
    FTvPT_w0         -0.049    0.214   -0.228    0.819
    FTvSE_w0          0.097    0.230    0.422    0.673
    FTvUN_w0          0.047    0.659    0.071    0.943
  s ~                                                 
    RTL_pcn_log_z    -0.006    0.017   -0.361    0.718
    pc1              -1.462    1.521   -0.961    0.336
    pc2               1.282    1.781    0.720    0.471
    pc3              -1.175    1.831   -0.642    0.521
    pc4              -1.675    1.522   -1.101    0.271
    pc5               0.168    1.342    0.125    0.901
    pc6              -0.011    1.624   -0.007    0.995
    AGE_w0            0.002    0.004    0.538    0.591
    SEX_w0           -0.022    0.035   -0.638    0.524
    EDU_w0            0.005    0.014    0.342    0.732
    FTvRE_w0         -0.085    0.084   -1.015    0.310
    FTvPT_w0         -0.041    0.102   -0.400    0.689
    FTvSE_w0         -0.148    0.107   -1.381    0.167
    FTvUN_w0         -0.154    0.222   -0.695    0.487

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)
 .i ~~                                                
   .s                -0.030    0.021   -1.442    0.149

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)
   .PAL_w0            0.000                           
   .PAL_w1            0.000                           
   .PAL_w2            0.000                           
   .PAL_w3            0.000                           
   .i                 7.482    0.677   11.045    0.000
   .s                -0.009    0.298   -0.031    0.975

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)
   .PAL_w0            0.553    0.069    7.982    0.000
   .PAL_w1            0.575    0.044   13.194    0.000
   .PAL_w2            0.503    0.040   12.676    0.000
   .PAL_w3            0.442    0.053    8.320    0.000
   .i                 0.239    0.054    4.449    0.000
   .s                 0.022    0.012    1.861    0.063

Thanks in advance for any help!

$\endgroup$

1 Answer 1

3
$\begingroup$

There's nothing obvious in the output that suggests that you did something wrong.

(It's sort of interesting that your scaled chi-square is higher than your unscaled chi-square, this is pretty unusual, but not a problem.)

Lavaan is warning you that your model might be unidentified. It's not sure, and there's no real way for lavaan to know.

The way to find out is to run the model with a few different sets of starting values. If it converges to the same solution, it's probably identified, if ti doesn't, then it's not identified.

(This is not a lavaan specific problem, so I have edited the question to make it more general, and therefore suitable for CrossValidated.)

Note: You can also run this model as a mixed model using lme4::lmer(), it might be worth trying that to see if you get the same result or warning.

$\endgroup$
4
  • $\begingroup$ Thank you very much, Jeremy! Can I just check whether it could have something to do with the fact that I have predictors of the slope when the slope variance is not significant? $\endgroup$
    – Aepkr
    Sep 26, 2023 at 11:42
  • $\begingroup$ Ah, interesting. Yes, I didn't notice that. It might be. Significance of slope variance is a weird thing because significance is asking if the variance is larger than zero. The variance can't be less than zero, and it would be pretty weird for it to be zero. $\endgroup$ Sep 26, 2023 at 16:42
  • $\begingroup$ I'm now thinking it's due to the low number of participants in the dummy coded group "FTvUN_w0" (i.e., 2 people or 0.47%)- does this sound plausible? This would explain why removing it prevents the error, although perhaps this is not advisable for dummy coded variables (as then these two participants would be assumed to be in the reference category by the model?). Thanks again! $\endgroup$
    – Aepkr
    Sep 26, 2023 at 22:27
  • 1
    $\begingroup$ Yes, that also seems a likely reason (or even the combination of both). $\endgroup$ Sep 27, 2023 at 4:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.