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. 

Back to top 