Message/Author 


I've been fitting multiplegroup models to four wave data and come across a couple of problems. (a) If I declare ANALYSIS = MGROUP and use ML estimation, then I get a covariance structureonly model fitted; if however I use MLM or MLMV estimation, then I get a meanandcovariance structure fitted even though the ANALYSIS subcommand is not changed to MEANSTRUCTURE. Is this intentional, or a bug? (b) In fitting a unidimensional secondorder meanstructure multigroup model (with five 1storder factors each containing at least 4 observed measures), I find that the latent mean for the 2ndorder factor (ALPHA parameter) is not identified in one of the waves subsequent to the zerocontrained 1st wave. Before investigating this further with simulated data to see if it is a function of the particular dataset I'm working with, has anyone had similar problems or know that the mean structure of a secondorder factor model is not identified in a multiplegroup context? Thanks for any assistance that can be provided. Yours sincerely, Paul Dudgeon P.S. In LISCOMP, I seem to remember that it was possible to specify 132 column output (rather than 80) and to get more precision in the number of decimal values displayed. I can't find any reference in the MPlus User Guide to these features (but could be blind!). Are they available? Thanks. 

bmuthen posted on Tuesday, July 18, 2000  7:24 am



Regarding (a), this is intentional. The MLM and MLMV estimators use the means. However, having unstructured means in the model does not have any impact on the results. Regarding (b), there are covariances among firstorder factor residuals that are free by default that need to be fixed to zero. Also, check that your firstorder factors have their intercepts in the regressions on the secondorder factor constrained in the way you intend. The LISCOMP features you mention are not currently implemented in Mplus. 

Anonymous posted on Saturday, December 09, 2000  11:04 pm



I've developed a CFA measure I want to use as a predictor of a continuous variable in a multigroup model. I've noticed that when I get my output from Mplus, it tells me that the Rsquared values are undefined for the CFA portion of the model, although the Rsquare for the continuous outcome is very good. Is this an indication that my model is empirically unidentified ? 


If the rsquare values are undefined, there must be negative residual variances for the indicators. 

Anonymous posted on Wednesday, April 03, 2002  9:35 am



I am constructing a multigroup model in Mplus where I'm interested in determining the direct and indirect effects of a set of covariates on a paritular outcome as mediated by a latent variable. The Mplus multigroup option is useful in this context as it allows me to restrict my latent variable measure and outcome parameters (taus) to be equal across groups. When I complete my initial model I find that several of the paths for Group A (males) are very small and not significant, while several of the paths for Group B (females) are. My sense is that I should drop the statistically insignficant paths before estimating a final model. My concern is that by doing this I will no longer be able to compare (unstandardized) effects across models since the male and female models (Group A and Group B models) will be different. However, if I keep the nonsignificant paths in the model, I risk misspecifying the model. Am I interpreting the Mplus multigroup model structure correctly, and is retaining the insignificant paths in the model likely to be a problem ? 


Taking out the nonsignificant paths should not be a problem. Leaving in the significant ones is actually accounting for measurement invariance and makes the comparison across groups OK. Without these direct effects included, measurement invariance would not be accounted for. 

Anonymous posted on Wednesday, April 03, 2002  4:57 pm



Linda, regarding your response on April 03, I'm not sure I understand your response: In my situation, I have not included any direct effects between the covariates and the indicator variables on the latent variable models. My sense is that by restricting the loadings for the latent variable to be equal across group, I am restricting this measure to be the same across both groups. My outcome measure is categorical, and I am restricting the probit thresholds to be equal across groups. My concern is that if my model for Group B (females) contains the variables (for example) age, weight, and height, but I drop the variables age and weight for Group A (males), I will not be unable to determine if the effect of age on outcome variable and on the intermediating latent variable differ across Group A and Group B since my models differ across subgroups. Is this the case in Mplus ? 


I'm afraid I would have to know much more about what you are doing to be able to give an informed answer. I don't believe that the issues you are asking about are related to Mplus in particular but are basic statistical and modeling issues. I thought you had direct effects. You mentioned both direct and indirect in your first message. I see now that you do not. I assume that you are regressing the factors (for which you are holding factor loadings and thresholds equal  the Mplus default) on a set of covariates and seeing that the signficance differs across the groups. It would not be unusual for this to occur. These are not measurement parameters so have nothing to do with invariance. It doesn't seem to me that setting nonsignificant paths to zero would be incorrect. Why don't you do it both ways and see if it changes important parameters? My feeling is that it wouldn't. If so, this may be a question for those on SEMNET who have more analysis experience than myself. 

Anonymous posted on Friday, September 27, 2002  11:15 am



I have a question about a MG CFA I am working on. In M+, it's possible to set various parameters of an overall model to be different or equal to one another within and across groups. But what would you do if you have a hypothesis that involves structural differences across groups? That is, entirely different sorts of latent variables in one group as opposed to another? Would you have to put all of the latent variables that might be present in any group in the overall model, and constrain loadings to be zero as appropriate? For example, let's say you have 10 observed variables, v112. Let's say that in group A you assume the factor structure is thus: f1 by v1v6; f2 by v7v12; However, in group B, you assume the factor structure is thus: f1 by v1v3; f2 by v4v6; f3 by v7v12; To be even more realistic, assume that in group C the factor structure is like this: f1 by v1 v2 v4; f2 by v3 v5 v6; f3 by v7v12; To specify this, would you have to do something like this: MODEL: a1 by v1v6; a2 by v7v12; a3 by v1v3; a4 by v4v6; a5 by v1 v2 v4; a6 by v3 v5 v6; MODEL groupa: a3 by v1v3@0; a4 by v1v3@0; a5 by v1@0 v2@0 v4@0; a6 by v3@0 v5@0 v6@0; etc.? It seems a bit cumbersome and I was wondering if there were a better way to do it. Also, is there a way to print the contribution of each group to the likelihood? 


If there are no factors that are the same in all groups, then you should probably analyze the groups separately because there would be no parameters in common across the groups. If there are some factors that are the same in all groups but some that are not, all factors need to be defined in the overall MODEL command and factor loadings not needed for certain groups can be zeroed out using groupspecific MODEL commands as you describe. There is no way to print the contribution of each group to the likelihood. 


I want to do a two group single factor CFA structured means model, say, groups A and B. I want the thresholds and loadings for some of the indicators in both Group B and Group A to be constrained to be the same values as would be computed for Group A run by itself. I think the only way to do this is to run group A by itself and determine the parameter estimates for those indicators, then run the two group analysis fixing those parameters to the predetermined values. Is there a more direct way? 


I can't think of one. The only way to get the parameter estimates for Group A is to estimate the model. So it seems both steps are necessary. 


