identification in second-order model

481 views
Skip to first unread message

Julia X

unread,
Nov 16, 2020, 8:29:12 AM11/16/20
to lavaan

Hi all,

I have the following second-order model:

Three first-order latent variables, each measured by three indicators. One second-order variable. Regarding Chen et al. (2005) such a model is just-identified. Therefore, correct testing is not possible.

However, I've seen some articles, in which models having the same structure were tested. When I tried this, using my data, it worked as well. Moreover, R showed, that there were definetly more than 0 degrees of freedom. Now I'm a bit confused. It it possible that this model is LOCALLY just-identified (for the second-order part), but not globally, and thus R/lavaan shows results and "enough" df though?

Actually I wanted to use this model (one second-order factor, three first-order factors, each with three indicators) and test it for invariance. But I am not sure, whether this is appropriate from a statistical point of view or not.

Thank you for your support!

Terrence Jorgensen

unread,
Nov 16, 2020, 10:16:31 AM11/16/20
to lavaan
Therefore, correct testing is not possible.

well, testing is not possible period with df=0
 
R showed, that there were definetly more than 0 degrees of freedom. Now I'm a bit confused.

Only a first-order CFA with 3 variables has df=0.  With multiple factors, you have df>0 because there are fewer factor correlations than correlations between indicators of different factors.

However, your second-order factor is just-identified and lonely, so that model is statistically equivalent to a first-order CFA without the higher-order factor.  So you still can't test the H0 of a second-order factor structure, unless you make a bolder claim, such as tau-equivalence (equal loadings) or parallel items (equal loadings & residual variances), or ...
 
Actually I wanted to use this model (one second-order factor, three first-order factors, each with three indicators) and test it for invariance. But I am not sure, whether this is appropriate from a statistical point of view or not.

Yes,  invariance of second-order measurement parameters is still testable because it places more than minimal identification constraints,

Terrence D. Jorgensen
Assistant Professor, Methods and Statistics
Research Institute for Child Development and Education, the University of Amsterdam

Julia X

unread,
Nov 16, 2020, 11:45:52 AM11/16/20
to lav...@googlegroups.com
Thank you very very much, Terrence!

Just to get sure that I understand you correctly.

model <- '
factor1 =~ x1+x2+x3
factor2 =~ x4+x5+x6
factor3 =~ x7+x8+x9
higherorderfactor =~ factor1+factor2+factor3'


This model is just-identified. Therefore, I need to make constraints, for example same factor loadings:

model <- '
factor1 =~ same*x1+ same* x2+ same* x3
factor2 =~ same* x4+ same* x5+ same* x6
factor3 =~ same* x7+ same* x8+ same* x9
higherorderfactor =~ factor1+factor2+factor3'


--
You received this message because you are subscribed to the Google Groups "lavaan" group.
To unsubscribe from this group and stop receiving emails from it, send an email to lavaan+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/lavaan/f9683ccc-56bc-447a-a0ad-85f7cc745fd5n%40googlegroups.com.

Julia X

unread,
Nov 16, 2020, 11:52:01 AM11/16/20
to lav...@googlegroups.com
Thank you very very much, Terrence!

Just to get sure that I understand you correctly.

model <- '
factor1 =~ x1+x2+x3
factor2 =~ x4+x5+x6
factor3 =~ x7+x8+x9
higherorderfactor =~ factor1+factor2+factor3'


This model is just-identified. Therefore, I need to make constraints, for example same factor loadings:

model <- '
factor1 =~ same*x1+ same* x2+ same* x3
factor2 =~ same* x4+ same* x5+ same* x6
factor3 =~ same* x7+ same* x8+ same* x9
higherorderfactor =~ factor1+factor2+factor3'

