Multi group Second order CFA PreviousNext
Mplus Discussion > Confirmatory Factor Analysis >
Message/Author
 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?
 Linda K. Muthen posted on Friday, November 09, 2007 - 5:56 am
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@0 B@0 C@0 D@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.
 Linda K. Muthen posted on Wednesday, November 14, 2007 - 6:10 am
When intercepts are not in the model or are constrained to be equal across classes, factor means are not fixed to zero in all groups.

Please send your input, data, output, and license number to support@statmodel.com for the other question.
 Robert Stewart posted on Thursday, December 16, 2010 - 10:10 am
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?
 Linda K. Muthen posted on Thursday, December 16, 2010 - 10:32 am
The first-order factor indicator intercepts need to be fixed to zero in all groups for the model to be identified.
 Robert Stewart posted on Thursday, December 16, 2010 - 11:50 am
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?
 Bengt O. Muthen posted on Thursday, December 16, 2010 - 12:12 pm
Just to make sure - you should not fix the intercepts of the observed indicators, but the intercepts of the first-order factors A-E.

The intercepts of the observed indicators are held equal across groups as the default.
 Robert Stewart posted on Thursday, December 16, 2010 - 12:47 pm
Thank you for this clarification. I had misinterpreted and fixed the observed indicator intercepts @0.
Fixing the intercepts of the first-order factors A-E does resolve the problem.

Thank you both for your help in this issue, I appreciate your assistance.
 Vandita Vasudevan posted on Monday, June 13, 2011 - 1:03 pm
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@0 cf@0 au@0 lf@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@0 cf@0 au@0 lf@0];
analysis: estimator=mlm;
output: standardized;

How do I constrain loadings and intercepts at the same time (step3)?
 Bengt O. Muthen posted on Tuesday, June 14, 2011 - 6:06 pm
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.
 Vandita Vasudevan posted on Thursday, June 16, 2011 - 11:17 am
Thank you so much for your response.
 Stata posted on Monday, June 11, 2012 - 8:21 pm
Dr. Muthen,

I am confused with 2nd order MCFA.Will you please let me know if there's any problems with the following syntax?

!Without constraint~

Model:

F1 by a1 a2;
F2 by b1 b2;
F3 by c1 c2;
F4 by d1 d2;
G by F1 F2 F3 F4;

Model G1:
G by F2 F3 F4;
[F1@0 F2@0 F3@0 F4@0];
Model G2:

!constraint factor loading;

Model G1:
[F1@0 F2@0 F3@0 F4@0];
Model G2:


Your comments/suggestions are highly appreciated.
 Bengt O. Muthen posted on Monday, June 11, 2012 - 9:17 pm
I see that you haven't made the factors uncorrelated. To see more than that, we need to see the whole output - send to Support.
 Stata posted on Tuesday, June 12, 2012 - 1:56 pm
Dr. Muthen,

Thanks so much for the response. I tried to follow your comment on 6/14/2011 above.

When running only the no invariance constraint, it seems to work. But the degree of freedom (i.e., 54)is way off if running groups separately (i.e., df=23 each).

Model:

F1 by a1 a2;
F2 by b1 b2;
F3 by c1 c2;
F4 by d1 d2;
Factor by F1 F2 F3 F4;
[F1@0 F2@0 F3@0 F4@0];


Model G1:
F1 by a2;
F2 by b2;
F3 by c2;
F4 by d2;
Factor by F2 F3 F4;
[Factor@0];


Model Gr2:

F1 by a2;
F2 by b2;
F3 by c2;
F4 by d2;
Factor by F2 F3 F4;
[Factor@0];



Thank you.
 Linda K. Muthen posted on Tuesday, June 12, 2012 - 1:57 pm
Please send the output and your license number to support@statmodel.com.
 Diane Putnick posted on Wednesday, July 03, 2013 - 7:53 am
Hello Mplus-ers,

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?

Thanks!
Diane
 Linda K. Muthen posted on Wednesday, July 03, 2013 - 10:34 am
I would test the invariance of the first-order factors first and then test the invariance of the higher-order factors.
 Diane Putnick posted on Wednesday, July 03, 2013 - 11:32 am
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.

Am I misunderstanding something?
 Linda K. Muthen posted on Wednesday, July 03, 2013 - 2:50 pm
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.
 Bengt O. Muthen posted on Wednesday, July 03, 2013 - 2:55 pm
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.
 Diane Putnick posted on Monday, July 08, 2013 - 10:47 am
Thank you both for your help!
 Lauren McGrath posted on Monday, April 06, 2015 - 3:52 pm
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@0 f2@0 f3@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?
 Bengt O. Muthen posted on Monday, April 06, 2015 - 5:08 pm
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.
 Gabriele Senté posted on Friday, December 18, 2015 - 2:37 am