Hi Linda, I've been working on a multigroup longitudinal CFA for the past few weeks (received some help from you a few weeks ago)  the measure is composed of 3 first order factors and 1 second order factor. I have data at time 1 and time 2 for three different groups. I am trying to compare the stability (ie correlation between latent t1 and latent t2) across the groups as well as comment on the measurement invariance of the instrument across time and groups. I am therefore running a series of nested models. In my most constrained model I have constrained to be equal across time and groups the intercepts, loadings, variances of second order factors and t1t2 correlation between second order factors. This model fits ok given all the constraints (CFI.91, RMSEA .043, srmr .059)  I have then run a series of nested models by freeing var, loadings etc  these all seem to work ok. 1)My first question to you involves the intercepts  in my most constrained model (see below) I was able to estimate and constrain to be equal (across time and group) intercepts for all my indicators, however to get my model to converge I had to fix all the intercepts for first order factors (both across time and groups) to zero  Does this seem appropriate to you? 2)My second question relates to my least constrained model and involves freeing both the observed variable intercepts and first order factor intercepts across time and groups  when I try to do this my model doesn't converge even with starting values from the previous values  am my missing something obvious here  I did free the intercepts in each group specific model statement. Also, should you see anything that looks terribly wrong with my model I would appreciate the heads up as it is one of the papers for my thesis  the loadings and fits seem to make sense so far. Thanks for your time  cheers chris Title: Fully Constrained Multigroup Longitudinal CFA !Fixed small positive error variance for f3 !Correlated errors across time for same items on same subjects !Loadings, intercepts, variances and T1 T2 cor for SOC equal over time and group !across time and groups !Variances of f4 and f8 and covariance between them constrained equal DATA: FILE IS m3groups.dat; VARIABLE: NAMES ARE ya1ya13 tota yb1yb13 totb age group wt; USEVARIABLES ARE ya1ya13 yb1yb13 group; GROUPING IS group (1=19to25 2=30to55 3=60plus); ANALYSIS: TYPE=MEANSTRUCTURE; ESTIMATOR=ML; MODEL: !CFA of SOC at time 1 f1 BY ya1* (1) ya9@1 ya11* (2) ya13* (3); f2 BY ya2* (4) ya5* (5) ya6* (6) ya7@1 ya12* (7); f3 BY ya3* (8) ya4* (9) ya8* (10) ya10@1; f4 BY f1* (11) f2* (12) f3@1 (13); !Next 3 lines set means/intercepts of f1,f2&f3 to be equal at time 2 [f1 f5](60); [f2 f6](61); [f3 f7](62); !Next line fixes SOC at time 1 (f4) to zero as a reference [f4@0 ](63); !Next line correlates errors between ya2 and ya3 ya2 WITH ya3; !Next line fixes error variance of f3 to .01 f3@.01 (15); !CFA of SOC at time 2 !The number in brackets force the loading to be equal across time f5 BY yb1* (1) yb9@1 yb11 (2) yb13 (3); f6 BY yb2* (4) yb5 (5) yb6 (6) yb7@1 yb12 (7); f7 BY yb3* (8) yb4 (9) yb8 (10) yb10@1; f8 BY f5* (11) f6* (12) f7@1 (13); !NOTE: Loadings and intercepts are automatically constrained to be equal ! across groups when using mean structures()'s used to constrained ! across time !Next line correlates errors between yb2 and yb3 yb2 WITH yb3; !Next line fixes error variance of f7 to .01 f7@.01 (15); !Next line constrains variances of soc at time 1(f4) and 2(f8) to be equal f8 f4 (16); !Next line correlates f8 with f4 !By adding (17) we force correlations to be equal across groups f8 WITH f4 (17); !ADDITIONAL INVARIANCE SPECIFICATIONS !Following 13 lines allow error variances for each item to correlate !across time ya1 WITH yb1; ya2 WITH yb2; ya3 WITH yb3; ya4 WITH yb4; ya5 WITH yb5; ya6 WITH yb6; ya7 WITH yb7; ya8 WITH yb8; ya9 WITH yb9; ya10 WITH yb10; ya11 WITH yb11; ya12 WITH yb12; ya13 WITH yb13; !Following 13 lines constrain item intercepts to be equal across !time and group [ya1 yb1] (18); [ya2 yb2] (19); [ya3 yb3] (20); [ya4 yb4] (21); [ya5 yb5] (22); [ya6 yb6] (23); [ya7 yb7] (24); [ya8 yb8] (25); [ya9 yb9] (26); [ya10 yb10] (27); [ya11 yb11] (28); [ya12 yb12] (29); [ya13 yb13] (30); !Following 13 lines constrain item error variances to be equal across !time and group !ya1 yb1 (40); !ya2 yb2 (41); !ya3 yb3 (42); !ya4 yb4 (43); !ya5 yb5 (44); !ya6 yb6 (45); !ya7 yb7 (46); !ya8 yb8 (47); !ya9 yb9 (48); !ya10 yb10 (49); !ya11 yb11 (50); !ya12 yb12 (51); !ya13 yb13 (52); MODEL 19to25: !Next line free's mean of soc at time 2 in 19 to 25 group [f8*]; !Next line free's estimate of variance for f4&f8 in 19to25 !f4 f8 (97)*; MODEL 30to55: !f4 f8 (98)*; [f1@0 f5@0]; [f2@0 f6@0]; [f3@0 f7@0]; MODEL 60plus: !f4 f8 (99)*; [f1@0 f5@0]; [f2@0 f6@0]; [f3@0 f7@0]; OUTPUT: STAND MODINDICES TECH2 TECH1; 

bmuthen posted on Tuesday, February 03, 2004  9:36 am



A quick look suggests yes on 1) and for 2) you want to not have any other mean/interceptrelated parameters free when you free the intercepts for the outcomes. 


Thanks for your reply Bengt, Could you please explain/paraphrase part2)  I'm not sure what you mean by "mean/interceptrelated parameters"  . Also, when you say "free the intercepts for the outcomes"  do you mean freeing intercepts for observed indicators only and fixing intercepts of level 1 latents and level 2 means to zero OR do you mean fixing all the intercepts in the observed indicators to zero and then freeing the intercepts in level 1 latents? Thanks for your time  it is appreciated. chris 


When the intercepts of the observed factor indicators are free, no factor means or intercepts can be free. They must all be fixed to zero. The reason for this is that when the intercepts of the factor indicators are free, all sample mean information has been used. There are the same number of factor indicator intercepts as there are sample means, so no other mean parameters can be identified. 

Anonymous posted on Thursday, September 23, 2004  11:51 am



I have heard that the new version of MPlus allows for chisquare difference tests in multiple group analysis, when the default WLSMV estimator is used. Is this true? 

Anonymous posted on Friday, September 24, 2004  2:08 pm



In LISREL there is an option that allows you to set the first two thresholds of categorical indicators for a CFA to 0 & 1. If the response options are equivalent across indicators, this option allows estimation of the mean and variance of the item's underlying normal distribution instead of relying on the default setting of mean = 0 and SD = 1. Is there a way to do this in MPlus? 

Anonymous posted on Tuesday, September 28, 2004  7:36 am



I am working on a MG CFA and am attempting just the first part, where I am looking at one of the groups. I am using the USEOBS command: USEOBS ARE (race = 1); but I keep getting an error message that all of the observations have been excluded. In the data file, the two groups have values of 1 and 0. Do I need to set new values for my variable? Are the 1 and 0 not being read properly? 


Re: September 23  Yes, the DIFFTEST option allows chisquare difference testing for WLSMV. 


Re: September 24  The way to do this is to put a factor behind the item where the mean and variance of this factor is what you want. 


Re: September 28  It sounds like your data are being read incorrectly or that after listwise deletion, you don't have any observations. You should send your output and data to support@statmodel.com for a complete answer. 

Anonymous posted on Tuesday, March 22, 2005  6:52 pm



Hello, I am interested in doing a MACS analysis. I have seen a number of different approaches and would like some guidance on which is preferred and under what circumstances: One approach is the following: 1. do singlegroup CFAs for each group 2. do a simultaneous CFA, freeing everything, the results of which should have the same chisquare as the sum of the chisquares for the separate groups, but should also provide a common metric solution 3. then constrain factor loadings across groups and check for a significant decrement in model fit 4. if there is no significant decrement in fit, then constrain intercepts 5. if there is no significant decrement in fit, then one can estimate and interpret latent mean differences Some approaches include additional steps, usually embedded within the ones listed above, in which constraints are placed on factor variances, factor covariances, and errors. I can understand when there are differences across studies depending on whether the purpose is to look specifically at different types of invariance, but it seems that there are discrepancies even when the same type of invariance is being evaluated. For example, sometimes errors are constrained, sometimes not. Sometimes factor variances and/or covariances are constrained, sometimes not. It almost seems at times like certain steps are "conveniently" omitted, possibly because their results are not as clean as authors would like. Can you provide any guidance or important references? Also, I have seen discrepancy between methods for comparing nested models within this stepbystep process. Most often I see the change in chisquare evaluated against a chisquare with df equal to the change in dfs for the two models being compared. When there are large samples, this always seems to be significant, but maybe not particularly meaningful. On the other hand, I have seen people use the ratio of the change in chisquare to the change in dfs for the two models being compared. Using this approach, I have seen cutoff guidelines between 2 and 4, with significant degradation of fit indicated by valuyes that exceed the specified cutoff. This latter approach seems to be preferable to the former approach when samples are relatively large, though I almost never see it used. What is troubling is that it does not seem that uncommon for these two approaches to result in different conclusions about model fit. Any thoughts? Thank you for your time. 

bmuthen posted on Wednesday, March 23, 2005  7:43 am



It is true that different testing sequences can give different end results. We don't know the best model when we start and if the starting point is too far from the best solution, then we might go astray. There is little that can be done about this  other than replicating results in new samples. I like the sequence of testing you list. Note that you are able to test factor (co)variance differences across groups after step 3 if you want, but you can also wait until step 5. I typically don't bother to test error variance invariance across groups, but in some applications it might be important to know about that measurement aspect (reliability issues). Meredith has some serious thinking on these invariance topics in his series of Psychometrika articles. I would not advocate the chisquare/df approach (other than as a rough descriptive device), but go with the chisquare difference testing even if it is owerpowering at times. You can see how much power you have by looking at how different across groups the resulting estimates are when relaxing invariance  if a loading turns out to be 0.73 when invariance is relaxed instead of 0.70 then you might feel you had too much power to reject invariance for the loading. So combining chisquare difference testing with such a "sensitivity analysis" seems useful to me. SEMNET readers probably have more opinions on these topics. 

Boliang Guo posted on Friday, August 19, 2005  9:04 am



problem on Longitudinal cfa invaraince: background: 4 factors, each measuerd by 3 items accross 3 times. analysis Vandenberg (2000) to test the measure invariance across measurement waves. test procedure is : configural, factor variance and covariance uniqueness, scalar invaraince, the later model based on the former model, when I test the last step, factor mean invariance, based on all of above model together, I find if I model each factor's mean in each times, say, t1 t2 t3, the model can not be identified, if I set up time 3 factors' means as dsfault vaule 0, then, the model converged, I also test to set up time1, ime2 factor means to 0, and constrant others equal, the model is ok. so, I back to test one time data to test whether I can get a factor mean by free the factors means in the model, the models can not be identified. is this the right resluts? if yes, could I say the factor mean invariance since two factors' means in two times are constraint to be equal but the factors' means in third times is default value 0. the factors means in the two times are larger than 2* se 


In your model, one factor mean must be fixed to zero for model identification. If you want the factor means to be held equal, then they should all be fixed to zero. 

alex posted on Monday, August 29, 2005  7:08 am



