I am trying to run a third-order factor CFA with TWO second-order factors both of which have TWO first-order factors each. I understand that this model is not directly identified but I have substantive reasons to suggest such a model. Moreover, I have come across articles where similar models were run. Could you please advice on the appropriate syntax to use that would return an output without errors?
For the second-order model, this is the syntax I feel is most reasonable:
Model: f1 by sglse41 sglse42 sglse67 sglse76 sglse100 sglse30 sglse40 sglse55 sglse83 sglse92 sglse97 sglse102; f2 by sglse3 sglse17 sglse25 sglse68 sglse35 sglse58 sglse78 sglse84 sglse94 sglse96 sglse98;
f3 by f1* f2; f3@1; Output: Sampstat standardized mod;
For the third-order model, this is the syntax I feel is most reasonable:
Model: f1 by sglse3 sglse17 sglse25 sglse68; f2 by sglse41 sglse42 sglse67 sglse76 sglse100; f3 by sglse35 sglse58 sglse78 sglse84 sglse94 sglse96 sglse98; f4 by sglse30 sglse40 sglse55 sglse83 sglse92 sglse97 sglse102;
A second-order factor must have a minimum of three first-order factors to be identified unless you place a restriction on the model such as having both factor loadings equal to one. The model with three second-order factors may be identified by borrowing from other parts of the model.
Jiyeon So posted on Monday, May 11, 2015 - 9:56 am
Hi Dr. Muthen,
I am testing similar models (from the case above) and want to see if a CFA model with a single factor on the 3rd order has equivalent or better model fit compared to a 2nd order. Here goes the syntax:
- 3rd order unidimensional model:
Pervasive by SS1 SS2 SS3 SS4; Redundancy by SS6 SS7 SS8; Exhaustion by SS11 SS12 SS13; Tedium by SS14 SS15 SS16;
Perception by pervasive redundancy; Experience by exhaustion tedium;
Fatigue by perception experience;
While the model fit reported in the output for the 3rd order CFA is good, I observed a heywood case, in which one of the standardized factor loadings (fatigue to perception) is over 1.00 (1.01) and the residual variance for that indicator is negative ( - .02). I think this is identification issue caused by the 3rd order factor having only two indicators in the 2nd order. I've tried inserting equality constraint on the two factor loadings from the 3rd order factor to the two 2nd order factors but it doesn't help (and the output actually shows unequal coefficients - so the program seems to not reflect the constraint i've placed).
This is the equality constraint i added to the 3rd order CFA.
fatigue by experience perception (1);
Your advice on this situation would be greatly appreciated! Thank you very much in advance.
To be concrete, if I specify (focusing just on item 6 belonging to factor 2, for instance):
f2 BY i6 (lam6); fHO BY f1 (lamho1) f2 (lamho2) f3 (lamho3); i6 (ve6); f2 (vf2); fHO (vfho);
MODEL CONSTRAINT: NEW (... l6 ...); l6 = SQRT(lam6**2 * vf2) / SQRT( (lam6**2 * vf2) + ve6) ;
... I get (output):
F2 BY i6 1.268 ...
FHO BY F2 0.895 ...
Variances FHO 0.845 ...
Residual Var i6 0.956 ... F2 0.284 ...
New/Addit Param L6 0.569 ...
STDYX Standardiz i6 0.786 ...
I know there’s something missing in the above equation to get from 0.569 to 0.786 (which would be the same in a basic, single-order CFA). This must be trivial, but I’m not figuring it out. Your help would be much appreciated.
I encountered some problems when estimating the correlations between the first-order factor and other observables. Could you please give me some advice?
The model is something like this: F1 by x1-x4; F2 by x5-x9; F3 by x10-x13; WARM by F1* F2 F3; WARM@1;
F1 with a b c d; F2 with a b c d; F3 with a b c d;
In the unstandardized model results, the factor loading of "WARM by F2" is smaller than 1, so I could see the output for the unstandardized results of "F2 with a b c d". However, in the standardized model results, the factor loading of "WARM by F2" is larger than 1, so no results were shown.
Then I tried to add the following constraint (F2@0) to the original model: