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 '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 '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 '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 '19 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.

| cite | improve this answer | |

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