I am trying to use MPLUS to estimate latent mean differences. I have 2 groups, 10 variables, factor 1 is defined by all 10 variable, factor 2 by 5 of the variables. The initial models ran fine by group and had good fit. However, when I estimate the group together to check for the same form across groups one sample will not produce standard errors just **'s are computed. Other analyses (equal loadings, equal thresholds) do estimate the standard errors. Is there something wrong here or are the errors just very small? On another note, If the item intercepts are invariant, can I interpret the means on the Latent variables as latent mean differences or do I need to constrain the latent mean values to be equal? Thank you 

bmuthen posted on Monday, August 29, 2005  7:47 am



**** indicates very large values, which for SEs signals that the model is not identified. For example, if you have groupvarying intercepts and also have free factor means, your model is not identified. You want the intercepts and loadings to be invariant before you interpret the latent variable mean differences. 

alex posted on Monday, August 29, 2005  8:09 am



an additional question I want to estimate a meanstructure and have the loadings invariant across groups, but allow the item intercetps to be free across groups. When I do this (program below), I do not get any results because of an identification problem. Do I need to fix intercepts to identify the latent mean? If so, are these fixed to 0 or 1? PROGRAM title: cfa try with math concept data this is equal pattern loadings are invariant, intercepts free data: file is mgen.dat; variable: names are g a1a10; grouping is g (1=M 0=f); analysis: type=meanstructure; model: abil by a1a10; concp by a2 a4 a6 a7 a9; abil with concp @0; [a1a10]; model m: abil by a1a10; concp by a2 a4 a6 a7 a9; abil with concp @0; [a1a10]; 

alex posted on Monday, August 29, 2005  8:34 am



Thank you for this response: **** indicates very large values, which for SEs signals that the model is not identified. For example, if you have groupvarying intercepts and also have free factor means, your model is not identified. You want the intercepts and loadings to be invariant before you interpret the latent variable mean differences. ***** I guess I'm puzzled  the model fits well in each group; means & cov matricies are very similar. However, when I try to estimate the structures together and allow parameters to be free, I have identification problems. When I constrain parameters to be invariant  the fit is good. Why may this be? Does it make sense that the results would be better constrained than free? Is it appropriate to interpret latent means? 

bmuthen posted on Monday, August 29, 2005  9:08 am



The Mplus input you give here has the problem I mentioned  you have the intercepts groupvarying while at the same time trying to estimate the factor means (note that they are free in the second group by default in Mplus)  this is a nonidentified model. When you have groupvarying interceps you need to have the statement [abilconcp@0]; To see which parameters are free, see the regular output and also Tech1. When you constrain the model by having groupinvariant intercepts, the default of free factor means in group 2 gives an identified model. 

alex posted on Tuesday, August 30, 2005  9:08 am



Thank you for your advice. I have another question, why would the model below, which fits well in each group when run seperatetly show estimation problems (as identified by the *** in the standard errors) when both groups are run together, but without any constraints? *****MPLUS PROGRAM**** title: cfa try with rse data to check form invariance of 2 factors data: file is mgen.dat; variable: names are g a1a10; grouping is g (1=M 0=f); model: abil by a1a10; concp by a2 a4 a6 a7 a9; abil with concp @0; model m: abil by a1a10; concp by a2 a4 a6 a7 a9; abil with concp @0; output: tech1; **** On another note, when estimating an invariance routine for latent means, and I want to allow the intercepts to be free in each group, is the only constraints that the factor means are set to zero in both groups? Would this cause a problem in the PHI matrix? 

bmuthen posted on Tuesday, August 30, 2005  10:19 am



Please send input, data, outputs, and license number along with these questions to support@statmodel.com. 

Anonymous posted on Wednesday, September 21, 2005  11:11 am



Dear Drs. Muthen, I am interested in doing multigroup modelling (2 groups) as part of my CFA. I am getting an error message when I run the analysis. Here is the output: Mplus VERSION 3.12 MUTHEN & MUTHEN 09/21/2005 2:04 PM INPUT INSTRUCTIONS title: cfa sample1gp1A_factors gender grouping analysis data: file is l:\samruddhi\sampleone\analysis\sampleone\sample1gp1a9item.dat; nobservations are 2561; ngroups=2; variable: names are STRATUM AREAEXCH USR CREGION Q4 Q5 Q6 Q9 Q10 Q28 Q29A Q29B Q29C Q29D Q29E Q32B Q34 Q35 Q42A Q42B Q43 GENDER HLTHSTAT UNFAIR CHRONIC INSRTYPE INSRCONT AGE EDUCREC RACEREC FBORN WEIGHT Q20 Q21 Q23 Q24 Q25 Q26 Q32A Q30 Q22 Q40A Q40B Q40C Q40D Q33B Q59; usevariables are q20q26 q22 q32a q32b; missing are .; categorical are q20q26 q22 q32a q32b; GROUPING IS gender (1=male 2=female); cluster is areaexch; weight is weight; stratification is stratum; ANALYSIS: TYPE = MGROUP MEANSTRUCTURE complex; model: Overall by q20q26 q22 q32a q32b; output: stand; *** ERROR Stratification ID cannot appear in more than one group. Problem with Stratification ID: 5 ___________ when I remove the stratification command from the variable command; I get similar error message for the cluster ID. Could you, please, share some insight into how best I could proceed with this analysis? many thanks, samruddhi 


Groups must contain independent observations. Therefore individauls from the same cluster must be in only one group because they are not independent observations. Mplus requires the stratification id's to be different for each group. You can use DEFINE to recode the stratification variable such that the same number does not appear in both groups. 


I have been asked by a journal reviewer to include a differential fit value (DFV) to help interpret differences between nested mean structure models in large samples (total n = 2700). The only citation I can find is Muthen, B, 1989. Is this still a recommended approach? 


This is probably outmoded and it would be better to use RMSEA which is very similar. 

rpaxton posted on Wednesday, November 30, 2005  12:38 pm



I don't know how simple this question may seem, but in multiple group analysis when you specify a different model for a specific group, does that mean that you are saying that those model statements are not invariant across the groups. Example below Model: f1 by a b c; Model (females): f1 by b c; Thanks 

bmuthen posted on Wednesday, November 30, 2005  1:03 pm



That's right. The parameters that the Model females statements refer to are specific to the female group. 

rpaxton posted on Wednesday, November 30, 2005  5:05 pm



in multiple group analysis using longitudinal data when you don't have a grouping variable such as gender. How to you constrain factor loadings across the two time points. For example this is portions of my program. Thanks in advance MODEL: time1 BY enjoy2a  enjoy16a; time2 by enjoy2d  enjoy16d; !INVARIANCE ACROSS INTERCEPTS [ENJOY3A] (1); [ENJOY3D] (1); !INVARIANCE ACROSS FACTOR RESIDUAL VARIANCES FOR SAME VAR ENJOY2A (2); ENJOY2D (2); 


MODEL: time1 BY enjoy2a enjoy3a (1) enjoy4a (2); time2 BY enjoy2d enjoy3d (1) enjoy4d (2); 

Anonymous posted on Tuesday, January 31, 2006  3:29 pm



I am attempting to replicate a set of analyses as described in Millsap (1998), originally performed in lisrel, regarding group differences in intercepts and their implications for factorial invariance. I have fit two multiple group (male and female) regression models, one in which X predicts Y, and a reverse regression in which Y predicts X. In each of the models, the slope was constrained across groups in order to examine intercept differences across the groups. In each instance, intercept differences were found that are consistent with the observed differences in the means in each of the variables. In order to evaluate these intercept differences, my next step is to fit an invariant common factor model in which both X and Y load onto the common factor. In this model, the factor loading of one of the variables is set to 1 and the corresponding intercept for that variable (i.e., tau) is set to zero. I have attempted to override the Mplus default of fixing the factor mean of the first group to zero, wanting instead to estimate the factor mean for each group separately. All parameters (with the exception of the factor mean) are constrained to invariance across the two groups. However, I am not getting an estimate of the factor mean in the first groupit appears that Ive not properly overridden the default setting. My syntax is included below. Could you please advise as to how I should proceed? Thank you title: Invariant factor model for APME and PSATM, males and females Common factor mean (kappa) the only parameter allowed to vary across groups data: file = psat.txt; type is correlation means stdeviations; nobservations = 7288 5136; ngroups = 2; variable: names are psat apme; analysis: type = meanstructure mgroup; iteration = 10000; model: f1 by apme@1 psat(1); [apme@0]; [psat*1](2); [f1*1]; apme(3); psat(4); f1(5); model g2: f1 by apme@1 psat(1); [apme@0]; [psat*1](2); [f1*1]; apme(3); psat(4); f1(5); output: sampstat standardized tech1; 


You need to free it in the first group to override the default. model g1: [f1*]; 


Hello, I have a question for you. I ran a test of invariance across genders and time points using Mplus and just wanted to make sure that everything is accurate. In model one (configural invariance/pattern) invariance was supported, but when it came to strict invariance it was not supported. Strict invariance is constraining measurement residuals and measurement residual covariances. Because my RMSEA, TLI, and CFI are in range and magnitude, can I still say that the model is invariance across groups. 


If you were not able to say that you have residual invariance using difference testing, then you can't say that you have invariance of these parameters based on other fit statistics. I personally do not think requiring residual invariance is necessary. Different disciplines differ in their opinion on this issue. 

paula elosua posted on Wednesday, November 22, 2006  3:52 am



I'm assesing the effects of lack of invariance between groups, and MPLUS is very good for this. But I'd like to compare those results with statistical standards techniques like anova or ttest. Is it possible to perform those analysis with mplus? 