(After doint this, every factor loading (between first-order factors and indicators) is 1.
The results I get then (using the cfa or sem command function and summary) are the fit results for my second-order model. I can compare these results to the previous three-factor model (without the second-order factor), right?

However, for my invariance testing I should not use these constraints, but use


model <- '
factor1 =~ x1+x2+x3
factor2 =~ x4+x5+x6
factor3 =~ x7+x8+x9
higherorderfactor =~ factor1+factor2+factor3'


and then make the specifications that I need for my invariance testings, right?

Am Mo., 16. Nov. 2020 um 16:16 Uhr schrieb Terrence Jorgensen <tjorge...@gmail.com>:

Julia X

unread,
Nov 16, 2020, 11:56:24 AM11/16/20
to lav...@googlegroups.com
@everyone:

If someone has reliable information (i.e. articles) on invariance testing for second-order models, I would be grateful if you could post it. I read about very different strategies and now I'm not sure which one is the right one. If someone has a reliable source *with R codes*, that would be even more fantastic.

balal izanloo

unread,
Nov 16, 2020, 12:17:21 PM11/16/20
to lav...@googlegroups.com
Hi
Attached article is related to identification of bifactor model. HTh
Best Regards


jintelligence-06-00042.pdf

Terrence Jorgensen

unread,
Nov 17, 2020, 8:54:02 AM11/17/20
to lavaan
model <- '
factor1 =~ x1+x2+x3
factor2 =~ x4+x5+x6
factor3 =~ x7+x8+x9
higherorderfactor =~ factor1+factor2+factor3'

This model is just-identified. Therefore, I need to make constraints, for example same factor loadings:
 
No, there are plenty of degrees of freedom.  As I explained in my previous post, this model is statistically equivalent to a first-order CFA model:

model <- '
factor1 =~ x1+x2+x3
factor2 =~ x4+x5+x6
factor3 =~ x7+x8+x9 '

And you don't need to make arbitrary constraints unless they represent actual hypotheses you want to test.  Tau-equivalence and parallel indicators were examples, not instructions, and I was only referring to the higher-order factor's loadings and residual variances, not the first-order measurement model (whose fit is already testable).

> If someone has reliable information (i.e. articles) on invariance testing for second-order models, I would be grateful if you could post it.

Here are 2 tutorials with different approaches (both valid):


Julia X

unread,
Nov 18, 2020, 5:46:53 AM11/18/20
to lav...@googlegroups.com
Thank you very much again!

Am Di., 17. Nov. 2020 um 14:54 Uhr schrieb Terrence Jorgensen <tjorge...@gmail.com>:
model <- '
factor1 =~ x1+x2+x3
factor2 =~ x4+x5+x6
factor3 =~ x7+x8+x9
higherorderfactor =~ factor1+factor2+factor3'

This model is just-identified. Therefore, I need to make constraints, for example same factor loadings:
 
No, there are plenty of degrees of freedom.  As I explained in my previous post, this model is statistically equivalent to a first-order CFA model:

Sorry.  I was imprecise here. What I meant is that the isolated second-order factor model is just-identified.

Well, I designed a new questionnaire. I found three factors and the three-order model fits - fine. However, from a theoretical point of view it makes sense to assume that there is a higher-order factor. Now you said this second-order model is statistically equivalent to the first-order model. Maybe I should get sure that I understand "statistically equivalent" correctly. It has the same degrees of freedom. But does this mean that this additional information in my syntax (that there is the higher-order factor) is not considered and therefore I do not really get any additional information?

If yes, I am confused (as I am obviously most of the time and I'm sorry for that) because when I require the summary command, I get information on the factor loadings between the higher-order and the first-order factors.And initially I thought it would make sense to report this information in my article. But I am not sure anymore if this information is useful after if I reported the three-factor model information at all.

When I require information on the fit statistics, these are the same as for the three-factor model (which makes sense to me, because the second-order part is just-identified and therefore not tested).

However, for me it is actually important to find out whether my theoretical assumption that there is a higher-order factor holds. As you said, arbitrary constraints should not be made. But to be honest, I don't know what else to do. What I would do now is to make the constraint that all factor loadings need to be the same (higherorderfactor =~ same*factor1+same*factor2+same*factor3' ) which would also be quite plausible from a theoretical perspective because each of the first-order factors has the same importance in my model. I think the alternative would be to report my second-order factor assumption and to mention that the second-order part is not identified and therefore I cannot test it...


Terrence Jorgensen

unread,
Nov 18, 2020, 7:14:48 AM11/18/20
to lavaan
for me it is actually important to find out whether my theoretical assumption that there is a higher-order factor holds. As you said, arbitrary constraints should not be made. But to be honest, I don't know what else to do. 

You can still test invariance of those parameters across groups.  But to test the higher-order factor's ability to reproduce covariances among the 3 latent indicators, you need more than 3 indicators of the higher-order factor.
Reply all
Reply to author
Forward
0 new messages