Melvin Chan posted on Friday, November 09, 2007 - 4:44 am
I am interested in running a multigroup group analysis with a 2nd order factor. Would appreciate any help as I am not very familiar with the syntax for the 2nd-order. Are there any problems with the syntax below?
grouping=gender (0=male 1=female); analysis: type=mgroup; model: f1 by x1-x4; f2 by y1-y4; f3 by f1 f2;
model male; !freely estimated f1 by x2-x4; f2 by y2-y4; f3 by f1 f2; !should I remove f1?
A second order factor with only two indicators is not identified. If it were, you would remove f1 in the group-specific model.
Melvin Chan posted on Tuesday, November 13, 2007 - 10:01 pm
Thanks for your response to my earlier post. I'm been trying to test for invariance based on the procedures in the UG (4.1) and have met some difficulties. I've used the syntax below for equal constraints for factor loadings (procedure 2) and equal constraints for loadings and intercepts (procedure 3).
!Testing for equal loadings. Analysis: type=general; model: A by x1-x3; B by x4-x6; C by x7-x9; D by A B C;
Do I need to specify [A@0B@0C@0D@0] for both groups since it's stated that factor means should be fixed to zero in both groups?
!Testing for equal loadings and intercepts Analysis: type=meanstructure; model: A by x1-x3; B by x4-x6; C by x7-x9; D by A B C;
Mplus indicated that the standard errors could not be computed, model may not be identified. However, this was not a problem when I took away D (the 2nd order) and ran only the first order factor. I'm wondering what the problem might be and whether my syntax for this procedure is wrong. I'm quite puzzled by this because the fit indices that I obtained for procedure 1 and 2 were quite similar, and the mod indices for the earlier models did not come up with strong patterns of strain.
Hello, I have a similar situation in that I am running a multi-group analysis with a second-order factor. The measurement model estimates normally when I do not take grouping into account. However, when I specify for the model to constrain each group to be equal, I obtain the following:
THE MODEL ESTIMATION TERMINATED NORMALLY
THE STANDARD ERRORS OF THE MODEL PARAMETER ESTIMATES COULD NOT BE COMPUTED. THE MODEL MAY NOT BE IDENTIFIED. CHECK YOUR MODEL. PROBLEM INVOLVING PARAMETER 95.
THE CONDITION NUMBER IS -0.418D-12.
The model I specified appears below:
GROUPING IS Group (1=Research 2=Applicant); MODEL: A by x1 x2 x3 x4; B by x5 x6 x7 x8; C by x9 x10 x11 x12; D by x13 x14 x15 x16 x17; E by x18 x19 x20 x21; F by A B C D E; ANALYSIS: TYPE IS GENERAL; ESTIMATOR IS ML; ITERATIONS = 1000; CONVERGENCE = 0.00005;
Do you notice any areas in this specified model that may lead to the message I received? If not, could you offer any other suggestions?
Hello Linda, Thank you very much for your quick reply. After fixing the first-order factor indicator intercepts to zero in both groups, I still receive the same error message with a slight variation: the problem now involves parameter 74.
Do you have any ther suggestions concerning this issue?
Hello, I am tying to cross validate a second order CFA with four first order and one second order factor. I am having trouble with the syntax to constrain factor loadings and intercepts. Below is an example of my model for (1)no invariance constraints and to (2)constrain factor loadings. Do these look correct?
title: Second order four factor model-NO INVARIANCE CONSTRAINTS (step 1); model: fc by f1 f6 f11 f16; cf by f3 f8 f13 f18; au by f4 f14; lf by f5 f10 f15 f20; su by fc cf au lf; f18 with f13; f4 with f1; [fc@0cf@0au@0lf@0]; model g2: fc by f6 f11 f16; cf by f8 f13 f18; au by f14; lf by f10 f15 f20; su by cf au lf;
title: Constrain factor loadings (step 2) model: fc by f1 f6 f11 f16; cf by f3 f8 f13 f18; au by f4 f14; lf by f5 f10 f15 f20; su by fc cf au lf; f18 with f13; f4 with f1; [fc@0cf@0au@0lf@0]; analysis: estimator=mlm; output: standardized;
How do I constrain loadings and intercepts at the same time (step3)?
Note that in Step 1 you are by default constraining the means of the observed indicators because they are held group invariant by default, with the second-order factor mean free in one group. I am not sure that's what you wanted. You can avoid it by mentioning the indicator means in both groups and fixing the second-order factor mean at zero in both groups. Check TECH1 to see that you get what you want.
I am testing invariance of a second-order factor model across 3 groups, with the goal of testing for latent mean differences across the higher-order factors.
If the first-order factor indicator intercepts need to be fixed to zero in all groups for the model to be identified, how can I then test for invariance of the intercepts, which I believe is a prerequisite for testing differences in the latent means?
That sounds like a good plan, but I'm not sure how to deal with it in nested models.
If my baseline model (for configural invariance) with all other parameters free in both groups has the first-order factor indicator intercepts fixed to zero, the model with the intercepts fixed to be equal would not be nested and the difference in degrees of freedom would be 0.
You would not include the higher-order factors in the model in the first step. The steps to do this are shown in the Topic 1 course handout on the website. Once you have established measurement invariance for the first-order factors, then test the second-order factors. Fixing the intercepts to zero can then be done.
Your second (nested) model would hold the observed variable intercepts equal and the 1st-order factor intercepts still fixed at zero. And fix the 2nd-order factor means at zero in one group and let them be free in other groups.
I am trying to run a multigroup, second-order CFA. I've tested factor and intercept invariance of the first order factors. I'd like to do the same with the second order factor loadings. I'm using the following commands.
GROUPING IS agegrp (0 = younger 1 = older); ANALYSIS: ESTIMATOR = ML; MODEL: f1 BY V1 V2 V3; f2 BY V4 V5 V6; f3 BY V7 V8; V3 WITH V7; FACTOR BY f1 f2 f3; [f1@0f2@0f3@0];
I thought I understood that the mplus default was to fix factor loadings across groups but the unstandardized f2 and f3 loadings on FACTOR are not constrained in the results. Could you help me understand my mistake?
I think only the 1st-order factor loadings are held equal by default, not the second-order ones. So you have to apply those equalities yourself. Note also that the intercepts should be fixed at zero in the second-order part. Use TECH1 to see that you get what you want.