yshing posted on Wednesday, November 22, 2006  6:00 am



I'm running multiplegroup CFA with mean structure. When ran separately, a model of single latent factor with 6 indicators fitted fine for each group. However, when ran simultaneously across groups, the SE of estimates couldn't be computed. I have the indicator intercepts groupvarying but the factor mean for each group fixed to 0 so I'm not sure where the problem lies. Perhaps an error in my syntax (please see below)? Thank you for your help. Variable: NAME = ID Sex ProAcc3 ProAcc5 ProAcc6 ProAcc1 ProAcc4 ProAcc7 CV2 AgeGp; USEVARIABLES = ProAcc3 ProAcc5 ProAcc6 ProAcc1 ProAcc4 ProAcc7; GROUPING = AgeGp (1=Age1 2=Age2 3=Age3) ; Analysis: Type = Meanstructure; MODEL: f1 by ProAcc3 ProAcc1 ProAcc4 ProAcc7 ProAcc5 ProAcc6; Model Age1: f1 by ProAcc3 ProAcc1 ProAcc4 ProAcc7 ProAcc5 ProAcc6; [f1@0]; [ProAcc3ProAcc7]; [ProAcc1]; Model Age2: f1 by ProAcc3 ProAcc1 ProAcc4 ProAcc7 ProAcc5 ProAcc6; [f1@0]; [ProAcc3ProAcc7]; [ProAcc1]; Model Age3: f1 by ProAcc3 ProAcc1 ProAcc4 ProAcc7 ProAcc5 ProAcc6; [f1@0]; [ProAcc3ProAcc7]; [ProAcc1]; 


Paula: Mplus is a general program so any model such as a ttest or ANOVA can be specified. I don't think comparing these univariate tests to the multivariate multiple group comparisons is necessary. You can compare one parameter at a time using difference testing if you want. 


Yshing: You should not mention the first factor loading in the groupspecific MODEL commands. This frees the loading and it needs to be fixed to one for model identification. If this does not solve your problem, please send your input, data, output, and license number to support@statmodel.com. 

hans beeman posted on Wednesday, November 29, 2006  5:14 am



I have a question concerning the comparison of latent means. I fit a strong measurement invariance model (equal intercepts and loadings across groups). I now want to compare factor means across groups. The point is: factor means change drastically, depending on which indicator variables per factor I choose. As I want to understand the latent mean differences, this is quite confusing. Rensvold and Cheung (2001) suggest in this case to fit a sequence of models, constraining a pair of parameters (e.g., intercepts) to invariance. Then, the resulting model fit is compared using chisquare difference to a model where only one parameter of the two is fixed. This procedure has to be repeated for all p(p1)/2 measures. This is quite cumbersome. Meredith and Horn (2001) suggest estimating a model of metric invariance (equal loadings across groups) without latent means. Given this model holds, they suggest applying the Bartlett factor score weights to the means of the measured variables in each group. Having done so, the authors suggest to put the calculated means into a model as fixed and estimate the "missing" intercepts. I don't feel very safe about this either, as group means are estimated successively. My question is: what procedure allows to compare latent means in a multigroup model with constraints in an unequivocal way? 

Boliang Guo posted on Wednesday, November 29, 2006  5:45 am



partial ME/I is still an active topic at the moment. for ME/I tesst, since you have strong factorial invariance, do you hypothesis the factor mean is equal between group? maybe the factor mean is not equal, I think. 


I think you are saying that factor means differ depending on the factor indicator that you fix to one. The significance test for factor means should be invariant no matter which factor indicator you fix to one. The two models that you should be comparing are the model where factor means are zero in one group and free in the other groups versus the model where factor means are zero in all groups. If the significance test is not invariant, you need to send all inputs, data, outputs, and your license number to support@statmodel.com. 

hans beeman posted on Wednesday, November 29, 2006  9:41 am



Thanks Linda! That's what I was trying to say (i.e., factor means depend on the factor indicator you fix to one). I now fixed all factor means to zero across groups and a dramatic drop in overall model fit can be observed. I have four groups in my design. Is it possible to conduct aposteriori tests on the factor means to detect more specifically which groups differ in factor means? 


You can do a series of difference tests. You can compare all factor loadings or one factor loading. It just depends on the constraints that you place. You might also want to read about our MODEL TEST command in the user's guide. 


With multisample CFA (MCFA), can I interpret differences between the estimated threshold values in the sample statistics section of the output with the threshold parameters provided in the model results section? I am doing MCFA with males and females and the dichotomous indicators for the factors reflect whether someone does or does not have a disorder. I'm using Mplus 4.0 defaultsequal loadings and thresholds. I assume that the estimated thresholds are influenced by the proportions of individuals with versus without a disorder, given that there is a greater proportion of females diagnosed with major depression (~22%) and their estimated threshold is lower (0.771), compared to the proportion of males (~13%) with this diagnosis and who have a higher estimated threshold (1.122). Fit is quite good for the MCFA, and the standardized thresholds for the males (1.117) and the females (1.123) for the depression item are quite close. Is it reasonable to suggest that both males and females are given the diagnosis of depression at the same level of the latent trait, despite the fact that there are obvious differences in the proportions of males and females with a diagnosis of depression and that the estimated threshold values differ between groups? Is it possible to provide an additional interpretation of these findings by relating the estimated thresholds with the standardized thresholds? 


Answers to each of the 4 paragraphs: 1. No  see below  the sample threshold is simply a z score, not taking into account factor distribution differences across groups. 2. ok 34. The probability of an observed item being 1 as opposed to 0 is a function of its thresholds but also the factor loading multiplied by the factor mean. The default in Mplus is to hold thresholds and loadings equal across groups (malesfemales) and let the factor mean differences across the groups capture the observed item probability difference across groups. This says that we have measurement invariance so that a given observed item response pattern produces the same factor value for both groups. I would not use standardized thresholds. 


Hi, I'm interested in using a MACS model to test for invariance of loadings and intercepts between two groups. The trick is that I also have a multilevel model. In goofing around a little, I haven't been able to figure out if this is doable in MPlus. I can do the MACS and I can do multilevel, but the two together hasn't been working. Is this possible? Also, if it's not, could I do a simple multigroup CFA in the multilevel framework? Thanks very much. Holmes 


I'm not sure what you mean by "hasn't been working" and I don't now what a MACS model is. You can do a multiple group multilevel CFA in Mplus. You need to use the KNOWNCLASS option to define the groups when using maximum likelihood estimation. 


Linda, Thanks very much. I've gotten the multiple groups multilevel analysis to work with the knownclass option. I appreciate your very quick response. Holmes 


Whoops. I had one last question. I am doing an invariance analysis and would like to calculate the chisquare difference test between the constrained and unconstrained models. However, it doesn't appear when I run the following IRT analysis: classes sex (2); knownclass = sex (i65=0 i65=1); cluster=section; missing are .; analysis: type is twolevel mixture; estimator=mlr; Thanks again for your help. Holmes 


When means, variances, and covariances are not sufficient statistics for model estimation, chisquare and related fit statistics are not available. In this case, nested models can be tested using 2 times the loglikelihood difference. 


Linda, Great. Thanks again so much for being so helpful so quickly. Holmes 


Hello, I am using a multiple group CFA analyzing 20 groups with different sample sizes. For nonstatistical reasons all of the groups are supposed to have an equal influence on the estimation of those parameters that are restricted to be equal across groups. As it is now, it seems that groups with a larger sample size have a stronger influence on the estimated factor loadings (which are restricted to be equal). I tried to achieve an equal influence of all groups by using weights (desired sample size divided by the real sample size for each group respectively). But as Mplus rescales the weights to the effective sample size, this approach doesn't work. Is there any possibility to switch off the rescaling? Or is there any other possibility to achieve an equal influence for all groups independent of their sample size, except for drawing smaller samples of equal size from the samples? Thank you and best regards, Sorya 


Weights are rescaled for each group as you found out. The only thing I can think of is to sample from each group such that they are equal. 


I have a question about a MG CFA which I am working on. I have to use MLM estimation because I have a bad multivariate normality. Can I improve a Multiple Group Analysis Without Measurement Invariance? Thank you, best regards M 


If you have a poor fitting model with no restrictions across groups, you should probably should find a wellfitting model for each group separately. 


Hello,I am conducting invariance testing of a measurement model (2 groups) that is a secondorder factor represented by 5 firstorder latent variable factors (each with at least 5 indicators). Using MLM. First, in this meanstructure analysis, is setting the intercept at zero the same as setting the mean to zero both for an observed firstorder factor indicator and a latent variable which is a DV (firstorder factor)? Second, I am having a problem with a specific model. I am trying to constrain firstorder and secondorder factor loadings across groups, and also the intercepts of measured vars and firstorder factors. I have read that the factor means should be zero in one group and free in the others when testing to see if intercepts are invariant. It appears that by default that the intercepts of the firstorder factors are zero in the first group and free in the second group. Thus, if I want to constrain these firstorder factor intercepts, I believe that I would set them both at zero which I think means that I am setting the firstorder factor means at zero. Is this correct? If so, then is it not the case that the firstorder factor means are all zero and not free in the second group? Then, I would not be testing invariance of these factors' intercepts. If I am way off, then how do you constrain firstorder factor intercepts (in the presence of a secondorder factor) and not have them be zero? I appreciate your help. 


