Solved – lavaan WARNING: could not compute standard errors!

confirmatory-factorerrorlavaanr

I have a problem. I use r package "lavaan" to make confirmatory analysis.
I run the following code:

   adhd.model <- ' F1 =~ V1 + V2 + V3+V4+V5+V6+V7+V8+V9
    F2 =~ V10+V11+V12+V13+V14+V15+V16+V17+V18
    G =~ V1 + V2 + V3+V4+V5+V6+V7+V8+V9+V10+V11+V12+V13+V14+V15+V16+V17+V18'
    fit <- cfa(adhd.model, data=dataset,std.lv=TRUE)

But as an output I get an error:

Warning message:
In lav_model_vcov(lavmodel = lavmodel, lavsamplestats = lavsamplestats, :
lavaan WARNING: could not compute standard errors!
lavaan NOTE: this may be a symptom that the model is not identified.

My output looks like this:

lavaan (0.5-18) converged normally after 162 iterations

  Number of observations                           804

  Estimator                                         ML
  Minimum Function Test Statistic              602.032
  Degrees of freedom                               114
  P-value (Chi-square)                           0.000

Model test baseline model:

  Minimum Function Test Statistic            12752.466
  Degrees of freedom                               153
  P-value                                        0.000

User model versus baseline model:

  Comparative Fit Index (CFI)                    0.961
  Tucker-Lewis Index (TLI)                       0.948

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -15843.727
  Loglikelihood unrestricted model (H1)     -15542.711

  Number of free parameters                         57
  Akaike (AIC)                               31801.454
  Bayesian (BIC)                             32068.761
  Sample-size adjusted Bayesian (BIC)        31887.754

Root Mean Square Error of Approximation:

  RMSEA                                          0.073
  90 Percent Confidence Interval          0.067  0.079
  P-value RMSEA <= 0.05                          0.000

Standardized Root Mean Square Residual:

  SRMR                                           0.027

Parameter estimates:

  Information                                 Expected
  Standard Errors                             Standard

                   Estimate  Std.err  Z-value  P(>|z|)
Latent variables:
  F1 =~
    V1                2.069
    V2                3.388
    V3                1.595
    V4                0.868
    V5                0.866
    V6                1.618
    V7               -0.766
    V8               -0.295
    V9                2.729
  F2 =~
    V10               1.731
    V11               1.484
    V12               1.542
    V13               1.462
    V14               1.653
    V15               1.252
    V16               1.070
    V17               1.286
    V18               1.425
  G =~
    V1                1.193
    V2                2.453
    V3                0.687
    V4               -0.095
    V5               -0.148
    V6                0.754
    V7               -1.645
    V8               -1.044
    V9                1.679
    V10               0.871
    V11               0.835
    V12               0.803
    V13               0.583
    V14               0.707
    V15               0.296
    V16               0.340
    V17               0.547
    V18               0.636

Covariances:
  F1 ~~
    F2                0.970
    G                -0.989
  F2 ~~
    G                -0.956

Variances:
    V1                0.447
    V2                0.232
    V3                0.388
    V4                0.319
    V5                0.378
    V6                0.411
    V7                0.301
    V8                0.528
    V9                0.248
    V10               0.410
    V11               0.406
    V12               0.554
    V13               0.404
    V14               0.312
    V15               0.476
    V16               0.472
    V17               0.411
    V18               0.490
    F1                1.000
    F2                1.000
    G                 1.000

Could you please help me to get rid of this error?

Best Answer

If I understand your model correctly, you are trying to fit a bifactor model: There is a "general" factor G that is assumed to underlie all the manifest variables, and there are "specific" factors, F1 and F2, each one explaining variance in a subdomain of items. One important aspect of bifactor model is: All factors (general and specific) must be orthogonal to each other.

"A bifactor structural model specifies that the covariance among a set of item responses can be accounted for by a single general factor that reflects the common variance running among all scale items and group factors that reflect additional common variance among clusters of items, typically, with highly similar content. It is assumed that the general and group factors all are orthogonal." (Reise, 2012, p. 668)

I am not familiar with your data and your model so I cannot evaluate what is going on. However, there is one thing can be said for sure based on the information you provided:

Your code allows factors to be correlated to each other; this leads your model to be non-identified. Function cfa in lavaan permits latent factors to be correlated by default: If you enter ?cfa in your R console, you will find that cfa sets orthogonal = FALSE.

Assuming the bifactor model is appropriate for your data, the easiest way to solve your issue is to add orthogonal = TRUE to your code:

fit <- cfa(adhd.model, data=dataset, std.lv=TRUE, orthogonal=TRUE)

[There are other ways to force factors to be orthogonal via lavaan syntax.]

Reise, Steven P. (2012). "The rediscovery of bifactor measurement models." Multivariate Behavioral Research 47 (5): 667-696.