In a reflective measurement model, the number of degrees of freedom is calculated according to the number of information (covariances / variances) minus the number of parameters to be estimated (factor loadings, variance of the latent factor, error variances of the manifest variables).

See Eoin's example below. Here I have 7 parameters to estimate (3 factor loadings, 3 error variances, variance of the latent variable) but only 6 pieces of information (3 covariances, 3 variances). Therefore, I fix a factor loading to 1 and my model is just so identified.

6 - 6 = 0 degrees of freedom.

Now if I look at my code and the formative right model. Then Lavaan shows me -3 degrees of freedom.

modUU <- '
    # Measurment Model
    AB <~  AB1 + AB2 + AB3'

fit1 <- cfa(modUU, df)


How do these -3 degrees of freedom come about? What information do I have? Which do I estimate?

Apparently the 6 covariances are not used in this case, because I am estimating a maximum of 4 values, right? So it should actually be overidentified in this case.

I would appreciate some feedback.

enter image description here


1 Answer 1


In the reflective measurement model, you have three covariances, and you are estimating three loading, so zero degrees of freedom.

In the formative measurement model you are estimating three 'loadings', and three covariances between the three measured variables, so 6 parameters, hence -3 df.

To identify the model, you need a path coming out of the 'Need for Support' latent to another variable. If you add some constraints, you will have zero degrees of freedom. But in that case the latent variable won't be doing anything - you can remove it and have the predictors pointing directly to the outcome, and you have a regular regression model.

Alternatively you could fix the covariances between the measured variables to be zero. This will almost certainly be wrong and make your model fit very poor.

To over-identify the model, you need two paths coming out of the latent variable.

  • $\begingroup$ 1. reflexive measurement model. We have learned it as described above. We estimate 7 parameters, we have 6 available, so we need to restrict one parameter to saturate the model. 2. formative measurement model. The parameters we have are the concrete values of the three variables? And we estimate the covariances and loadings/weights. But we would have the covariances by now, why do we need to estimate them? A composite variable is simply formed. Latent variable = X1*weight + X2*weight + X3*weight. Actually, we only have to estimate the weights. $\endgroup$
    – user380073
    Mar 12, 2023 at 10:41
  • $\begingroup$ 3. In my actual model, the composite variable predicts two more variables. It is still not identified. (It is also predicted by two other variables, which is not allowed in formative measurement models, but that should not affect the identification, should it? Maybe you can have a look at my example. If so, I would be very grateful. stackoverflow.com/questions/75677905/… $\endgroup$
    – user380073
    Mar 12, 2023 at 10:41
  • $\begingroup$ 1. There are covariances between the variables in the formative measurement model. 3 (?) That code uses functions I'm not familiar with. $\endgroup$ Mar 12, 2023 at 14:42
  • $\begingroup$ It is still not clear to me. With the formative model I have: 3 covariances between Low Mood, Anxiety, Bad Sleep - 6 (3 loadings of Low Mood, Anxiety, Bad Sleep + 3 ????) = - 3 df. It seems implausible to me that behind the question marks are again the 3 covariances between the variables. I'm a little confused. $\endgroup$
    – user380073
    Mar 12, 2023 at 20:34
  • $\begingroup$ Three covariances between low mood, sleep and anxiety are also estimated in the model (and not shown in your path diagram). If they're not there, then all the variables correlate 0, and that seems very unlikely to be correct (and therefore very unlikely to fit). $\endgroup$ Mar 13, 2023 at 16:38

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.