Setting the intercepts of the firstorder factors to zero is setting the means for the firstorder factors to zero for the group where the secondorder factor mean is zero. The intercepts of the firstorder factor must be fixed to zero in all groups when the mean of the secondorder factor is zero in one group and free in the others. Mplus does not fix the intercepts of the firstorder factors to zero as the default. This does not imply that the firstorder factor means are all zero in the second group because they are a function of the secondorder mean and that is not zero. 


Thank you Linda. Could you explain how I would test to see whether the firstorder factor intercepts are invariant across two groups within this secondorder factor model? 


That is not as straightforward as for regular CFA using only 1storder factors because you cannot identify both 1storder factor intercepts and observed variable (indicator) intercepts for a given group. Because some of the 1storder factor intercepts can be allowed to differ across groups under indicator intercept invariance, you can, however, ask for Modification Indices and see if some of the 1storder factor intercepts fixed at zero have particularly high values in some groups. Whenever an MI for a parameter is nonzero, that parameter is identifiable and can be estimated (can be freed). 

J.W. posted on Saturday, February 06, 2010  4:23 pm



For multigroup modeling, LISREL is able to provide Common Metric Completely Standardized Solution. I am wondering if Mplus does the same. Thanks. 


No, Mplus does not provide that standardization. For multiple group analysis, Mplus standardizes using the model estimated variances for each group. 


Dear Dr. Muthen, if I'm testing a two group SEM for equal regression coeff. it is necessary to meet the assumption of weak factorial invariance, isn't it? Then what can I do, when the assumtion is not met? Imposing the constraints on the factor loadings would cause a misspecification, thus the equality constraints on the betas can not be interpreted? Is in this situation a multiple group analysis possible? best regards Christoph Weber 


When you don't have loading invariance you don't have latent variables with the same interpretation, let alone the same metric. So structural parameters cannot be compared. If no parameters are invariant across groups, the multiplegroup analysis does not add to separategroup analyses. 


Another question: Using longitudinal data, it es necessary that the assumption of strong factorial invariance is met in order to interpret mean changes. Given the case, that the intercepts of the factor indicators are not timeinvariant, what does it mean, when I nevertheless use the equality constraints on the tauparameters? Of course the fit of the model would be worse, but can I use the variables, for example in an LGA with covariates? 


If acrosstime invariance of intercepts or thresholds is rejected, growth modeling is not appropriate since it requires invariance of these parameters. 


Are there any alternatives? And I guess it would not be relevant if the fit of the restricted (time invariant) model is good? 


I wouldn't do growth modeling on this, but you don't have to do growth modeling just because you have longitudinal data. You can simply, for example, regress time 3 on time 2 and time 2 on time 1. That does not need measurement invariance  your construct (s) may be different across time, but you can still related them to each other. 


thanks for your advice 


Dear Dr. Muthen, I want to come back to my first question regarding weak factorial invariance and the test for equal regression coeff. Jaccard and Wan (1996, lisrel approaches to ..) write in connection with qualitative moderators, that (1) one should fit a multigroup model for each group, with no acrossgroup constraints. (2) Then one should impose the equalityconstraint on the parameter of interest. Now my question: This procedure does not assume factors to be invariant across groups (step one uses no constraints), thus the test for equal regress. coeff, that reflects the suggested moderating effect, is not possible, because the factors may have a different metric. Am I wright? best wishes Christoph Weber 


If the regression coefficients involve latent variables, measurement invariance must be established before they are compared. This is not the case for observed variables. 

Nick Lee posted on Tuesday, March 16, 2010  2:21 pm



Hi Dr. Muthen I have been using LISREL for about a decade, and have been playing with MPlus for a year or so now, to help analyse a multilevel data set. I'm enjoying it immensely. Currently, I am engaged in a multigroup analysis (gender as the grouping variable), using a complex samples approach (MLR as the estimator). With LISREL, while I couldn't use MLR and the complex approach, I am very well versed in the chisquare tests and MGA. In Mplus however, I get a little lost. The key issue for me is to test whether the latent means for my constructs are different across groups, and then whether the structural paths are different, but one thing at a time. Latent Means: I am having some difficulties with performing the chisquare difference test using the loglikelihoods going by the instructions on this site, so currently I am interested in what the 'significance' test for the latent means in group 2 actually refers to. Of course, in Group 1, the latent means are zero, but in group 2, they are free and nonzero, but have a standard error and tvalue associated with them. Can I interpret a significant tvalue as an indication that the means in group 2 are significantly different to the means in group 1? If so, that would help me a lot. I will ask the MLR question later, since this is a rather long email. Many thanks, Nick 


The test that the factor mean in group 2 is zero is the same as testing the difference between the group 1 and group 2 factor means. 

Nick Lee posted on Friday, March 19, 2010  4:17 am



Thanks very much Linda this is very helpful. Thus, I assume I am right in my conclusion that the factor means are different if the group 2 factor mean is nonzero and significant? One curiousity: If the nested test result was nonsignificant across the groups, yet the factor means were all tested as significantly different, how would one interpret such a finding in your view? Thanks again Nick 


Yes. If you have only two groups, the difference test and the test of the second group mean against zero should be the same. I would have to see all of the information to say more. You can send the files and your license number to support@statmodel.com if you want to pursue this further. 

Nick Lee posted on Friday, March 19, 2010  9:03 am



Hi Linda Thanks so much. In fact, I don't think I have really done the nested difference test correctly yet, so the question was one of idle curiosity right now. So I won't bug you with my data and code yet! Thanks again Nick 

Peter D posted on Friday, May 07, 2010  9:04 am



Dear Dr. Muthén, I am a new user of Mplus who are currently fitting a quite simple multigroup CFA model. I have two questions in that regard. First, the subjects in the study are clustered within higherlevel units (individuals within schools) and for that reason I am using the CLUSTER option under the VARIABLE command and TYPE=complex. However, at the same time I would also like to test the metric invariance of the model, but this does not appear to be possible using the MODEL=NOMEANSTRUCTURE and INFORMATION=EXPECTED under the ANALYSIS command. Is this correct? If yes, how would you typically go about testing invariance of the measurement model. Just using the default, testing metric and factorial at the same time? If no, what is the proper way to test metric invariance? Second (and unrelated to the question above), I would like to obtain the correlation between the latent construct from the CFA and a range of other variables not included in the CFA. What is the way to go about this? Can I save the factor scores and then correlate this with these variable? Thanks in advance, Peter 


See the Topic 1 course handout which shows the inputs for testing measurement invariance under the topic multiple group analysis. You can save factor scores using the FSCORES option of the SAVEDATA command. You can include the variables not used in the analysis by using the AUXILIARY option of the VARIABLE command. 

Peter D posted on Friday, May 07, 2010  9:45 am



Thank you very much for your fast reply! Peter 

Peter D posted on Friday, May 07, 2010  10:59 am



I have a followup question. The course handout is informative, but I am in doubt how to test the level of measurement invariance hierarchically, starting out by examining metric invariance followed by factorial invariance. Invariance of factor variance and error variance is acceptable in my model. As I understand the handout and the users guide, a model with measurement invariance of factor loadings and intercepts is estimated using the following model command (sch is the clustering unit, trust is the latent construct and c1c3 are the observed variables): Cluster is sch; Analysis: Type = complex; MODEL: trust BY c1 c2 c3; I am not sure, however, how to only test the metric invariance as the following command from the users guide does not work with the clustering: MODEL=NOMEANSTRUCTURE; INFORMATION=EXPECTED; I hope you are able to help with this. Thanks again, Peter 


It is not necessary to use MODEL=NOMEANSTRUCTURE. The first model shown in the handout shows a model where all parameters are free across groups. Having unstructured means is the same as having no means. The second step imposes factor loading invariance. The third step imposes intercept invariance. 

Wu wenfeng posted on Tuesday, June 22, 2010  8:28 pm



If I just want to compare the total score of a scale between two groups,do I need to test measure invariance before the comparison? thank you! 


When you create a sum score, you assume unidimensionality and measurement invariance. I think it would be best to check that these hold as a first step. 

Dan Sass posted on Tuesday, June 29, 2010  4:49 pm



Hello, Im conducting a multigroup CFA using the WLSMV estimator with ordered categorical data. The individual sample results seem appropriate and fit well, as does the configural model. However, after I fix the factor loadings and thresholds to be equal across groups the chisquare statistic decrease, whereas the df increases. I would expect the df to increase given that Im fixing the factor loadings and thresholds to be equal across the groups; however, the decrease in chisquare does not make conceptual sense to me. Thus, the DIFFTEST suggests that the invariance model fits better than the configural model. Is this result possible? If so, how can it happen? The same thing happens when I set the factor covariance as invariant. I checked the model results and the correct parameter estimates are equal across groups for the invariance models and different for the configural model. Thanks! 


If you are not using Version 6, the chisquare statistic and degrees of freedom for WLSMV are adjusted to obtain a correct pvalue. Only the pvalue should be interpreted. 

Dan Sass posted on Tuesday, June 29, 2010  7:08 pm



Hello, Im using version 6, so is something wrong with the code? I followed the example in the Mplus manual and the notes posted on your website. Thanks! 


Please send the files and your license number to support so I can see what you are doing. 


