I am trying to estimate a "typical" intelligence model with three latent factors (the intelligence domains PS, WM and Gf) two of which have two indicators and one of which has four indicators. Together, those three factors define a second-order factor of intelligence; g. I expect the intelligence domains to correlate because their correlation gives rise to the common factor g. The model (n = ~1050) converges and has acceptable fit indices when I don't specify correlations between the intelligence domains. But when I try to let them covary, it gives me the following error:
Could not compute standard errors! The information matrix could not be inverted. This may be a symptom that the model is not identified.
Kline (2016) writes that in a model with a second-order factor, there need to be at least three first-order factors with a minimum of two indicators. This is all given, but still, my models seems to be underidentified. How can I solve this? What else could be the problem here?
Here's the error-inducing model I ran in lavaan (R):
model.1.relaxed <- '
PS =~ NA*zst_rw + ss_rw
WM =~ NA*bzf_rw + zn_seq_rw + zn_vw_rw + zn_rw_rw
Gf =~ NA*mz_rw + fw_rw
g =~ NA*PS + WM + Gf
PS ~~ 1*PS
WM ~~ 1*WM
Gf ~~ 1*Gf
g ~~ 1*g
zn_vw_rw ~~ zn_rw_rw
zn_seq_rw ~~ zn_rw_rw
zn_seq_rw ~~ zn_vw_rw
WM ~~ Gf
PS ~~ Gf
WM ~~ PS
g ~ agedec
'
#analyze model
model.1.relaxed.fit <- sem(model=model.1.relaxed, data=data, estimator="mlm", orthogonal=FALSE)
Many thanks for your thoughts!