So I ran CFA on an exhaustion measure comprising of three facets which were specified as first-order latent variables. When I added a secon-order latent variable to the model the correlation between one of the first-order factor and second-order factor exceeded 1. I do not know how to proceed now. If the correlation had occured only between two the first-order latent variables this could have been adress more straightforwardly. But I really need there to be a second-order factor.

  • 3
    $\begingroup$ You will have to explain how you calculated a "correlation [which] ... exceeded 1". Most correlation coefficients (Pearson, Spearman) cannot exceed 1. $\endgroup$ – user20637 Jan 19 at 20:36
  • 1
    $\begingroup$ It is not calculated, but estimated because it is between latent variables in a SEM framework. $\endgroup$ – Sandy Jan 19 at 20:59
  • 1
    $\begingroup$ So explain how it was "estimated". The same comment applies, a correlation coefficient cannot exceed 1. $\endgroup$ – user20637 Jan 19 at 21:15
  • $\begingroup$ @user20637 - it's a maximum likelihood estimator, that estimates a whole bunch of model parameters simultaneously. When the model has been fit, you can calculate the implied correlation between variables in the model - one of these implied correlations is >1, usually this means that the model is misspecified. $\endgroup$ – Jeremy Miles Jan 22 at 1:09

welcome to CrossValidated.

This is usually a sign that your model is wrong in some way.

The estimator is trying to maximize the overall fit of the model - if it can do that by pushing a parameter past a boundary, it will do that.

Here's a simple example: Three variables, A, B and C.

A  1
B  0.9   1 
C  0.8   0.1   1
     A   B     C

And the model we want to fit looks like:

 A -> B -> C

What will the model estimates be:

A -> B: 0.9 (matches the data) B -> C: 0.1 (matches the data)

Then the implied correlation between A and C is 0.9 * 0.1 = 0.09 - completely wrong.

It can try to fix this in two ways. It can raise the estimate for the effect between B and C - but this means that the second parameter doesn't match the data. So it tries to spread the error around - it makes both B -> C higher AND A -> B higher. If that pushes A -> B over 1.00, well, it doesn't care, it just cares about the overall global fit.

A parameter out of bounds like that is the model's way of telling you that it is wrong.


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