Dear Dr Muthen. I am fitting a multigroup model, with categorical indicators. i wanted to compare two models using two categories in the grouping variable. i got an warning. "THE CHISQUARE DIFFERENCE TEST COULD NOT BE COMPUTED BECAUSE THE H0 MODEL MAY NOT BE NESTED IN THE H1 MODEL. DECREASING THE CONVERGENCE OPTION MAY RESOLVE THIS PROBLEM" Are the models below nested? everything runs fine in each model except the dif test. thank you The models: Model A model: y1pm by y1pm03r y1pm05r y1pm06r y1pm07r y1pm08r y1pm09r y1pm10r; a1pm by a1pm6r a1pm8r a1pm9r a1pm10r a1pm11r a1pm12r a1pm13r; Model B model: y1pm by y1pm03r y1pm05r y1pm06r y1pm07r y1pm08r y1pm09r y1pm10r; a1pm by a1pm6r a1pm8r a1pm9r a1pm10r a1pm11r a1pm12r a1pm13r; [y1pma1pm@0]; {y1pm03r@1 y1pm05r@1 y1pm06r@1 y1pm07r@1 y1pm08r@1 y1pm09r@1 y1pm10r@1}; (and so on for the rest of items) model old: y1pm by y1pm05r y1pm06r y1pm07r y1pm08r y1pm09r y1pm10r; a1pm by a1pm8r a1pm9r a1pm10r a1pm11r a1pm12r a1pm13r; [y1pm03r$4 y1pm05r$4 y1pm06r$4 y1pm07r$4 y1pm08r$4 y1pm09r$4 y1pm10r$4]; [a1pm6r$4 a1pm8r$2 a1pm9r$1 a1pm10r$2 a1pm11r$3 a1pm12r$2 a1pm13r$3]; 


i think i should add in model A [y1pma1pm@0], that solved the problem and i got results for the dif test would that be correct? thx fernando 


Compare your two inputs to those shown on Slides 169 and 170 of the Topic 2 course handout on the website. These are the correct inputs for testing measurement invariance. 


Dear Dr Muthen. I coded as specified in pages 169 and 170, i got this message "THE MODEL ESTIMATION TERMINATED NORMALLY THE CHISQUARE DIFFERENCE TEST COULD NOT BE COMPUTED BECAUSE THE H0 MODEL MAY NOT BE NESTED IN THE H1 MODEL. DECREASING THE CONVERGENCE OPTION MAY RESOLVE THIS PROBLEM." is the Measurement Invariance model specified in page 170 nested in the Measurement NonInvariance model specified in page 169? 


The model on Slide 170 is nested in the MODEL on Slide 169. Try decreasing the convergence criteria by using the CONVERGENCE option. 


Dear Dr Muthen Thank you for your response, following post in October 1st at 11:15, i reduced the convergence criteria and it worked but i have a question. is there a limit to decrease the convergence criteria? i used 0.1 as criteria and it gave me the DIF test difference, is that criteria acceptable? thank you 


That is a large value. Please send the input, data, output, and your license number to support@statmodel.com. 


Any chance that future versions of Mplus will provide common metric completely standardized solution for multiple group analysis? (by standardizing using a common variance) It would be fine when reporting structural parameters that are not moderated by group. Thanks! 


I will add that to our list. 


Hi, I'm struggling with testing different forms of measurement invariance of a second order construct and was wondering whether I've fixed the correct parameters because I'm not sure how to handle the second order factor. Moreover, at the stage of scalar invariance testing I get an error message, that the model is not identified. I would appreciate if you could have a look at my syntax. configural measurement invariance: MODEL: f1 by x1 x2; f2 by x3 x4; f3 by x5 x6; f4 by f1 f2 f3; [f1@0 f2@0 f3@0 f4@0]; MODEL g1: f1 by x2; f2 by x4; f3 by x6; [x1x6]; metric measurement invariance: MODEL: f1 by x1 x2; f2 by x3 x4; f3 by x5 x6; f4 by f1 f2 f3; [f1@0 f2@0 f3@0 f4@0]; MODEL g1: [x1x6]; scalar measurement invariance: MODEL: f1 by x1 x2; f2 by x3 x4; f3 by x5 x6; f4 by f1 f2 f3; [f1@0 f2@0 f3@0]; I'm analyzing two groups with continous data. Many thanks in advance. Alexander 


Looks correct. Please send your scalar model output and license number to support@statmodel.com. 

Anonymous posted on Wednesday, March 16, 2011  7:28 pm



Hello, I am trying to run a multigroup CFA in order to examine the factor structure among the 2 groups (males and females). Although I am new to running and interpreting multigroup analyses, I'm noticing a potential issue. The modification indices are suggesting that an indicator should load on a factor that it is already loading on. I'm wondering why this is happening? Below is a snippet of my MODEL statement (for the overall model) as well as the snippet from the MI. Thank you in advance for your assistance! MODEL: Sch_ADJ BY t10schad* newgpa@1 t10sla*; Soccomp by t10scbeN@1 t10psb* t10pop*; Sch_ADJ* Soccomp*; t10schad* newgpa* t10sla*; t10scbeN* t10psb* t10pop*; [t10schad* newgpa* t10sla*]; [t10scbeN* t10psb* t10pop*]; sch_adj with soccomp; Group MALE BY Statements SCH_ADJ BY NEWGPA 5.144 Group FEMALE BY Statements SCH_ADJ BY NEWGPA 5.146 


Modification indices are given for fixed parameters and constrained parameters. The default in Mplus is to constrain factor loadings to be equal across groups as the default. I would imagine that it is a constrained parameter for which you are obtaining a modification index. If not, please send your full output and license number to support@statmodel.com. As a first step in multiple group modeling, you should fit the model in each group separately. 

Julia Lee posted on Thursday, April 14, 2011  7:19 pm



I'm running multiplegroup CFA with mean structure. There are 4 groups. Model of 3 latent factors with 2 indicators each fitted fine for each group when analyzed separately. However, when I ran the baseline model simultaneously across groups, there was an error message NO CONVERGENCE. NUMBER OF ITERATIONS EXCEEDED. I appreciate your help. Thank you. VARIABLE: NAMES ARE y1 y2 y3 y4 y5 y6 g; USEVARIABLES ARE y1 y2 y3 y4 y5 y6; GROUPING is g (0=NoFM 1=NoFF 2=FM 3 = FF); Missing=all (999); MODEL: f1 BY y1y2; f2 BY y3y4; f3 BY y5y6; MODEL noFF: f1 BY y1y2; f2 BY y3y4; f3 BY y5y6; MODEL FM: f1 BY y1y2; f2 BY y3y4; f3 BY y5y6; MODEL FF: f1 BY y1y2; f2 BY y3y4; f3 BY y5y6; ANALYSIS: TYPE IS GENERAL; ESTIMATOR = ML; ITERATIONS = 1000; CONVERGENCE = 0.00005; INFORMATION = EXPECTED; 


You should not mention the first factor indicators in the groupspecific MODEL commands. This frees them and makes the model not identified. In stead say: MODEL FF: f1 BY y2; f2 BY y4; f3 BY y6; If you have further problems, please send your full output and your license number to support@statmodel.com. 


Hi I have a question about measurement invariance: In a multigroup CFA (male,female) the factor loadings are invariant but when I add the intercepts they fail to meet this assumption. Examining M.I. => testin partial invariance but still I fail to meet this assumption, x^2diff=10.0019(2)*. My goal is to examine if there are differences in men and females regression paths from 2 latent variables on some observed variables (GPAswedish on F1; GPAmath on F1 F2; choice on GPAswedish GPAmath;) Are the interpretations meaningful eventhough the intercepts are not invariant? 


I would be hesitant to conclude that I had measurement invariance in your case. 

Julia Lee posted on Friday, May 06, 2011  10:20 am



I'm running MGCFA with mean structure. 1) Re: test of latent means across groups. I'm been trying to constrain the means to be equal across all groups (to conduct an omnibus test). Can you please give some input regarding the syntax? 2) Re: multiple comparisons of the latent means. What is the syntax for conduct pairwise latent mean comparisons between two groups in each analysis? E.g., NoFF versus FF and NoFM 1versus NoFF 3) Re: control for autoregressors. Is it possible to autoregress T2 latent factor with T1 latent factor? i.e., autoregressors specified as factors based on multiple indicators. Thanks! VARIABLE: NAMES ARE T2y1 T2y2 T2y3 T2y4 T2y5 T2y6 T1y1 T1y2 T1y5 T1y6 g; USEVARIABLES ARE T2y1 T2y2 T2y3 T2y4 T2y5 T2y6; GROUPING is g (0=NoFM 1=NoFF 2=FM 3 = FF); Missing=all (999); MODEL: f1 BY T2y1T2y2; f2 BY T2y3T2y4; f3 BY T2y5T2y6; T1y1 with T2y1; T1Y2 with T2y2; T1y5 with T2y5 T1y6 with T2y6 F1 with F2 (1); F2 with F3 (2); F1 with F3 (3); ANALYSIS: TYPE IS GENERAL; ESTIMATOR = ML; ITERATIONS = 1000; CONVERGENCE = 0.00005; INFORMATION = EXPECTED; 


1. To test the equality of factor means across groups, use the model where factor means are zero in all groups versus the model where factor means are zero in one group and free in the other groups. See the Topic 1 course handout under multiple group analysis for the syntax. 2. There is no syntax to do this. You could use MODEL TEST of difference testing. 3. Factors can be regressed on each other, for example, f2 ON f1. 

