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.
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!
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"
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;
E BY y1-y3; P BY y9-y14; S BY y4-y8; GF BY E-S; [E-GF@0];
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;
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.
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?
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?
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;