I am performing a simultaneous confirmatory factor analysis to check whether the items of a survey refer to intended separate underlying concepts without cross loading on the concepts. Since I am doing this in the context of a course on SEM, I am also paying attention to how this is estimated by the software. I learned that the model should not be under-identified, where there are more parameters to estimate than there is information available, i.e. the model is more complex than the data. Now what I think is, that my model is under-identified, however, the lavaan package in R has no problem fitting it, and suggests there are even 38 more degrees of freedom. My model looks like this: enter image description here

The variables with an asterisk are ordinal manifest variables which are turned into continuous latent response variables. This is the model specification in R:

TP.cfa <- 'tpeff =~ plcpvcr + plccbrg + plcarcr
             tpfairdis =~  plcvcrp + plcvcrc
            tpfairproc =~  plcrspc + plcfrdc + plcexdc
            cooperation =~ caplcst + widprsn + wevdct'
fit.cfa <- cfa(TP.cfa, data=ESS5BE, ordered=c("plcvcrp","plcvcrc", "plcrspc", "plcfrdc", "plcexdc", "caplcst", "widprsn", "wevdct"))
summary(fit.cfa, fit.measures=TRUE, modin=T)

If I count correctly there are 25 pieces of information available: 3 for the 3 continuous manifest variables {k(k+1)/2}, and 22 proportions for the ordinal manifest variables (6 of these have 4 response categories, 2 have 3 categories, and for one ordinal variable c-1 proportions are unique information).

Lavaan estimates 53 parameters: 6 covariances, 7 factor loadings, 3 intercepts, 22 thresholds and 15 variances.

Now my question is, would R be able to estimate the model, even if it is under-identified? Or do I really have an over-identified model, with 38 degrees of freedom, and then where do these come from?


you always need more pieces of information than number of free parameters. If they are equal, then your model is merely a description of your data. pieces of info = (p(p-1))/2. amount of free parameters = m+pm-((m(m+1))\2). p = items, m = factors in your model.

| cite | improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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