Julia Lee posted on Tuesday, May 10, 2011  9:45 am



Thank you for directing me to the course handout. This discussion board is a great resource too. Here's an extension to my earlier question (Q.3) regarding autoregressors. The research questions are concerned with Time2 indicators and factors but not Time 1 indicators and factors. 1. Thus, I don't want to include the Time 1 covariates and related factors in the MGCFA model. However, I do want to control for Time 1 initial skills (autoregressor)when testing for equality of latent means. a) I tried doing this: MODEL: f1 BY Time2y1Time2y2; f2 BY Time2y3Time2y4; f3 BY Time2y5Time2y6; Time2y1 ON Time1y1; Time2y2 ON Time1y2; Time2y3 ON Time1y3; Time2y4 ON Time1y4; Is this aforementioned syntax a viable step to take? There's literature on controlling for latent covariates rather than indicators. Is there a way to combine Time1y1 and Time1y2 as a latent covariate (e.g., Time1F1) without making it part of the MGCFA model. b) After including the ON statement for the Time2 indicators on Time1 indicators, the modeldata fit deteriorated greatly (chisquare rose from 52.414 to 377.935 and all other fit indices indicated poor modeldata fit). It is likely due to floor effects. I think I should control from Time1 (initial skills) but these are dismal modeldata fits. I look forward to your input. Thank you in advance! 


This is a general analysis question which is probably best answered on a general discussion forum like SEMNET. Mplus discussion questions should be specific to Mplus. 


I am trying to run a MACS analysis for two constructs over 3 time periods. After working through the factor and intercept invariance the final outcome is that the loadings and intercepts meet the invariance criteria for the first construct. For the second construct the loadings are invariant for time periods 1 and 2 but for time periods 1 and 3 only some of the loadings are invariant (all item intercepts are invariant). I am trying to estimate the latent means for each construct over the 3 time periods. To accomplish this I am estimating the latent means using the partial invariance model just described. To calculate the latent means I first set time period 1 as the reference group. In this model the latent means for the second time period (estimated) are not significantly different from the first time period (set to 0). However, when I change the reference group to the second time period the latent means for time period 1 (now estimated) become significant for both constructs. Each time when I define a ref group I am fixing the variance of both constructs in that group to 1 (i.e., the variance in time 1 was set to 1 when time period 1 was the reference group and the variance in time 2 was set to 1 when time period 2 was the reference group). My question is  why do the differences in latent means change from being non sig to sig when I change the ref group from time period 1 to time period 2? 


Check that you get the same chisquare and df when you have time 1 vs time 2 as the reference point. If not, you are not setting up the models correctly. 


Hello Drs. Muthen, If I am estimating a latent variable SEM model with a higherorder structure, where latent variables load onto a higherorder latent variable, and I am estimating means...then does the constant (the triangle in RAM notation) have a direct effect only on the higherorder latent variable, or does it have a direct effect on all of the latent variables, even the lowerorder ones? I think what I have learned is that when you have one latent variable indicated by other latent variables OR predicting another latent variable, the constant (drawn with the triangle in RAM notation) only is conceptualized to have a direct effect on the first latent variable in the "chain" (the higher order factor or the latent variable that is exogenous). The constant does have an effect on the endogenous latent variables, but only *through* its effect on the exogenous latent variable. Is my thinking correct? I ask this question because I am estimating a latent variable model with a higher order structure (where five latent variable load onto a higherorder latent variable), and I asked Mplus for means and variances for all of the lowerorder factors...but got an error message. I just wonder I am not supposed to be estimating means for the lowerorder factors. Thank you! Lisa 


In a crosssectional study, all factor means are zero. They can be identified only with multiple groups or multiple occasions. In a secondorder factor model, residual variances are estimated for the firstorder factors and a variance is estimated for the secondorder factor. 

Sarah Cattan posted on Thursday, September 15, 2011  10:05 am



Dear Linda, I would like to perform a CFA of different personality measures, allowing a different model between gender AND allowing for a mixture model (with unknown class) for each gender. I understand that if I specify TYPE=MIXTURE and KNOWNCLASS (female=1 female=0), it will allow me to estimate a different model for each gender. But I am not sure how to specify that the model for each gender should also be a mixture (this time with an unknown class). Thank you very much for your help. I look forward to hearing from you. Sarah 


Example 7.21 has both. It is not a CFA but you can generalize it to that. See Example 7.17. 


Dear Linda, Thank you for your answer. If I understand Example 7.21 well though, the model has two latent, categorical factors. The first one corresponds to c(2) and has two unknown classes. The second one corresponds to cg(2) and has to known classes. What I was asking was how to model a one factor model with mixtures of normals, allowing the mixtures of normals to be different for females and males. Is this possible? If Example 7.21 does that, could you please explain which specific comments achieve this goal? I am not sure I understand the example well. Thank you, Sarah 


If you use the CLASSES and KNOWNCLASS statement from 7.21 and put use them instead of the CLASSES statement in 7.17, you will have what you want. You can remove the classspecific part of the MODEL command from 7.17 because that is actually the default. 


Dear Drs. Muthen, I am running a MGCFA and want to check the model for metric invariance and enter the commands as usual, freeing the loadings of all but one item for each of my 3 factors. When I run the model however I get the following error without any further specification: The following MODEL statements are ignored: * Statements in Group AL: [ A065 ] [ A074 ] ... [ A075 ] My model input is: LowCon BY a067 a065 a074 a066 a068 a072; HigCon BY a077 a070 a076 a069 a073 a071 a064 a075; General BY GenTru Helpful Fair; LowCon WITH HigCon; LowCon WITH General; HigCon WITH General; With grouping specified for 44 groups all with the commands like: Model AL: [a065]; [a074]; ... etc.; [Helpful]; [Fair]; (all 'a0' type variable are dummies and declared as categorical) Any advice from your side what might have gone wrong would be very appreciated. Best wishes, Jan 


For categorical variables, you should refer to thresholds not intercepts, for example, [ A065$1 ] 


Dear Linda, thank you very much for your help!! I have a followup question I would like to ask: When running the model now (whether it is for configural, metric or scalar equivalence) I am not able to get the model to work properly and to produce standard errors (the model worked fine overall for the whole sample when not running a multigroup analysis). The key problem seems to be that there are some groups for which some of the categorical indicators making up the factors (3 in total, two of which are made up by binary variables only) only take one value (i.e. no respondent in that country has been classified to belong to this category). Is there a way of accounting for this in some way and still run the model or does this mean I cannot use those variables as items for my factors in an MGCFA when there are some groups for which all cases take the same value on a binary item? Thank you for your advice and help! Best wishes, Jan 


The first step in a multiple group analysis is to establish that the same model fits well in each group. It sounds like you cannot do this because some variables are constants in some groups. 


Dear Linda, thank you for your comment. I thought so too and removed the problematic variable, so that there are now items included anymore with this problem. When running the MGCFA now, I still cannot managed to get the model to converge and standard errors to be estimated though (even for mere configural equivalence). The only error message I get in the output is NO CONVERGENCE. NUMBER OF ITERATIONS EXCEEDED., and as I do not get modification indices, I cannot use those to identify areas of local misfit. Does that simply mean that the model is not feasible at all for an MGCFA or could there be other reasons in the setup which I could explore? As always, your help would be very much appreciated. Thank you for all your efforts. Best wishes, Jan 


You should try freeing the first factor loading for each factor and fixing the factor variances to one. It may be that the first factor indicator is not estimated close to +1. f BY y1* y2 y3; f@1; 


Thank you very much! That worked. I have one more follow up question: I get a few errors messages like the one below  and I suppose that I should go about looking at the output for the respective items and the respective groups to see what can be improved locally. However I also get one general error message. And I am wondering whether by resolving the local problems, this might be resolved, or whether this needs dealing with separately: THE STANDARD ERRORS OF THE MODEL PARAMETER ESTIMATES COULD NOT BE COMPUTED. THE MODEL MAY NOT BE IDENTIFIED. CHECK YOUR MODEL. PROBLEM INVOLVING PARAMETER 49. THE CONDITION NUMBER IS 0.548D12. ___ This here was the message that I got for a few groups as said above (and for which I would go about investigating what the problem with the respective indicator in those groups is): WARNING: THE LATENT VARIABLE COVARIANCE MATRIX (PSI) IN GROUP AL 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 A076. Thank you for your advice! Jan 


Please send the outputs with the error messages and your license to support@statmodel.com. 


Dear Drs. Muthén, I am running an MGCFA with 3 latent variables and 44 countries. I try to compute a configural equivalence model. After about 1 hour and 15 minutes of estimation I get an error message telling me that there is not enough memory. However, I have 12GB RAM available, a large harddrive and when checking, only about 10% of the available RAM are actually in use by MPLUS. When I run the analysis with fewer countries (1012) it works and I get model results  but obviously I would like to run it with all countries included. Any advice would be much appreciated, as an increase in RAM or harddisk space does not seem to be the way forward I suppose. BEst, Jan 


Please send the input, data, and your license number to support@statmodel.com. 

anonymous posted on Wednesday, February 29, 2012  1:12 pm