Dear Dr. Muthen,

I am testing measurement invariance across three groups for this second order factor model:

E1 by g1 g2;
E2 by g3 g4;
E3 by g5 g6;
E4 by g7 g8;
M by E1 E2 E3 E4;

However, when I try to test configural measurement invariance, the model is not identified. Could you explain why this is the case? And do you have any recommendations to solve this problem? Unfortunately I do not have any more indicators I could add to the model.
Thank you very much in advance for your help!
 Linda K. Muthen posted on Friday, December 18, 2015 - 5:46 am
Please send the output and your license number to support@statmodel.com.
 ISMAEL GUILLERMO MUÑOZ posted on Friday, March 04, 2016 - 3:10 pm
Hello, I am trying to run a multigroup (15 groups) CFA with a 2nd order factor ( Additionally, I am asking for factor scores). However, I receive a message for NO CONVERGENCE/NONIDENTIFIED MODEL. Here is the syntax I am using. Please, do you notice any problem with the code? The number of groups may be a problem? any suggestions? Many thanks in advance.



"NO CONVERGENCE. NUMBER OF ITERATIONS EXCEEDED.

FACTOR SCORES WILL NOT BE COMPUTED DUE TO NONCONVERGENCE OR
NONIDENTIFIED MODEL"


VARIABLE:
GROUPING IS couyear (361970=aus70 361984=aus84 361995=aus95 362011=aus11
3441984=hon84 3441995=hon95 3442011=hon11 3481970=hun70 3481984=hun84
3481995=hun95 3482011=hun11 3921970=jap70 3921984=jap84 3921995=jap95
3922011=jap11);

ANALYSIS:
TYPE IS GENERAL;
ESTIMATOR = ML;
ESTIMATOR IS ML;
ITERATIONS = 1000;
CONVERGENCE = 0.00005;

MODEL:
scfac BY instime stuxdoc;
tequa BY teacexp teaeduc;
instr BY teastra evastra;

scqua BY scfac tequa instr;

scfac (1)
tequa (2)
instr (3);

[scfac@0 tequa@0 instr@0];
[scfac@0];

OUTPUT:
TECH1

SAVEDATA:
FILE = Data_Score.txt;
SAVE = FSCORES;
 Linda K. Muthen posted on Friday, March 04, 2016 - 5:20 pm
Please send the output and your license number to support@statmodel.com.
 Tina Kavcic posted on Wednesday, February 15, 2017 - 3:28 am
Dear dr. Muthen & dr. Muthen,

I'm trying to run a multigroup analysis with one second order factor and three first order factor. I'm having trouble with the syntax for testing the equality of first and second order factor coefficients at the same time.

I would really appriciate Your help. I've read all the previous posts, but I still don't understand how to do it. Is even the below syntax ok?

Configural equivalence:
VARIABLE:
NAMES ARE y1-y14 gender;
USEVARIABLES ARE y1-y14 gender;
GROUPING IS gender(0=f 1=m);

ANALYSIS:
TYPE IS GENERAL;
ESTIMATOR IS MLR;
ITERATIONS = 1000;
CONVERGENCE = 0.00005;

MODEL:
E BY y1-y3;
P BY y9-y14;
S BY y4-y8;
GF BY E P S;
[E-GF@0];

model m:
E BY y2 y3;
P BY y10-y14;
S BY y5-y8;
GF BY P S;
[y1-y144];

1st order factor coefficient equivalence:
VARIABLE:
NAMES ARE y1-y14 gender;
USEVARIABLES ARE y1-y14 gender;
GROUPING IS gender(0=f 1=m);

ANALYSIS:
TYPE IS GENERAL;
ESTIMATOR IS MLR;
ITERATIONS = 1000;
CONVERGENCE = 0.00005;

MODEL:

E BY y1-y3;
P BY y9-y14;
S BY y4-y8;
GF BY E-S;
[E-GF@0];

model m:
[y1-y14];

Thank you so much for your help,
Tina
 Bengt O. Muthen posted on Wednesday, February 15, 2017 - 11:31 am
You say:

equality of first and second order factor coefficients at the same time.

I assume that by factor coefficients you mean factor loadings and I assume that by equality you mean equality across the 2 groups (and not equality of first- and second-order loadings).

If so, check that your factor means are fixed at zero in both groups.

If this doesn't help, send the outputs to Support along with you license number.
 Sara De Bruyn posted on Friday, March 24, 2017 - 4:48 am
Dear Prof. Muthen,

