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 2ndorder. Are there any problems with the syntax below? grouping=gender (0=male 1=female); analysis: type=mgroup; model: f1 by x1x4; f2 by y1y4; f3 by f1 f2; model male; !freely estimated f1 by x2x4; f2 by y2y4; 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 groupspecific 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 x1x3; B by x4x6; C by x7x9; 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 x1x3; B by x4x6; C by x7x9; 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. 


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. 


Hello, I have a similar situation in that I am running a multigroup analysis with a secondorder 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.418D12. 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? 


The firstorder factor indicator intercepts need to be fixed to zero in all groups for the model to be identified. 


Hello Linda, Thank you very much for your quick reply. After fixing the firstorder 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? 


Just to make sure  you should not fix the intercepts of the observed indicators, but the intercepts of the firstorder factors AE. The intercepts of the observed indicators are held equal across groups as the default. 


Thank you for this clarification. I had misinterpreted and fixed the observed indicator intercepts @0. Fixing the intercepts of the firstorder factors AE does resolve the problem. Thank you both for your help in this issue, I appreciate your assistance. 


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 modelNO 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)? 


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 secondorder 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 secondorder factor mean at zero in both groups. Check TECH1 to see that you get what you want. 


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. 


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. 


Please send the output and your license number to support@statmodel.com. 


Hello Mplusers, I am testing invariance of a secondorder factor model across 3 groups, with the goal of testing for latent mean differences across the higherorder factors. If the firstorder 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 


I would test the invariance of the firstorder factors first and then test the invariance of the higherorder factors. 


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 firstorder 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? 


You would not include the higherorder 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 firstorder factors, then test the secondorder factors. Fixing the intercepts to zero can then be done. 


Your second (nested) model would hold the observed variable intercepts equal and the 1storder factor intercepts still fixed at zero. And fix the 2ndorder factor means at zero in one group and let them be free in other groups. 


Thank you both for your help! 


I am trying to run a multigroup, secondorder 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? 


I think only the 1storder factor loadings are held equal by default, not the secondorder ones. So you have to apply those equalities yourself. Note also that the intercepts should be fixed at zero in the secondorder part. Use TECH1 to see that you get what you want. 


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! 


Please send the output and your license number to support@statmodel.com. 


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; 


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 y1y14 gender; USEVARIABLES ARE y1y14 gender; GROUPING IS gender(0=f 1=m); ANALYSIS: TYPE IS GENERAL; ESTIMATOR IS MLR; ITERATIONS = 1000; CONVERGENCE = 0.00005; MODEL: E BY y1y3; P BY y9y14; S BY y4y8; GF BY E P S; [EGF@0]; model m: E BY y2 y3; P BY y10y14; S BY y5y8; GF BY P S; [y1y144]; 1st order factor coefficient equivalence: VARIABLE: NAMES ARE y1y14 gender; USEVARIABLES ARE y1y14 gender; GROUPING IS gender(0=f 1=m); ANALYSIS: TYPE IS GENERAL; ESTIMATOR IS MLR; ITERATIONS = 1000; CONVERGENCE = 0.00005; MODEL: E BY y1y3; P BY y9y14; S BY y4y8; GF BY ES; [EGF@0]; model m: [y1y14]; Thank you so much for your help, Tina 


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 secondorder 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. 


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 1storder 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 


I would not mention the firstorder factors in the groupspecific MODEL commands only in overall. You have established measurement invariance for them. Just test the secondorder factor as you did the firstorder factors. 


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 firstorder factors) Do you know what the problem might be and how I should fix this? Thanks in advance. 


Check TECH4. If you can't see the problem, send the output and your license number to support@statmodel.com. 


Hi Profs, I'm running measurement invariance with a 3level 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); 


Intercepts of the indicators of the 2nd and 3rd order factors need to be fixed at zero in all groups. 

Back to top 