Hello, I'm testing measurement invariance across 2 groups in a CFA using items with a response scale of 02. I tried to follow the syntax on the Mplus Short Courses Topic 1 handout to first estimate a free model (pg. 210). I've used the following syntax, specifying categorical indicators: GROUPING =sexcat(1=FEMALE 2=MALE); ANALYSIS: TYPE = COMPLEX ; MODEL: f_em BY e1@1 e2 e3 e4 e5; f_cd BY c1@1 c2 c3 c4 c5; f_hy BY h1@1 h2 h3 h4 h5; f_pe BY p1@1 p2 p3 p4 p5; f_ps BY s1@1 s2 s3 s4 s5; [f_em@0 f_cd@0 f_hy@0 f_pe@0 f_ps@0]; MODEL MALE: f_em BY e1@1 e2 e3 e4 e5; f_cd BY c1@1 c2 c3 c4 c5; f_hy BY h1@1 h2 h3 h4 h5; f_pe BY p1@1 p2 p3 p4 p5; f_ps BY s1@1 s2 s3 s4 s5; [e1$1s5$1]; [e1$2s5$2]; However, the Mplus error indicates that the model may not be identified (problem with parameter 171). Any advice would be much appreciated. 


You need to also fix the scale factors to one in all groups. See the Topic 2 course handout under multiple group analysis where this is shown. 

anonymous posted on Thursday, March 01, 2012  9:07 am



I fixed scale factors to 0 as shown below, however I'm obtaining the same error that the model may not be identified (problem involving parameter 171). CLUSTER = Cluster; WEIGHT = WTPSAQ; IDVARIABLE = Sampleid; GROUPING =sexcat(1=FEMALE 2=MALE); ANALYSIS: TYPE = COMPLEX ; MODEL: f_em BY e1e5; f_cd BY c1c5; f_hy BY h1h5; f_pe BY p1p5; f_ps BY s1s5; [f_em@0 f_cd@0 f_hy@0 f_pe@0 f_ps@0]; {e1s5@1}; MODEL MALE: f_em BY e1e5; f_cd BY c1c5; f_hy BY h1h5; f_pe BY p1p5; f_ps BY s1s5; [e1$1s5$1]; [e1$2s5$2]; 


You should not mention the first factor loading in the groupspecific MODEL command. When you do this, it is freed causing the model to be notidentified. 

Lin Gu posted on Wednesday, March 28, 2012  1:35 pm



I want to test configural invariance with a mean structure of the following model across two samples. I want to fix the first intercept of each factor to 0 in both groups. I believe this allows me to estimate factor means and the rest of the intercepts in both groups. I used the following syntax but I could not free the factor means in the first group. Could you please help? Thanks. MODEL: f1 by y1y6; f2 by y715; [f1*]; [f2*]; [y1 @ 0 ]; [y7 @ 0 ]; MODEL 2: f1 by y2y6; f2 by y8y15; [y1 @ 0 ]; [y7 @ 0 ]; [y2y6 y8y15]; 


You need to do this in the groupspecific model for the first group  the lowest value of the grouping variable. 

Lin Gu posted on Wednesday, March 28, 2012  2:13 pm



I specified freeing factor means and fixing intercepts in the first group only. In group 2, I allow the unfixed factor loadings and intercepts to differ. But the factor means in group one were still fixed to zero. Could you let me know what I did wrong? Thank you very much. MODEL: f1 by y1y6; f2 by y715; [f1*]; [f2*]; [y1 @ 0 ]; [y7 @ 0 ]; MODEL 2: f1 by y2y6; f2 by y8y15; [y2y6 y8y15]; 


Show me your GROUPING option. 

Lin Gu posted on Wednesday, March 28, 2012  3:58 pm



Here is the input with the grouping option. Thanks! DATA: TYPE IS INDIVIDUAL; VARIABLE: NAMES ARE g y1y15; GROUPING is g (1=no 2=yes); ANALYSIS: Estimator = MLM; MODEL: f1 by y1y6; f2 by y715; [f1*]; [f2*]; [y1 @ 0 ]; [y7 @ 0 ]; MODEL YES: f1 by y2y6; f2 by y8y15; [y2y6 y8y15]; 


You need to say: MODEL no: [f1* f2*]; 

Lin Gu posted on Thursday, March 29, 2012  5:39 am



Thanks Linda. I was able to test scalar invariance by inputting the following syntax, in which factor means (in both groups) were estimated and intercepts were either fixed to 0 or fixed to be equal across the groups. I would like to further test mean invariance, in which I want means to be estimated ( not constrained to zero) but have the same estimations across the groups. Could you let me know how to constrain means to be equal based on the scalar invariance model syntax? Thank you! VARIABLE: NAMES ARE g y1y15; GROUPING is g (1=no 2=yes); ANALYSIS: Estimator = MLM; MODEL: f1 by y1y6; f2 by y17y15; [y1 @ 0]; [y7 @ 0]; MODEL NO: [f1*f2*]; 


MODEL NO: [f1*] (1) [f2*] (2); MODEL YES:[f1*] (1) [f2*] (2); 

Lin Gu posted on Thursday, March 29, 2012  6:02 pm



Thanks, Linda. I appreciate your help. 


Hello: I have successfully tested for both metric and scalar invariance of an interview measure across two ethnic groups. I found that the structured means were significantly different. I am wondering if there is a way in MGROUP modeling to examine whether this same difference emerges after controlling for SES (a confound in our data). Can I do this in MGROUP or do I have to turn to MIMIC to explore this question? Also, is it the case that in MIMIC modeling one can not explore metric invariance (i.e., equality of factor loadings)? Per Brown (2006) using MIMIC one can only explore invariance of indicator intercepts and factor means. 


Q1. You can do this in MGROUP, testing invariance of the factor intercepts. Q2. It is harder to test equality of factor loadings in MIMIC, so you want to do it in MGROUP. 


Thanks. When I regress my latent factor on the covariate, I no longer get estimates for that factor mean in the output. Is there something I am doing wrong? As my model is a 2factor model, I do get estimates of the factor mean for the other factor, just not the one I regressed the covariate on. 


Actually I just realized that since we have the factor regressed onto a covariate that the mean for the factor would now be listed as an intercept in the output (since we have a slope as well). Is my thinking correct? If so, then I think I just answered my own question. Many thanks. 


Yes, in a conditional model an intercept is estimated for a dependent variable not a mean. 


One followup question. What does it mean conceptually if the regression estimate for the covariate on the latent mean is not significant but the intercept is no longer significantly different from the mean of the reference group (that is at zero). Does this suggest that the covariates effect is not significant but that it purges enough variance from the structured mean to nullify the previous significant latent mean differences across groups? 


Questions not specific to Mplus are best posted on a general discussion forum like SEMNET. 


I am running a basic CFA and finding a different chisquare value depending on whether I use INFORMATION=EXPECTED vs. INFORMATION=OBSERVED. The parameter estimates are the same across these two approaches so I am wondering why the chisquare values are not the same. Thanks! 


Your standard errors and fit statistics will vary depending on the information matrix you use. We recommend observed when there is missing data. 


I want to check measurement invariance regarding a skill test used in paperandpencil and in computerbased form. I had the same sample; it means each of the students solved the test in both deliveries. I am not sure whether using MGCFA is the best method for doing the analyses as if I had different sample for the PP and CB administration. What would you recommend me? Thank you in advance. 


You cannot use multiple group analysis because the groups are not independent. You can test measurement invariance across time in a single group analysis. See the Topic 3 or 4 course handout on the website under multiple indicator growth. The first part of the example shows how to test measurement invariance across time. 


I have a VERY basic question that I have not been able to find the answer for, and I apologize in advance for asking this question. I am doing a MG SEM, and needing to compare my partial metric invariance to my configural invariance. I cannot remember HOW to do this in Excel using the loglikelihood and df, and my estimator was ML so there is no "correcting the scale" in my output. Can you direct me on how to do this? Thank you. 


2 times the loglikelihood difference with df = the difference in the number of parameters. 


I want to test measurement invariance across groups. My CFA model has four factors, each measured by 2 or 3 items (categorical data). When I tested the configural model, I used the following constraints to get an identified model: one threshold of each item and two thresholds of each reference item were constrained to equality across groups. In addition, I fixed the latent factor variances to 1 in all groups (in the metric invariance model, the factor variances were freed, except in group 1). Can you tell me, if this is correct? I am not sure about fixing the factor variances to 1 in the configural model, but without doing so, the model was not identified. Thank you in advance! 


The models we recommend for testing measurement invariance are described in the Version 7.1 Language Addendum on the website with the user's guide. See Multiple group factor analysis: Convenience features. 


Thank you! Now, I used "MODEL = configural metric scalar" to test measurement invariance and the results confirmed scalar invariance across groups. However,in the scalar model, the latent mean differences between groups are different from the observed mean differences between groups (which I computed seperately based on scale scores). How is this possible? And does it mean that the observed mean differences cannot be interpreted even if scalar invariance has been confirmed? 


How do you create the observed scale scores? 


I summed the coded items belonging to each scale up (and divided the sum through the number of items per scale). The scales are very short (2 or 3 items per scale). Item codings lie in between 1="definitely not true" and 4="definitely true". 


Summing items assumes equal loadings which the scalar model does not. Also, the reliability of the sum is not high with only 2 or 3 items per scale. If the scalar model fits the data well, I would trust it more. 

Back to top 