I'm running a multiple group CFA with one 2nd order factor (stress) and three 1st order factors. I tested configural, metric and scalar invariance in the 1st-order model and these were OK. However, with the 2nd order factor included, it is not clear to me how I should test these invariances. Could you perhaps check if the following syntax is OK?

GROUPING is Master (1= GP 2= DNK 3=Specialist);

ANALYSIS: ESTIMATOR is MLR;

MODEL:
F1 by Q39_2 Q39_3;
F2 by Q39_5 Q39_6;
F3 by Q39_9 Q39_10;
Stress by F1 F2 F3;

MODEL DNK:
F1 by Q39_3;
F2 by Q39_6;
F3 by Q39_10;
Stress by F2 F3;

[F1@0];
[F2@0];
[F3@0];
[Stress@0];

MODEL SPECIALIST:
F1 by Q39_3;
F2 by Q39_6;
F3 by Q39_10;
Stress by F2 F3;

[F1@0];
[F2@0];
[F3@0];
[Stress@0];

To test for metric invariance, I would remove the first block of MODEL DNK and MODEL SPECIALIST. And for scalar invariance, I would remove the last block as well. Is this correct?

Thank you very much for your help.

Kind regards,
Sara
 Linda K. Muthen posted on Friday, March 24, 2017 - 5:38 pm
I would not mention the first-order factors in the group-specific MODEL commands only in overall. You have established measurement invariance for them. Just test the second-order factor as you did the first-order factors.
 Sara De Bruyn posted on Monday, March 27, 2017 - 7:33 am
Dear Prof. Muthen,

Thank you for your helpful answer. However, when I run the syntax, I get following warning:

WARNING: THE LATENT VARIABLE COVARIANCE MATRIX (PSI) IN GROUP HUISARTS
IS NOT POSITIVE DEFINITE. THIS
COULD INDICATE A NEGATIVE VARIANCE/
RESIDUAL VARIANCE FOR A LATENT VARIABLE, A CORRELATION GREATER OR EQUAL
TO ONE BETWEEN TWO LATENT VARIABLES, OR A LINEAR DEPENDENCY AMONG MORE
THAN TWO LATENT VARIABLES. CHECK THE TECH4 OUTPUT FOR MORE INFORMATION.
PROBLEM INVOLVING VARIABLE STRESS_N.

(Stress_N refers to one of the first-order factors)

Do you know what the problem might be and how I should fix this?

Thanks in advance.
 Linda K. Muthen posted on Monday, March 27, 2017 - 6:29 pm
Check TECH4. If you can't see the problem, send the output and your license number to support@statmodel.com.
 Melissa Gordon posted on Monday, July 08, 2019 - 2:41 am
Hi Profs,

I'm running measurement invariance with a 3-level higher order model. I was able to establish configural and metric invariance by using the recommendations above (i.e., first investigating invariance at the lowest levels, then fixing the item intercepts at the lower levels to test invariance at the higher levels). All went well until I got to scalar invariance. With scalar invariance, we hold the loadings/item intercepts/factor means to be equal across both groups, right? In other words, there should be nothing under the model statement for group 2?

When I run this, I'm told that the model may not be identified for group 2. Should I be doing something differently?

Thank you!

Melissa

Model:
BS_SE by BS_SE1B BS_SE2B BS_SE3B;
BS_SA by BS_SA1B BS_SA2B BS_SA3B;
BS_PER by BS_PER1B BS_PER2B BS_PER3B;
BO_SS by BO_SS1B BO_SS2B BO_SS3B;
BO_FC by BO_FC1B BO_FC2B BO_FC3B;
BO_PS by BO_PS1B BO_PS2B BO_PS3B;
EC_ER by EC_ER1B EC_ER2B EC_ER3B;
EC_EM by EC_EM1B EC_EM2B EC_EM3B;
EC_SC by EC_SC1B EC_SC2B EC_SC3B;
EL_OP by EL_OP1B EL_OP2B EL_OP3B;
EL_ZE by EL_ZE1B EL_ZE2B EL_ZE3B;
EL_GR by EL_GR1B EL_GR2B EL_GR3B;

BS by BS_SE BS_SA BS_PER;
BO by BO_SS BO_FC BO_PS;
EC by EC_ER EC_EM EC_SC;
EL by EL_OP EL_ZE EL_GR;

CoVi by BS BO EC EL;

Model Female:

Output: SampStat Standardized Modindices(3.84);
 Bengt O. Muthen posted on Sunday, July 14, 2019 - 11:37 am
Intercepts of the indicators of the 2nd and 3rd order factors need to be fixed at zero in all groups.
Back to top
Add Your Message Here
Post:
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Password:
Options: Enable HTML code in message
Automatically activate URLs in message
Action: