Message/Author 

Anonymous posted on Friday, October 29, 1999  11:40 am



I thought that it was not proper to do multiple group analysis when correlation matrices are analyzed. Does this mean that multiple group analysis cannot be done for categorical outcome variables? 


No, multiple group analysis can be done for categorical variables as long as thresholds and scale factors are included in the model. The scale factors take into account possible differences in variances across groups. Refer to Muthén, B. & Christoffersson, A. (1981). Simultaneous factor analysis of dichotomous variables in several groups. Psychometrika, 46, 407419. 


Could you comment on the use of scale factors when studying measurement invariance with categorical data using a multiple group setup for confirmatory factor analysis. I assume that constraining the scale factors to be equal across groups implies an assumption of invariant error variances across groups. However, in data I have analyzed, this assumption fails. If you allow separate scale factors for each group can you then test and interpret invariance of thresholds and loadings? It seems to me that the interpretation is less straightforward. If we compare with an IRT approach to measurement invariance, will invariance of slopes across groups imply both invariance of loadings and error variance? 


The scale factors being equal across groups implies that the variances of the underlying y* are the same across groups. The y* variances are a function of the factor loadings, the factor variances, and the residual variances. Therefore, holding scale factors equal across groups has a strong implication. If you allow separate scale factors across groups for an item, invariance of thresholds and loadings can be tested for that item. In this case, the difference in the scale factors across groups should be interpreted as a difference in error variances and factor variances. Note also that you can have invariance for some items but not others. 


Can I follow up on your last response please Bengt. Are you saying that when you test for the invariance of thresholds and factor loadings you should let the scale factors vary between groups (this the default in Mplus as I remember). If it turns out these are invariant you could then test whether the error variances and factor variances are invariant by holding the scale factors equal across groups. Am I understanding you correctly? 


Yes, this is correct. 

L.Roeger posted on Wednesday, July 26, 2000  11:59 pm



Thank you for that last response. Can I follow up with a follow up. A MIMIC approach assumes unidimensionality  all items leading to a single latent factor. Many instruments are multidimensional although it is assumed that there is one higher second order factor at work. Does it make any sense to talk about item bias (say males and females) not to the first order factors but the second order factor. For example the CESD depression scale purports to measure a single underlying dimension of depressive symptomatology. It has strong internal relaibility  eg Cronbachs alpha. Numereous factor studies however have found 4 factors and some studies have found support for a second order factor. It is sensible to test for a direct effect of gender when controlling for values on this second order factor. If it does make sense would it better to set this up as a SchmidLeiman parameterisation? That is with items loading to the first order factors and second order factor but the first order factors not loading to the second order factor. Ive never seen a MIMIC analysis along these lines  and would appreciate any opinions or suggestions. 

bmuthen posted on Thursday, July 27, 2000  3:21 pm



I think item bias can be studied using general factors, but it is more involved. I think what I call generalfactor, specificfactor (GS) modeling is the same as SchmidtLeiman (although that is in an EFA context); my Swedish colleague JanEric Gustafsson works with GS modeling and calls it hierarchical factor analysis; I am not sure his papers treat item bias however. For items influenced by both a general and a specific factor, it seems, however, that one has to condition on both factors to study gender bias. Same thing in a secondorder factor model: conditioning on the general factor does not control for the extra (residual) variation in the firstorder factor that influences the item. 

Steve Lewis posted on Monday, August 20, 2001  8:11 am



I have a model with three exogenous factors and a dichotomous outcome variable. I want to examine group differences for three groups. However, I do not get a chisquare test statistic when I attempt a group model analysis. what can I do now? 


I would need to see your input, data, and output to understand why you do not get a chisquare. I assume that your model did not converge???? You can send them to support@statmodel.com 


Hello, I hope someone can help me interpret the output for an analysis of factorial invariance. I am testing for factorial invariance in a CFA following example 21.1B "Multiple group MIMIC model with categorical indicators and a threshold structure". I read the preceding discussion, but I'm afraid I really did not follow it very well. If you have any additional references that would be helpful for someone who is more of a novice, I would appreciate it if you could list them. My sample size is 600. I have two groups, males and females. The data are ordered categorical with response options 0, 1, and 2. There are 85 items (12 double load for a total of 97 parameters). I used the default WLSMV estimator. I guess the first question I should ask is, am I using the correct model? The overall fit indices for the analysis are acceptable (RMSEA: 0.068, CFI: 0.959, and TLI: 0.976). The chisquare is significant (471.433, 196df). This is better than the fit for the CFA run without the multiple group specification. From this I concluded that the model does fit. However, I'm unclear how to interpret the invariance of the individual parameters. The model output shows the same parameter estimates and standard errors for both groups. However, the standardized estimates are different for each group. How read this output to interpret parameter invariance? I have another question about the standardized estimates. For the male group both the STD and STDYX estimates are identical. For the female group, these two estimates are not identical. Can you please explain why this is? I expected these two estimates to be the same for both groups. Thanks in advance for your help and advice. Michael. 


Unfortunately, I don't know of any really beginner references for categorical data modeling. You can look at Appendix 1 in the Mplus User's Guide. I would need to see your outputs to know what your model is and also to interpret the results. One thing I can say is that you get the same parameter estimates and standard errors for both groups because that is the default in Mplus. To judge invariance, you would also need to run the model with the factor loadings free across groups and then compare those two chisquare values. The standardized estimates are different for the two groups because the parameter estimates are standardized using the standard deviations from the two groups not an overall standard deviation. I would have to see the output to understand why STD and STDYX are the same in one groups but different in the other. 


I am trying to do a multiple group analysis (2 groups) to test measurement invariance with categorical variables (15). I have read the discussion in this section and some in others about the default Mplus uses and scale factors and thresholds. In my analysis I was setting the scales of the two groups equal by setting the factor variances to 1 (factor means is 0 by default) in one group and free in the other (factor mean is free by default) as well as setting one item loading per factor to equality. This is a method that is used to estimate a baseline model by Reise et al. in their 1993 Psych Bulletin article. The problem is when you use this method you need to free the factor variance for one group in the full measurement invariance model. Is this contradictory to the default (invariance) in Mplus. More specifically can I free the factor variance for one group in the Mplus default and have the same set up when freely estimating thresholds and loadings for both groups(of course at this point I set factor means to 0 and scale factors to 1 for both groups)? 

bmuthen posted on Monday, April 01, 2002  8:56 am



There is no Mplus default concerning fixing factor variances. If you have free factor variances in all groups, you cannot have all loadings free across groups, but you have to have a loading fixed to one in each group. Otherwise the model would not be identified, not even with continuous outcomes (so this is not Mplus specific). 


I am sorry I wasn't very clear in my previous posting on March 30 (2.26pm). Let me try again: I have a 4 factor model with a total of 18 indicators. I did not free all factor variances across groups. In my baseline model (no invariance), in order to set the measurement scale of the latent factors for both groups, I set the factor variances of one group to 1 and freely estimated the other group's factor variances, and to make the model identified I set the first item loading for each factor to be equal across groups. I removed the equality constraints from thresholds (I left only the first threshold to be equal across groups) and factor loadings (I left the first loading to be equal across groups), and I fixed factor means to 0 and scale factors to 1 for both groups. Since, I am using the categorical (1 to 5) variables option (WLS) I had the thresholds and factor loadings invariant in the default. The factor means are 0 for the first group and free for the second, and scale factors are fixed at 1 for the first group and free for the second group. In the default model (full invariance) the factor variances is the same as in the baseline model (fixed at 1 for one group and free for the other) and all the loadings are set to be equal across groups. My question is: does this method of setting the measurement scale to be equal across groups contradict Mplus's default model for categorical data where the scale factors are set to 1 for one group and free for the other. I would be happy to send my input if this description is still not clear. Thank you very much. 

bmuthen posted on Tuesday, April 02, 2002  3:49 pm



If I understand this correctly, the answer to your question is no. Your approach to setting the latent variable metric is fine (and often used). My only hesitation is about what you say in your first paragraph, namely that you hold the first threshold to be equal across groups. Although this is in line with loading invariance, I don't know that this is necessary, at least not from the point of view of setting the latent variable metric. 

Anonymous posted on Monday, November 04, 2002  2:42 pm



Is there a way to differentially weight cases when conducting a CFA in Mplus (i.e., include a weighting variable)? For example if a data set is from a large survey for which cases require weighting to represent a statewide population. Thanks! 


Yes, a weighting variable can be included. You identify this variable using the WEIGHT option in the VARIABLE command 

Anonymous posted on Monday, November 04, 2002  10:28 pm



Thanks! 

bmuthen posted on Wednesday, November 20, 2002  6:42 am



You may want to study a new technical note, Mplus Web Note #4  see Mplus' home page. For step (2), I would recommend imposing the loading and the (4) threshold invariance together; separating them is not as straightforward as with continuous indicators. The separate loading test in (3), however, is possible. 

Anonymous posted on Sunday, December 01, 2002  9:05 pm



Thank you for your prompt reply. Would you please give me some advice, again? If I understand your last comment correctly, the six steps for exam of factorial invariance I previously stated could make more simpler. I think I can also test invariance of scale factors instead of factor loadings and thresholds invariance, because invariance of scale factors means invariance of factor loadings (ramda), threshold, and residual variance. Alternatively, can I test factorial invaiance of secondorder factor model following the four steps? (1) no equality constraints, (2) imposing equality constraints on scale factors of categorical indicators, (3) in addition to step (2), imposing equality constraints on factor loadings (gamma) (4) in addition to step (3), imposing equality constraints on factor means, When the model provided approval fit indices in step (4), it implies strong factorial invariance. Is it correct? 

bmuthen posted on Monday, December 02, 2002  3:59 pm



Let me first correct your statement about scale factors. They are functions of 3 things: residual variances, loadings, and factor variances. When loadings (and thresholds) and factor variances are held invariant, fixing the scale factors to one in all groups implies that the residual variances are invariant across groups. 

Angela posted on Monday, April 28, 2003  12:36 pm



Is there any test in Mplus for testing the equality constraints for multiple groups similar to LM tests in EQS? If not, how do I diagnose misfit in a twogroup path model where all structural paths are constrained to be equal? If the model does not fit, which path do I free? Or do I just keep trying to free paths till one works? Also, I know chisqure difference tests are not appropriate with WLSMV estimation  what is the alternative for testing change in fit as a result of freeing parameters? 


There are no LM tests or modification indices available in Mplus for categorical outcomes. You can look at derivatives (TECH2) but these are unscaled. We suggest using WLS for chisquare difference testing and then WLSMV for the final model. 

Jane posted on Thursday, March 18, 2004  10:32 am



I am interested in testing for factorial invariance between two groups on a 120item, dichotomously scored test. I am starting from the premise that a singlefactor model will hold in both groups and hoping to progress from there. I think that I understand how to do this using WLS for chisquare difference testing (and WLSMV for the final model), however it seems that the large number of indicators is precluding me from using these estimators for my present problem. Using WLSMV, I haven't enough memory to invert the weight matrix on a machine with 512MB of RAM. Using WLS, I end up with weight matrix that is not positive definite for at least one of my two groups in attemption a preliminary singlegroup analysis and only after a long run time. Using ULS, I can reach convergence for both single group runs and for a multiple group run as well. When I have dealt with factor analysis of dichotomous item response data for long tests in the past, I have relied on ULS and analysis of the residual correlation matrix to assess fit in a single group context. I am aware of some "approximate" chisquare fit statistics that can be obtained for a ULS analysis, but I am not sure that the behavior of such statistics is well understood. As such, I am not sure that relying on such statistics for difference testing would be appropriate. I am struggling with how to approach this analysis problem. Any assistance would be greatly appreciated. 


Before I answer your question, I wonder which version of Mplus you are using. We have had some memory usage improvements along the line. And it is strange that WLS would need less memory than WLSMV. 

Jane posted on Friday, March 19, 2004  5:18 am



Thanks for getting back to me so quickly. I am using version 2.14. I'm not sure what to think about why WLS got to the point of checking the weight matrix whereas WLSMV did not. In the WLS and WLSMV runs, I changed only the estimator and nothing else. 


If you can send your input and data, I can take a look at it and run it on my computer where I have more memory than you. It may be that you need more memory for this type of analysis. 

Jane posted on Friday, March 19, 2004  6:25 am



Will do. Thanks! 

Anonymous posted on Sunday, March 28, 2004  5:23 am



Is it possible that WLSMV Chisquared can increase when a model is estimating more parameters than a previous smaller (nested) model? I'm fitting a twogroup model, and the WLSMV chisquared increases when some parameters are freed from their constraint of equality across groups. Has this got anything to do with the "mean and variance corrected" part of WLSMV chisquare? I have read here that the df don't behave as expected from typical df, but is this also true of the chisquare value (which typically should decrease as the model increases its complexity/parameters)? Or must there be some error I have made somewhere  eg not true convergence? Thanks. 


The important thing to look at with WLSMV is the pvalue. The chisquare value itself and degrees of freedom are not interpreted in the same way as for WLS for example. 

Anonymous posted on Thursday, May 20, 2004  9:37 am



i am trying to perform a multiple group analysis with a binary grouping variable that discriminates black and white subjects. i have found that the results differ depending on which subject type is coded "1" and which is coded "0". i am interested in the associations among my latent variables. i have 1 latent exogenous variable and 2 latent endogenous varibles. the parameter estimates defining the two regression models differ by the coding of the race variable (which i expected) as do the Est./S.E. (which i did not expect). the R^2 are the same between the models (as i expected). can you explain the apparent inconsistency in the Est./S.E.? 

bmuthen posted on Thursday, May 20, 2004  11:28 am



The coding change changes the baseline group which changes the parameterization which in turn can change the z ratios. This phenomenon may be more common in complex models. Instead using race as a dummy variable will avoid this, assuming of course that the simplifying assumptions of groupinvariant loadings and variances are met. 


I am testing the crossgender invariance of a measure with about 25 categorical indicators and 8 factors. I first tested configural invariance by (1) allowing all the loadings and thresholds to be freely estimated (except for the first item in each factor, which is set to 1 in both sexes), (2) setting the scale factors equal to 1 in both sexes, and (3) setting the means equal to zero in both sexes. Then, to test factorial invariance, I (1) constrained the thresholds and factor loadings to be equal across sexes, and (2) allowed the factor means and scaling parameters to be estimated in the second group. My question: Is the second model nested within the first, even though the first model sets the means to 0 in both groups and and the second model allows the means to be estimated in the second group? Just want to make sure... Thank you! 

bmuthen posted on Wednesday, July 14, 2004  2:49 pm



Yes, the chisquare difference testing is fine and H0 is nested within H1. This is so even though H0 has Delta and factor mean parameters free that H1 doesn't have. This is because for H0 we can consider Delta*Lambda as a new Lambda in groups 2, 3, ...(so a constrained Lambda relative to group 1) and similarly factor means being free in groups 2, 3, ... is a way to have a different, constrained threshold vector for groups 2, 3, .... So, H0 places nonlinear constraints on the H1 model. 

Anonymous posted on Thursday, July 15, 2004  7:45 pm



I'm testing measure equivalence of a single factor model using an unconstrained baseline model with maximum likelihood estimation, then fixing loadings and intercepts one parameter per time, and examining significance of the chisquare change. In this model the unconstrained base line (M1) is nested within the constrained test model (M2), so M2_x2  M1_x2 = delta_x2. I observe decreases (poorer fit) and increases (better fit) in X2 values from fixing various items  but is it possible for X2 to increase and decrease due to imposing an equality constraint across groups? Thank you. 


If you go from a fully unconstrained model to a model where you constrain some parameters, you should always see poorer fit, significant or not. Please send to support@statmodel.com an output that shows the fully unconstrained model and a second output where you have constrained parameters and gotten better fit. 


Dear Linda & Anonymous, Yesterday  I found myself in the same situation when I was placing equality costraints on parameters across two groups. After I read an article where its authors obtained a negative chisq difference  I had posted a question on SEMNET about such an occurrence. A portion of the offlist response that I received was: "It happens with ML when the implied / reproduced covariance matrix of the less constrained model is nearsingular. One way to frame the ML discrepancy function is as the sum of products of eigenvalues of the inverted implied covariance matrix Sigma (weighted by squared residuals). When Sigma is nearsingular, Sigmainverse can have extremely large eigenvalues, which can drastically inflate chisquare. Sometimes, relaxing constraints in a model can have the effect of rendering Sigma nearsingular, with the above results." Hope this helps. Scott 


Hello, Is it possible to specify equality of the intercepts (means in the output file) of the factor in a 2group CFA model with ordered categorical indicators? (I'm afraid I was unable to find an answer in the Mplus guide nor on the web site). I tried without success the "[f1] ();" command and also the "[f1]@0;" in the submodel command. Alternatively I was also considering a MIMIC model using the group variable as a predictor of the factor, but it requires equality of residual variances, which does not hold in my data. Stephane PS1: Also it the MODINDICE command did not work in this case. PS2: I was using the Theta parameterization in order to be able to study differences in the residual variances. 


Try [f1@0]; instead of [f1]@0; That works. MODINDICES does work. I tried it on what you sent to support. I will forward the output to you. 

Anonymous posted on Friday, January 07, 2005  8:20 am



I am using several ordinal items as indicators of three latent factors using WLSMV. After running the substantive model, I want to examine if the regression paths between the latent factors are equivalent across race. From what I understand, using the grouping function automatically sets the factor loadings across the two groups to equivalence. As a result, do I just run one model with the regression path I am interested in freed and another with it fixed and use the difftest function to determine if the two models are significantly different? In addition, some of the categories of my ordinal indicator have relatively few participants, especially when you break them down by race. Are there any rules of thumb about how few are two few when using an ordinal scale? 

bmuthen posted on Friday, January 07, 2005  11:21 am



Regarding your first question, yes this is how you would do it, except you don't fix them but hold them equal. The second question is a bigger one  I don't think there are simple rules of thumb; see text books on logistic regression and also the 1989 paper by me in the special issue of SM&R on the Mplus web site. 

Marisa posted on Friday, January 28, 2005  7:55 am



Dear Linda, I am wondering about some modificationindices I got in my multigroup analysis with categorical indicators. They look as follows: ON/BY Statements AB ON AB / AB BY AB 999.000 0.000 0.000 0.000 where AB is a latent construct in the model. What does this mean? Thank´s, Marisa. 


A value of 999 means that for some reason the modification index could not be computed. 


Hello. I am looking for a good reference for dummies (i.e., me) on how to perform and interpret betweengroup threshold comparisons. I have a CFA with nine categorical indicators. I have found that a number of the thresholds are noninvariant across my four groups. Now that I have freely estimated those thresholds, I'd like to talk about "mean" pairwise group differences. Might you suggest a course of action on learning how to perform and interpret my findings? Thank you in advance! 

Anonymous posted on Thursday, March 03, 2005  12:57 pm



Hello. I am performing a number of CFAs, some with all categorical indicators and some with one or two categorical with others continuous. I would like to test these CFAs for invariance across four groups (factor loadings, factor variances, intercepts / thresholds, factor means). I am using a COMPLEX, MISSING, MEANSTRUCTURE analysis type with a "school" cluster variable and a weighting variable. The approach I'd like to use (and have been using for continuous indicators) to test for invariance is a hierarchical approach to constraining parameters across groups and testing for model fit and decrement in model fit. These models have been: 1 (configural invariance)  freely estimated factor loadings, intercepts, and variance, factor mean = 0, across groups. 2 (metric invariance)  constrained factor loadings, free intercepts, free variance, factor mean = 0, across groups 3 (factor variance invariance)  constrained factor loadings, constrained variance, free intercepts, factor mean = 0, across groups 4 (intercept scalar invariance)  constrained factor loadings, constrained variance (if appropriate), constrained intercepts, free factor mean, across groups. 4a? (partial intercept scalar invaraince)  based on MIs I free certain intercepts to get good model fit and no sig. decrement in model fit. 5 (factor mean scalar invariance)  constrain factor means across groups if good fit is found in 4a? and majority of intercepts are invariant. Now, I'd like to maintain a similar progression of hierarchical constraints (15) with my analysis of CFAs with categorical data. I learned from a 2001 post on the discussion board that with my "1" model I would have to set the scales of my categorical variables to 1. And, with my "4" model, I would have to set to 1 the scale of my first group and freely estimate the scale for the other groups. How would I, or can I, perform my other models with respect to the scales? The Mplus default (constraining factor loadings and thresholds at the get go) is too many jumps for me (and my dissertation committee). I hope this is clear. I appreciate any thoughts you might have on this. 

bmuthen posted on Thursday, March 03, 2005  6:01 pm



Stacey, Maybe I misunderstand you, but I wonder how you have found that some thresholds are noninvariant since you are asking how to perform the analysis perhaps you have been using a simpler ad hoc approach? Unfortunately, there is no simple description of how to do the multiplegroup analysis with polytomous items. I have written an Mplus web note #4, but it isn't for beginners. Our short courses, however, touch on how to do such analyses. Once you have found that a sufficient number (from both a statistical and substantive point of view) of thresholds (and loadings) are group invariant, you go ahead and interpret factor mean differences. 

bmuthen posted on Thursday, March 03, 2005  6:12 pm



Reply to Anonymous on Thursday, March 03, 2005  12:57 pm: Steps 13 all need scale factors fixed at 1  in general, a fixed scale factor is needed unless both the loading and the threshold are held invariant. For 4a you fix the scale factor for the items that are not invariant. Roger Milsap has a recent (or forthcoming?) MBR article that gives more detail. See also Mplus web note #4. The Mplus default is meant to give information via MIs on what invariance restriction needs to be relaxed, so it starts in the middle of your chain. The final results depend to some extent on where one starts in the chain and one wants to start the process as close to the final model as possible. The Mplus default approach is suitable when most items are invariant. 

Anonymous posted on Wednesday, March 16, 2005  8:02 am



I tested a model to explain voting behavour (dichotomous variable) and it fits well. Now I'd like to see if there are differences between groups (i.e. between those with high political interest and those with low political interest). Is it possible to do a multigroup analysis and set successively parameter classes free and see if it results in a significant drop of chisquare/df (like in AMOS)? Is that the procedure, which is described under 12.12 in the Manual (DIFFTEST)? If so, is there a description of how to interpret the results? What does it mean to get a ChiSquare Difference test of 54.000; df=3, pvalue = 0.000? 


Yes, it is possible to do a multigroup analysis and test a set of nested models. You should compare the chisquare differece value to the chisquare critical value for the difference in degrees of freedom (see chisquare table). 

Anonymous posted on Thursday, March 17, 2005  7:54 am



I did such a multigroup analysis and freed the factor loadings which resulted in a significant improvement of the model fit. I also tried to set equal the residual variances of the factor indicators which are by default held equal across groups (p.298). As this constraint means a higher restriction I included the following syntax in the overall MODEL command of the H0 model: f1 BY y1y4; y1 (1) y2 (2) y3 (3) y4 (4); The program says that the H0Model is not nested within the H1 model. I obviously did something wrong, but I don't know what. 


Maybe you have the models reversed. You should estimate the least restrictive model first. If you can't figure it out, send both of your outputs to support@statmodel.com. 


Hello! I am testing the invariance of a latent model with 6 binary outcomes across four groups. I am using a hierarchical approach to constraining various parameters, and comparing model fit of the more constrained model to the less constrained model as I progress. I have a model with constrained factor loadings across groups, constrained factor variances across groups, freely estimated thresholds, and scales set to 1 and factor mean set to 0 across groups. I get good fit and positive equivalent residual item variances and factor variances across groups. My next step in testing model invariance is constraining the thresholds to equivalence across groups and freeing the factor mean. I read in an old message on the discussion board that you then need to free the scales (constrained factor loadings & thresholds = free scales). I do so and get good fit but negative residual variances for one item [p2meetmr] for groups 2 and 3. I correct the problem by resetting the scale for that variable for those groups back to 1. Is it proper to do that? Negative residual variances go away, fit still looks good no MIs larger than 3.0. Then, the next step in hierarchically constraining my model is setting the factor means to equivalence across groups. I do so and get relatively good fit, but a very large positive residual variance (469.362) for that same item for my fourth group. Modification indices suggest a problem with the threshold for that problem item for the fourth group (MI = 12.3, E.P.C. = 11.066). I set the scale for that item [p2meetmr] to 1 for the fourth group. I get poor fit, with modification indices suggesting the freeing of p2meetmr thresholds across all groups, and freeing the factor loading for p2meetmr for groups 2 and 4, and freeing the factor mean for group 4. I decide to free the factor mean, since that was the last model I was testing (and all previous models with thresholds and factor loadings seemed to fit well) and get good fit. I have small MIs across groups, but the E.P.C. for the meetmr factor loading for group four is still somewhat large (M.I. = 1.70, E.P.C. = .390, StdYX E.P.C. = .344). Question 1: In your expert opinion, did I proceed correctly? Question 2: Based on the large E.P.C. for the item factor loading in group 4 during the final run, should I free that parameter even though it looked okay when I tested for factor loading invariance? Question 3: And, as an aside, if scales are freely estimated, are the residual variances unstandardized? If the scales are set to 1, are the residual variances considered standardized? Thank you! I apologize for the longwinded question. 

bmuthen posted on Monday, March 21, 2005  6:06 pm



Let me answer your question in the 3rd paragraph note that the scale factors are functions of 3 things: loadings, factor variance, and item residual variance  together this gives the variance of y* of which the scale factor is a function. By setting the scale to 1 you are fixing the y* variance at 1 which is not what you intended. You can either switch to the Theta parameterization or fix a loading to a smaller value so that the residual variance is no longer negative. You could also let the factor variances be groupvarying at this step. The steps just before your Questions 13 seem ok to me. I would not be side tracked by the EPC but go with the MI. As for Question 3, residual variances are not standardized in either case. 


Hello, I have tried following this discussion and the relevant documentation in the manual, but am having trouble figuring out how to test measurement invariance in a multiple group, CFA with categorical indicators context. In the context of a CFA with continuous indicators, I would test whether there is a decrement in model fit from constraining all unstandardized factor loadings to be equal across groups (relative to a model where factor loadings are free to vary across groups). So, the research question of interest is measurement invariance, and again in the context of continuous indicators the question would be: are the indicators' loadings on common factors equivalent across groups. How would I run an analagous set of analyses (and answer the analagous research question) using categorical data? I am assuming to get at the same research question that I must test invariance of thresholds across groups as well. Is this correct? Are there any other parameters that I should be testing for invariance to answer the research question? Initially, I attempted to first run a multiple group model using Mplus defaults, but allowing loadings on all items but one (to scale the factor) to freely vary: MODEL: f1 BY hypins fatigue retard agit conc indeci death watedec wateinc insom anhed guilt lworth suic; MODEL samp2: f1 BY fatigue retard agit conc indeci death watedec wateinc insom anhed guilt lworth suic; This model would not estimate, and the output stated that the model was probably not identified. After looking into this issue, I understand that I need to incorportate thresholds and scale factors in this model, but am not sure how to do so. The manual states that in order to estimate a model with loadings and thresholds freely varying (which I am now assuming to be the only relevant parameters involved in evaluating my research question stated above) across groups that I need to constrain all scale factors to be equal to 1 across groups in order for this model to be identified? If so, does this place any additional assumptions on the data (e.g., that variances are equivalent between groups) that may not be justified? As you can probably tell, I am confused. Any help would be greatly appreciated. Thanks, Jim 

bmuthen posted on Wednesday, June 15, 2005  7:51 am



This is a big topic that is covered in the Day 3 handout of the 5day Short Courses. You might want to order this handout. 

Anonymous posted on Thursday, June 16, 2005  12:50 pm



In an assessment of measurement invariance, I am trying to estimate (WLSMV) the fit of a lesser constrained measurement model for comparison (DIFFTEST) with the more constrained (thresholds and loadings) default model in Mplus. I have a twogroup (MaleFemale) situation. Assume the basic model is follows: MODEL: f1 BY u1 u2 u3; f2 BY u4 u5 u6; f3 BY u7 u8 u9; Further assume that u1u9 all are ordered categorical with 3 thresholds each. Would you please provide a complete example of the "MODEL:" and "MODEL Female:" syntax that would relax the appropriate loadings and thresholds, and set appropriate factor means=0 and scale factors=1 (DELTA parameterization)? Thanks. 

bmuthen posted on Friday, June 17, 2005  8:08 am



This is described in Day 3 of our 5day Short Courses and the handout for Day 3 is available from Mplus. You may also want to check previous Mplus discussion items on this as well as Mplus Web Note#4. Essentially, you keep our model command as you stated it and add Model Female: f1 by u2u3; [u1$1u3$1]; [u1$2u3$2]; [u1$3u3$3]; {u1u3@1}; [f1@0]; where I have done this only for the f1 indicators. Note that f1 by u1 is not altered but remains fixed at 1. 

Anonymous posted on Monday, June 20, 2005  3:37 pm



Using your suggestions (thanks!) of June17, 20058:08am, I ran both of the following models to calculate a DIFFTEST for a twogroup analysis but received the error message: THE CHISQUARE DIFFERENCE TEST COULD NOT BE COMPUTED BECAUSE THE H0 MODEL IS NOT NESTED IN THE H1 MODEL. All observed variables are ordered categorical. Parameterization=DELTA. Both models converge and produce acceptable fit indices. The HO syntax was: ANALYSIS: TYPE IS general meanstructure; DIFFTEST IS derivM0sex.data; MODEL: meaning by emp1 emp5 emp9; competent by emp3 emp8 emp10; selfdet by emp4 emp6 emp11; impact by emp2 emp7 emp12; pop by work1 work2 work3 work4 work5; The H1 syntax was: ANALYSIS: TYPE IS general meanstructure; MODEL: meaning by emp1 emp5 emp9; competent by emp3 emp8 emp10; selfdet by emp4 emp6 emp11; impact by emp2 emp7 emp12; pop by work1 work2 work3 work4 work5; MODEL female: !release loadings from default (equality) meaning by emp5 emp9; competent by emp8 emp10; selfdet by emp6 emp11; impact by emp7 emp12; pop by work2 work3 work4 work5; !release thresholds from default (equality) [emp1$1work5$1]; [emp1$2work5$2]; [emp1$3work5$3]; !fix scale factors = 1 in both groups {emp1emp12@1}; {work1work5@1}; !fix factor means = 0 in both groups [meaning@0]; [competent@0]; [selfdet@0]; [impact@0]; [pop@0]; SAVEDATA: FILE IS derivM0sex.data; Any suggestions would be appreciated. (I have ordered the "Day 3" handouts.) Thanks again. 


This is a question that should be sent to support@statmodel.com. Please inlcude your outputs, data, and license number. 


Drs. Muthén, I am conducting a 2group analysis (i.e., males and females) for measurement equivalence/invariance (ME/I). I have 10 ordered categorical indicators in my analysis that have been shown to load onto 2 factors in numerous previous studies. Using recommendations made by Vandenburg & Lance (2000) on conducting ME/I tests, I am proceeding in the following order: 1. An omnibus test of covariance matrix equality across the two groups (which was not supported in my results) 2. Tests of configural invariance, which Horn & McArdle (1992) refer to as a test of weak factorial invariance (this is the step I am presently testing) 3. Metric invariance 4. Scalar invariance, and so on. To test configural invariance, I am using two steps (see below). I have four questions related to this step, which are as follows: Question 1: Due to negative residual variance on variable SCR2_36 for males (using Delta parameterization) when first attempting to run this model, I chose to use theta parameterization (as suggested by Bengt for this problem on 3/21/2005 in this discussion string). I first tried to fix the problem using delta parameterization by setting the loading for item SCR2_36 to a smaller value (i.e., .9), but then the variable SCR2_34 had negative residual variance. From this point, I set SCR2_34s factor loading to .9 as well, but the model fit indices were significantly affected by this point (i.e., the chisquared difference test was significant, using the special procedure for WLSMV difference testing). Therefore, theta parameterization seems like the ideal choice. Question 1A. Am I correct? Question 1B. Is there something else I am not considering? Question 1C. Is it okay to use the model with SCR2_34 and SCR2_36 fixed to .9 as the baseline model (step 1) for Delta parameterization, and then proceed to set the factor means to zero and scale factors to 1 for step 2 (TLI, CFI and RMSEA values are still acceptable using this model)? Question 2: Question 2A. Assuming theta parameterization is the correct way to proceed, will the two separate data steps (below) give me the results I seek to test configural invariance? In both steps I free the thresholds and fix SCR2_36 (for F1) and SCR2_41 (for F2) as the reference indicators. In step two, I set the factor means to 0. Using theta parameterization, I understand that scale factors cannot be included as parameters. Question 2B. Is there something else I need to constrain in the second step? Question 3: If configural invariance is not demonstrated (i.e., the chisquared difference test is significant), my understanding from Vandenbergs publications is that tests of ME/I stop; there is no point in continuing if the constructs being measured differ across groups. Is my understanding correct? Question 4: If configural invariance is not demonstrated, should I proceed to run the confirmatory factor analysis separately for each gender? Or, do I need to run an EFA for each gender? Thank you for your time, TN PS I have ordered the day 3 handouts you suggest reading for this topic. Step 1: VARIABLE: NAMES ARE Imputation ID_NUM Gender SCR2_34 SCR2_35 SCR2_36 SCR2_37 SCR2_38 SCR2_39 SCR2_40 SCR2_41 SCR2_42 SCR2_43; USEVARIABLES ARE SCR2_34 SCR2_35 SCR2_36 SCR2_37 SCR2_38 SCR2_39 SCR2_40 SCR2_41 SCR2_42 SCR2_43; CATEGORICAL = SCR2_34  SCR2_43; GROUPING IS Gender (0 = Male 1= Female); ANALYSIS: TYPE IS GENERAL; ESTIMATOR IS WLSMV; ITERATIONS = 1000; CONVERGENCE = 0.00005; PARAMETERIZATION=THETA; OUTPUT: SAMPSTAT RESIDUAL STANDARDIZED CINTERVAL TECH1 TECH3; MODEL: F1 by SCR2_34 SCR2_35 SCR2_36; SCR2_36@1; F2 by SCR2_37 SCR2_38 SCR2_39 SCR2_40 SCR2_41 SCR2_42 SCR2_43; SCR2_41@1; [SCR2_34$1 SCR2_34$2 SCR2_34$3 SCR2_34$4]; [SCR2_35$1 SCR2_35$2 SCR2_35$3 SCR2_35$4]; [SCR2_36$1 SCR2_36$2 SCR2_36$3 SCR2_36$4]; [SCR2_37$1 SCR2_37$2 SCR2_37$3 SCR2_37$4]; [SCR2_38$1 SCR2_38$2 SCR2_38$3 SCR2_38$4]; [SCR2_39$1 SCR2_39$2 SCR2_39$3]; [SCR2_40$1 SCR2_40$2 SCR2_40$3 SCR2_40$4]; [SCR2_41$1 SCR2_41$2 SCR2_41$3 SCR2_41$4]; [SCR2_42$1 SCR2_42$2]; [SCR2_43$1 SCR2_43$2]; SAVEDATA: DIFFTEST IS deriv.dat; Step 2: VARIABLE: NAMES ARE Imputation ID_NUM Gender SCR2_34 SCR2_35 SCR2_36 SCR2_37 SCR2_38 SCR2_39 SCR2_40 SCR2_41 SCR2_42 SCR2_43; USEVARIABLES ARE SCR2_34 SCR2_35 SCR2_36 SCR2_37 SCR2_38 SCR2_39 SCR2_40 SCR2_41 SCR2_42 SCR2_43; CATEGORICAL = SCR2_34  SCR2_43; GROUPING IS Gender (0 = Male 1= Female); ANALYSIS: TYPE IS GENERAL; ESTIMATOR IS WLSMV; ITERATIONS = 1000; CONVERGENCE = 0.00005; PARAMETERIZATION=theta; DIFFTEST IS deriv.dat; OUTPUT: SAMPSTAT RESIDUAL STANDARDIZED CINTERVAL TECH1 TECH3; MODEL: F1 by SCR2_34 SCR2_35 SCR2_36; SCR2_36@1; F2 by SCR2_37 SCR2_38 SCR2_39 SCR2_40 SCR2_41 SCR2_42 SCR2_43; SCR2_41@1; [F1@0]; [F2@0]; [SCR2_34$1 SCR2_34$2 SCR2_34$3 SCR2_34$4]; [SCR2_35$1 SCR2_35$2 SCR2_35$3 SCR2_35$4]; [SCR2_36$1 SCR2_36$2 SCR2_36$3 SCR2_36$4]; [SCR2_37$1 SCR2_37$2 SCR2_37$3 SCR2_37$4]; [SCR2_38$1 SCR2_38$2 SCR2_38$3 SCR2_38$4]; [SCR2_39$1 SCR2_39$2 SCR2_39$3]; [SCR2_40$1 SCR2_40$2 SCR2_40$3 SCR2_40$4]; [SCR2_41$1 SCR2_41$2 SCR2_41$3 SCR2_41$4]; [SCR2_42$1 SCR2_42$2]; [SCR2_43$1 SCR2_43$2]; 

bmuthen posted on Saturday, December 03, 2005  5:55 pm



This is on the border of the length of tutorial types of questions that we want to handle at Mplus Discussion, but let me try a quick reply. Q1A. That's fine. Q1B. The neg res var may indicate that the model is misspecified; You may want to do an EFA. Or that the res var is small positive and you have a small sample. Q1C. I think so. Q2. Note first that by default the loading of the first variable to the right of BY is fixed at 1, so if you want to fix another variable at 1, you need to free the first variable's loading (say, ...BY y1*...) I don't understand you step 2 here because I thought configural invariance had to do with zero loadings being in the same place in the groups? And, I didn't think it had to do with factor means. Q3 Makes sense if my configural understanding is right. Q4. Yes on the first statement. 


Dr. Muthen, Thank you for your prompt reply, and I am sorry for the length of the previous posting. I realize I have asked a lot of you already, but I would appreciate you clarifying one point of your previous response and answering two additional questions. Clarification question: In your response to Q2, I was not sure what you meant by configural invariance had to do with zero factor loadings being in the same place. Forgive me for asking, but did you mean that configural noninvariance would imply zero loadings being in the same place? If not, could you please explain what you meant by zero loadings in the same place? Additional Questions: Q1. Using the example you posted from 6/17/2005: Model: (Comment: Unconstrained model) f1 by u1u3; Model Female: f1 by u2u3; [u1$1u3$1]; [u1$2u3$2]; [u1$3u3$3]; {u1u3@1}; [f1@0]; Q1. If one were to use Delta parameterization, would the next step for testing configural invariance in M Plus be the step below? Is this a test of weak factorial invariance? Or, is there a less constrained place to begin? Model: (Comment: Constrained model) f1 by u1u3; {u1u3@1}; [f1@0]; Model Female: [u1$1u3$1]; [u1$2u3$2]; [u1$3u3$3]; Q2A. Using theta parameterization, which does not allow scale factors to be estimated as parameters, how would you proceed to fully unconstrain the model for step 1 and then proceed to test configural invariance in step 2? Q2B. Would you merely free the residual variances (e.g., u1u3;), free the thresholds, and set the factor mean to 0 in the model female: statement for step 1; then, constrain the residual variances (e.g., u1u3@1) to be equal across the two sexes in the next step? Or, do the steps differ more than this from Delta parameterization? Thank you for your time and your help. Both are greatly appreciated. Tom N 

bmuthen posted on Wednesday, December 07, 2005  4:44 pm



Clarification question. It is my understanding that configural invariance means that if one group has a loading matrix for say 2 factors and 4 variables: * 0 * 0 0 * 0 * where * is a nonzero loading, then the other group should have the zero loadings in the same places but the nonzero loadings do not need to be the same. I may be wrong, however. Let's see if we agree on this as a first step. 


Hello Dr. Muthen, Yes, with the help of your example, what you describe is what I understand to be factorial invariance. 1. How should I go about testing the pattern of zero and nonzero loadings for each group using a chisquared difference test? 2. Would you obtain the pattern of zero and nonzero loadings using EFA? Or, can it be done with output from a CFA? If so, what analysis option do I need to specify in M Plus (the loading matrix is not something with which I am familiar outside of EFA)? Thank you again for your prompt reply and assistance. Tom N. 


1. I don't know what the literature says on this but this is what I would do. I would do an analysis for each group separately where the model has zero loadings in specific places according to your hypothesis. I would test this against either an unrestricted model which is what is done by default or an EFA model that imposes m squares restritions on the model paramters. The test of configual invariance is then the sum of these chisquare values and their degrees of freedom. For categorical, use WLSM. 2. Theory. 


Hi! For a 2group CFA with categorical variables, I am getting the error message "Based on Group 2: Group 1 contains inconsistent categorical value for W16_34: 2". Group 1 does in fact have several people who picked 2 (on a 2 to 2 likert scale) while group 2's people never picked this most extreme category. What do I do about this? Thank you!! 


For weighted least squares, you can't do anything except collapse categories. For maximum likelihood, you can use the special features available for the CATEGORICAL option. You can read about these in the user's guide and decide which is best for your situation. 


Hello Dr. Muthen, Thanks for your suggestions. I have some additional questions based on the method you suggested. Allow me to use 2 factors and four variables to illustrate my questions: 1. For the unrestricted model for each sex (step 1), would I use the following syntax? (This model uses Delta parameterization, the analysis is general, and the variables are ordered categorical.) F1 by u1 u2 u3 u4; F2 by u1* u2* u3@1 u4; ! Comment: u1& u2 are nonzero loadings on F1 ! Comment: u3 & u4 are nonzero on F2 F1@1; F2@1; !Fix factor variances at 1 2. For the restricted model for each sex (step 2), would I use the following syntax? F1 by u1 u2 u3@0 u4@0; F2 by u1@0 u2@0 u3@1 u4; F1@1; F2@1; 3A. If this is correct, I am confused by your statement, The test of configural invariance is then the sum of these chisquare values and their degrees of freedom. Does this mean I would perform the steps below? 1. First obtain the chisquared difference value for males from step 1 to step 2 2. Then obtain the chisquared difference value for the females 3. Sum the males value with the females value, using the combined degrees of freedom 3B. How do I combine the chisquared values if I use WLSM? Also, can I use WLSMV instead of WLSM? (M Plus gives me a message that difference testing is unavailable for WLSM) 4. The final question concerns zero loadings. Do you have any suggested guidelines, or suggested readings, for determining when a zero loading is too far from zero (i.e., it appears to double load)? 


See Example 5.1 in the Mplus User's Guide. For f1, the zero loadings are for the factor indicators y4, y5, and y6. For f2, the zero loadings are for y1, y2, and y3. If the answers to your other questions have not been sufficiently clear, then Mplus Discussion is probably not the correct outlet for them. You may need to seek the services of a statistical consultant who can spend more time with you. Or perhaps you should post your questions on SEMNET where someone who works with configural invariance may be able to advise you. 


Hello Drs. Muthen, I appreciate your help. Thanks again for your time and guidance. Tom N 

CW posted on Wednesday, January 18, 2006  11:50 am



Greetings, I am fitting a CFA model with 3 groups using binary indicators, WLSMV, and the theta parameterization. I would like to constrain the residual variances for all indicators to be the same across groups, but I cannot figure out how to override the default that sets all residual variances to 1 for the first group. Can you help? CW 

CW posted on Wednesday, January 18, 2006  11:54 am



p.s. About my question above, let me clarify that I want the residual variances to be free parameters, equal for each group. CW 


The only way to make the residual variances the same in all groups would be to fix them to one in all groups. 

JPower posted on Tuesday, May 09, 2006  4:15 pm



Hello, I am following a group of people over four time points. My outcome at each time point is being regressed on two factors at that time point (same categorical indicators across time). Also at each time point, except the first of course, the factors are being regressed on the outcome of the previous time point. I wish to determine whether the effect of factors on the outcome at each time point are invariant over time. How can I do this? Would I do chisq difference testing between this model and one where I make the regression coefficients equal over time? Thank you for your help. I hope I was clear in my explanation. 


You need to first establish measurement invariances of the factors over time. Only then would it make sense to treat them as the same dimensions. If you want to test the equality of regression coefficients, you can use chiisquare difference testing. 


Hello, to obtain in Mplus output the log oddds value should I ask for the CINTERVALS in the output comand? Thank you very much Fiona 


You will obtain log odds as parameter estimates if you use the CATEGORICAL option and the maximum likelihood estimator. The CINTERVALS option is used to request confidence intervals. 


Hi, I am assisting a student with a multiple group CFA of some binary variables. In view of problems she is having, Ive reduced this down to a twogroup single factor model with 8 items. The unconstrained model below runs and is generally okay but produces one very suspicious looking residual variance (under theta parameterization): Estimates S.E. Est./S.E. Std StdYX ITEM6R 65.377 90.852 0.720 65.377 0.731 In a model with constrained loadings, this problem goes away: ITEM6R 0.743 0.147 5.053 0.743 0.731 There is no immediately obvious (to me) explanation for this. There is not much difference in the frequencies of dichotomies or item correlations in each group. My question is whether any notice can be taken of the unconstrained analysis given this and, if not what, to do about it. Thanks, Andrew Analysis: Type = mgroup meanstructure; Estimator = WLSMV; Parameterization=theta; Model: fac BY item1r@1 item2ritem6r item7r item9r item16r; item5r with item9r; Model male: fac BY item1r@1 item2ritem6r item7r item9r item16r; item5r with item9r; item1r@1; 


Dear Dr. Linda, thanks you very much for your reply. I really appreciated it. Flora 


Andrew  This is difficult to answer, but the Mplus Web Note #4 shows that in some instances the Theta parameterization can give results like yours. Try the default Delta parameterization and request standardized output  then you get computed residual variances and can see if the Item6r residual variance is particularly large or small in one of the groups. 


Dear Bengt, Thanks for the fast reply. Ive taken your suggestion and run the delta parameterization, getting essentially identical results a small scale factor (.131) producing a large raw residual (~45) which standardizes down to a value comparable to the other group (~.27). Ive tried different types of constraints for identification, but these just push the problem somewhere else. All of this is surprising given that the model seems to be a reasonable, if not outstanding, fit to the data in each group. Ive now run it on males and females separately without any problems. The correlation matrix and resultant loadings are very similar. With one or two exceptions, thresholds are monotonically related, with those of males lower than females. Beyond producing a defensible model for this dataset, Im interested in fully understanding fitting multiple group models to ordered data, so Id be grateful for any suggestions. Thanks, Andrew 


Hi, I just finished a multigroup CFA with categorical indicators. I found complete measurement invariance for loadings/thresholds. Scale factors were set to 1 in the first group and freely estimated in the second group. My scale factors for the second group looked a little funny  there were all bigger than I've seen before  around 5.00. Is this indicating a problem? Thanks! 


You would need to send your input, data, output, and license number to support@statmodel.com for an answer to that question. 


I'm interested in the measurement invariance analysis with ordered categorical data. I want to compare two approachs: IRT and LRV, and so I'd need to manipulate the intercepts. But all latent intercepts are fixed to 0 in mplus. How can relaxed this constraint? 


To have access to intercepts, you need to put a factor behind each categorical observed variable. You do this as follows: f BY u: f @1; 

dm posted on Monday, January 01, 2007  6:00 pm



Hi, I have three questions (sorry for being unable to find an appropriate topic for this posting): (1) When do you expect MPLUS 5 will be released? (2) If I purchase MPLUS 4 now, can I upgrade it to MPLUS 5 later? And, how much would that cost? (3) I am a student now, and if I become a faculty member when MPLUS 5 is released, am I still eligible for an upgrade? Thanks! 


1. Probably in the middle of 2007/ 2. An Mplus license comes with a one year upgrade and support contract which needs to be renewed annually. If you purchase Version 4 now, you will receive Version 5 at no additional cost if it comes out within one year. 3. If Mplus comes out within a year, you will obtain Mplus at no additional cost. However, you will not be able to renew your upgrade and support contract without proof of student status after the first year. You would be better off off to purchase a regular license. 


Hello, I am running a multiple group logistic regression (ml is my estimator) to test invariance of estimates between my 2 groups. Although I have "standardized" as a command in the output line, MPLUS is not providing the standardized estimates. I am using MPLUS 4.1. Is there a way to obtain standardized estimates when running this analysis or do I have to compute the standardized coefficients by hand? Thank you for your assistance. Anne 


You would have to do this by hand if Mplus does not provide them. 


Thank you Linda. Anne 

J. Wood posted on Monday, May 14, 2007  6:16 am



This might be a dumb question, but I'm not yet so familiar with testing measurement invariance, so please have patience with me: If I want to investigate measurement invariance over sex, and I've previously found correlated residuals in the different scales, should I also include them in the models (so 1. polychoric correlation 2. polychoric correlation, thresholds equal 3. factor models 4. equal factor loadings 5. equal means 6. equal residual variances)? I think I have to, but it is pretty important for me to be sure, because I have 180 models to fit... Thanks in advance! 


The models used to test for measurement invariance for categorical outcomes differ from the models used to test for measurement invariance for continuous outcomes. These models are described at the end of the multiple group discussion in Chapter 13 of the Mplus User's Guide. If you find that residual covariances are needed, I would also include them when testing for measurement invariance. 


Hi, I want to do genetic analyses of categorical data in Mplus. Job runs, but WLSMV estimator is used so I can't calculate the chidiff test based on printed chisquare value. However, I can also not use the DIFFTEST option as I'm using model constraints for the genetic decomposition. Do you know how to proceed? Input is printed below, thank you sophie **** TITLE: categorical data: file is IQ_SES_fam.dat; variable: names = zygfam educ1 educ2 educ3 educ4 educ5; usevariables = educ1 educ2 educ3 ; categorical = educ1 educ2 educ3 ; !(14); useobservations = zygfam LT 3; grouping = zygfam (1=MZ 2=DZ); missing=all(1); analysis: type = missing h1; iterations=5000; model: [educ1$1] (t1); [educ1$2] (t2); [educ1$3] (t3); [educ2$1] (t1); [educ2$2] (t2); [educ2$3] (t3); [educ3$1] (t1); [educ3$2] (t2); [educ3$3] (t3); educ1 with educ2 (mz); educ1 with educ3 (sib); educ2 with educ3 (sib); model dz: educ1 with educ2 (sib); model constraint: new(a*.5 c*.5 e*.1); mz=a*a+c*c; sib=0.5*a*a+c*c; OUTPUT: TECH1 STANDARDIZED RESIDUAL; 


The DIFFTEST option is described in the user's guide. See also Example 12.12. If this does not help, please send your question and license number to support@statmodel.com. We discourage the posting of inputs and outputs. 


Hello, I have 2 questions about multiple group CFA with ordinal variables and 34 countries: 1) I want to free the equality constraints of the thresholds. a. shall I free all thresholds, and leave for ONE indicator per factor ALL thresholds equal across 34 countries? b. Alternatively, shall I free for all indicators n1 (n=number of thresholds of the indicator) thresholds across 34 countries? When I do it, the last threshold in each indicator remains equal across all countries. When I do a, the model runs, the fit is good but there are negative variances in 6 countries. When I do b. the model does not converge. Thanks for any tip/hint! 


The models to test for measurement invariance are described in Chapter 13 of the Mplus User's Guide after the multiple group discussion. Negative variances make the model inadmissible. As a first step, I would run the analysis in each country separately to make sure that as a minimum, the same number of factors fit the data well. 


Thanks, Linda. The examples and your hints were helpful. After setting the (very small) negative variances to zero the model ran without error messages and with a good fit. Eldad. 

hai hong li posted on Monday, September 10, 2007  2:34 pm



Hello, We are trying to fit a multiple group analysis which has one outcome continuous latent response variable measured with three binary indicators. The question is although we use WLS estimator and Delta parameterization (see the attached syntax below), the program estimates the intercepts of continuous indicators. How can specify these three binary indicators as categorical variables without analyzing the intercepts of other continuous indicators? VARIABLE: NAMES ARE V1V33; USEVARIABLES ARE V5 V7V30 V32; CATEGORICAL ARE V28 V29 V30; GROUPING IS V5 (2=ITEX 1=CYPRESS); MISSING ARE ALL (888); ANALYSIS: TYPE = GENERAL; ESTIMATOR = WLS; MATRIX = COVARIANCE; MODEL: F4 BY V7 V8; F5 BY V9 V10; F1 BY V11 V12V17; F2 BY V18 V19 V20; F3 BY V21 V22; F9 BY V23 V24; F6 BY V25 V26 V27; F7 BY V28 V29 V30; F32 BY V32; V32@0; F10 BY F1* F2 F3; F1(1); F2(1); F10@1; F11 BY F4 F5; F8 BY F6 F9 F32; F8 ON F11 F10; F11 ON F10; F7 ON F8 F10; 


Continuous indicators have intercepts. Categorical indicators have thresholds. This is as it should be. 


Hi, I am running a multigroup path analyses with categorical mediating variables and categorical final outcomes. My questions are: 1) Is there a preference regarding theta/delta parameterization? Does this affect the final conclusion? 2)Should thresholds/scales of the categorical outcomes be estimated freely when paths from predictors to the outcomes are estimated freely for the different groups? How do constraining/freeing thresholds affect comparison of path coefficients between groups? Thanks. 


1. We recommend the Delta parameterization when it can be used. In your case, I think you need the Theta parameterization. 2. Thresholds should be free across groups. Scale factors need to be fixed to one in one group and be free in the others. 


Hi, I am doing a multigroup path analysis with categorical outcomes. When I constrain the path, say, from x to y this path is significant. When I remove the constraint the path coefficient for the first group is significant (p <.05)> .5). My question is do I have remove this path for the second group and report the two groups as different regarding this path or do I have to do a chisquare difference test? Thanks a lot. 


If you want to test if the path is the same in both groups, you can do a chisquare difference test of the model with the constraint and the model without the constraint. You can also use MODEL TEST to do a Wald test. 


Thanks Linda. Part of my question is: Is it reasonable to say the two groups are different in the mentioned path if one path is statistically significant and the other nonsignificant? Or does one always have to do the chisquare difference or Wald test before reaching any conclusion on the difference of the path coefficients for the groups irrespective of statistical significance. Thanks a lot. 


The tests of significance are tests against the value of zero. The tests of the two coefficients are different from that. One may not be significantly different from zero but may be significantly different from the other one. 

MAH posted on Thursday, January 31, 2008  2:02 pm



Hi, I would eventually like to conduct a genetic analysis in Mplus using a latent variable as my construct of interest, rather than an observed variable/sum score. The first thing I have done is to construct my latent variable using categorical indicators. Right now, I am in the midst of conducting measurement invariance analyses of this latent variable across MZ and DZ twins. I have found that I am able to hold factor loadings/thresholds/mean of latent var/variance of latent var equal across MZ and DZ twins. But, I cannot hold the scale factors equivalent without a significant decrease in model fit. My first question is simply a clarification. I read above that scale factors are a function of residual variances, factor loadings/thresholds, and factor variances. Because I held factor loadings/thresholds and factor variances equivalent across groups, is it true that the lack of invariance of scale factors across MZ and DZ is interpretable as differing itemspecific variances across groups? If so, I am having trouble determining what this means for estimating A, C, and E of this latent factor. Will this lack of invariance of scale factors result in biased estimates of A, C, E? Thanks you! 


Yes, your interpretation of scale factors is correct. I think the differing scale factors  differing itemspecific variances  do not invalidate an ACE analysis. The key issue is that the factors are on the same scale and have the same meaning for both twin types and the invariance you've found supports that. 


i am doing a multigroup factor analysis, with categorical data, between two groups. i used the wlsm estimator in my analysis. i want to do a chisquare difference test between the restricted and unrestricted (measurement parameters freed) models. how do i calculate the chisquares and dfs for chisquare difference test for wlsm? 


You would use the same directions as for MLM and MLR which are on the website. See the left margin of the homepage. 


Hi, Linda, I think this question is more suitable here. I have noticed that the meanstructure is now the default. But I am using an earlier version of MPlus. When I ran categorical data multiple group CFA, I did not specify meanstructure, so my model was no meanstructure. However, I still got those means/intercepts. Just now I compared residual variance results in both meanstructure and nomeanstructure models. They seemed close and it is hard to judge which is better. The contents (both contain thresholds) of output are the same too. Is there any reason to use meanstructure or no meanstructure? 


A model with no meanstructure and a model with an unrestricted mean structure should yield the same results. Please send your input, data, output, and license number to support@statmodel.com if you cannot see your error. 


Thank you for the information. They are very close. I am not worried about them. I am curious about why or when to use meanstructure and why or when NOT to use meanstructure. Thank you again. 


Starting with Version 5, we have meanstructure as the default. I would always include means. 


Hi, Linda, I am confused about the two nested models for the measurement invariance categorical outcomes in multiple group CFA (p. 399). The first one frees thresholds and factor loadings, but fixes factor means to 0 and scale factors to 1. The second one restricts thresholds and factor loadings to be equal across groups. The others are default. If the chisquare difftest is rejected, which model do I begin with for checking partial measurement invariance? Thank you. 


Dear Linda, I just saw a posting regarding weighting. This reminds me of a question. My data have weights to adjust for oversampling of some groups. The purpose of my analysis now is to produce factor scores to be included in data release. Do I have to use weights now? Or future users of the data can use the weights to do the adjustment in their analysis? Thank you. 


If the pvalue is small, it means you have measurement noninvariance and you should look at partial measurement invariance. I think if you create factor scores using weights, you should still use weights in an subsequent analysis where you use the factor scores. 


Regarding the difftest, my question is: WHICH model should I begin with to test for partial measurement invariance? The one with fixed loadings OR the one with loadings freely estimated? The order the two models appear on page 399 of the User's guide suggests that the model with freely estimated loadings is less restrictive. However, in doing difftest, I have to do the fixed loadings first (H1, less restrictive) and then do the freelyestimatedloadings model (H0). I am very confused. Thank you. 


When you did the DIFFTEST, you had the model with free factor loadings and thresholds as the first model. I would start assessing measurement noninvariance by looking at the modification indices from the model with the factor loadings and thresholds equal across groups. 


Linda, I am still working on the multiple group confirmatory factor analysis with categorical variables. The measurement invariance model is rejected (p is small), so I moved to the equal thresholds and factor loadings model, checking for parameters to free in MI. However, the largest MI suggests adding a crossloading. But it turned out to have small loadings ( < .2). Should I go on? and if so, Can I conclude measurement invariance? The second largest MI suggests freeing an indicator [y21], y21 being a categorical indicator. When I included [y21] in the model, however, an error message was given. What command should I have given for [y21]? Thanks. 


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

MAH posted on Friday, May 02, 2008  2:12 pm



Hi, I have a question about testing measurement invariance across 4 groups  MZ female twins, DZ female twins, MZ male twins, and DZ male twins. I have already tested invariance across MZ/DZ females and found I can hold thresholds, factor means, factor variances but not scale factors equal across MZ/DZ females. I also tested invariance across MZ/DZ males and found I can hold thresholds, factor means, factor variances but not scale factors equal across MZ/DZ males. Now, I would like to test invariance across sex in a 4group multigroup model, and I am not exactly sure how to do this. Here is what I am thinking. In the "loadings and thresholds free across sex" model, I would like to hold loadings, thresholds, factor means, and factor variances equal across the first two groups (MZ and DZ female twins) but let scale factors differ across these two groups. Means will be set to zero for MZ/DZ females and scale factors set to 1 for MZ females and freely estimated for DZ females. Further, I would also like to hold loadings, thresholds, factor means, and factor variances (but not scale factors) equal across the second two groups (MZ and DZ male twins). Means set to zero in MZ/DZ male groups, scale factors set to 1 in MZ males and freely estimated in DZ males. Does this sounds about right? I really appreciate any thoughts. Thank you! 


This sounds right. 


I am following the recommendations for MGCFA for categorical indicators given in chapter 13 of the Users Guide and I have a question about scale factors. Since holding scale factors equal across groups has a strong implication, I was thinking of testing for the invariance of thresholds and factor loadings first. Then if these are invariant, moving on to test whether the error variances and factor variances are invariant by holding the scale factors equal across groups. Does the twostep procedure suggested in chapter 13 allow for testing the invariance of thresholds and factor loadings first and then testing for the invariance of error and factor variances or do I need to do something else? Thank you 


If you are interested in the residual variances of the latent response variables, you should use the Theta parameterization. This is also described in Chapter 13. Once you have established measurement invariance of the thresholds and factor loadings, you can test two models: one in which the residual variances of the latent response variables are fixed to one in one group and are free in the other groups and another model where the residual variances of the latent response variables are fixed to one in all groups. 


I am a little confused, with WLSMV the DIFFTEST output indicates that the difference test is significant but if you examine the chisquare and df values in the output for the DIFFTEST, according to a chisquare table, they are not significant. Why the discrepancy? 


With WLSMV, the only value related to chisquare that is interpretable is the pvalue. This is why the chisquare value and degrees of freedom cannot be used in the regular way for difference testing and the DIFFTEST option is necessary. 

Kathy posted on Thursday, June 05, 2008  2:56 pm



i am doing a mgfa using wlsm and i have found the factor loadings and thresholds, for one of my factors, to be noninvariant across my two groups. is there a way to investigate why they are not invariant, ie. with respect to a covariate? for example, in my case, i was thinking that the difference in degree of anonymity between the two groups might explain the noninvariance. i see in the notes that this can be done using the mimic approach, but is there a way to do it using mgfa approach? 


So say that your two groups are formed by gender. So the reason you have noninvariance is that males and females respond differently to an item even when they have the same factor value. Regarding your covariate (anonymity) question, yes you can do 2group Mimic analysis. It sounds like you are asking if a direct effect from the covariate to the item can explain the gender difference, which I guess is possible if males and females have quite different means on that covariate. 

Kathy posted on Friday, June 13, 2008  12:44 pm



thank you for your reply. i guess my concern was whether it was appropriate to use a mgfa approach to test for invariance and then use mimic approach to pinpoint covariates that might contribute to the noninvariance i found  in your short course handouts you separate the approaches. that is, i was not sure that you could use both approaches in tandem. also, i have about five different variables that i suspect could be contributing to the noninvariance across groups  would test them individually in the model or would put all of them in the model at once? 


I would suggest starting with a MIMIC model to determine which covariates are important as far as measurement noninvariance goes. The MIMIC model looks at measurement invariance for intercepts only. It is most often the case that intercepts rather than factor loadings are noninvariant. Then I would use the important covariates to create groups for a multiple group analysis where invariance of both intercepts and factor loadings can be examined. You can also have other covariates in a multiple group analysis. 

Kathy posted on Monday, June 23, 2008  8:19 am



thanks linda. you have been most helpful, but i hope you can indulge me for a moment while i try to get my head around the info you and bengt have provided. i think at this point, in order to clarify a number of points made, it might be helpful for me to reformulate my original problem. basically, my data is categorical and i used a mgfa approach to test for nonvariance. what i found was noninvariance of the factor loadings and thresholds across my two groups for one of the factors of my twofactor scale. the theoretical question i want to answer is: "why is there nonvariance?", or "what is contributing to the nonvariance?", in terms of a third variable  i have measured a number of variables that i thought might be difference across groups, e.g. the degree of anonymity during completion of the scale. these variables are measured on an ordinal scale. can this question be answered using mgfa in mplus? can i determine what is contributing the nonvariance, in terms of a third variable? if yes, can you give me a hint to how i would set up the model? much thanks. 


If you have many covariates that can potentially contribute to noninvariance, Mimic modeling (singlegroup) is the most practical and will at least capture the intercept/threshold noninvariance. For a given item, you can then see if say gender plus some other covariates create the noninvariance through incorporating direct effects. As usual in regression, with more than one covariate you are looking at partial coefficients (what a covariate contributes beyond gender for example). If you feel that the grouping variable (say gender) you have used for the 2group analysis is the key variable giving noninvariance, then just study the mean differences across gender for the other covariates. Also, if you are saying that gender (the grouping variable I am using as an illustration) is only a proxy for the real ("causal") source of noninvariance, then do a Mimic without gender, only including the covariates that you think are "causative". This is about how far we can go in giving advice on this without knowing the context (which we don't have time to penetrate in this forum). 


Dear Authors, I have 9 categorical observed indicators and 2 latent factors. My grouping variable is dichotomous, 0/1 and Im using the maximum likelihood framework. In order to evaluate the measurement invariance model, I'm planning to compare the two models: (1) no equality constraints with factor means fixed at zero in all groups, (2) impose equality constraints on the factor loadings and on the thresholds with factor means fixed at zero in all groups. Is it correct? Then, If the MI holds can I compare models? (1) impose equality constraints on the factor loadings and on the thresholds with factor means fixed at zero in all groups; (2) impose equality constraints on the factor loadings and on the thresholds factor means fixed at zero in one group and free in the others. What I dont understand clearly is why you say in Mplus Guide (pg. 400). MAXIMUM LIKELIHOOD ESTIMATOR WITH CATEGORICAL OUTCOMES The least restrictive model is: 1. Thresholds and factor loadings free across groups; factor means fixed at zero in all groups, and the most restrictive model is: 2. Thresholds and factor loadings constrained to be equal across groups; factor means fixed at zero in one group and free in the others. Why is the second model the most restricted? And how can be nested in the first on? Thanks, Roberta 


Dear Authors, sorry, I have a last question. I understand why you should deal with scale factors or residual variances in the Delta and Theta parameterizations. What I dont understand is why you dont deal with this topic with MAXIMUM LIKELIHOOD ESTIMATOR. Can you tell me something, please? So, I should compare the models: (1) no equality constraints (unrestricted model), (2) impose equality constraints (letting them being equal) on the factor loadings and on the thresholds AND factor means fixed at zero in one group and free in the others? I would appreciate all kind of hints, Roberta 


You should use the models described in the user's guide. Number 2 is the most restricted because it has fewer parameters due to the equality constraints. Scale factors have not been developed for maximum likelihood. In maximum likelihood the scale factors are all fixed at one. This is a disadvantage of maximum likelihood for categorical outcomes. 


Hi Linda, thanks for your reply! I still don't understand the first part of your responce (relative to Mplus guide, pg 400). I understand that If I compare a multiplegroup model without and with equality constraints on the thresholds and factor loadings, the second model has fewer parameter, so it is nested in the first one. My problem is on the factor means. I mean, when I have all factor means equal to 0 I have more constraints than a model with factor means fixed at zero in one group and free in the others, so fewer parameters. So, the second model you describe in the guide has fewer parameters respect to the "measurement part" of the model, but more parameters respect to the "structural part". Isn't it? I know that the number of factor means is less than the number of tresholds, but the models are not "nested". Would the following sequence be correct? 1. Thresholds and factor loadings free across groups; factor means fixed at zero in one group and free in the others, (1b. Thresholds and factor loadings constrained to be equal across groups; factor means fixed at zero in one group and free in the others,) 2. Thresholds and factor loadings constrained to be equal across groups; factor means fixed at zero in all groups. Thanks in advance, roberta 


There will be more thresholds than factor means by definition. Therefore when thresholds are constrained to be equal and factor means are zero in one group and free in the others, there are fewer parameters. 

Son K. Lam posted on Saturday, August 02, 2008  8:10 am



What is the maximum number of categories of a categorical variable that mPlus can handle? Thanks. 


Ten. 

MAH posted on Wednesday, August 20, 2008  9:49 am



Hi  I have a factor model with categorical indicators (DSM symptoms). Loadings and thresholds are completely invariant across sex, but I allowed means and variances of the factor to differ across sex. I have a quick question regarding the factor scores from this invariant model. For men and women who endorsed zero symptoms, men had a higher factor score than women. Is this due to the meanlevel sex differences in the factor, or did I do something wrong? Thanks so much! 


That would be due to the factor mean difference. 

J.W. posted on Monday, September 15, 2008  1:13 pm



Dear Drs. Muthen & Muthen, Is it possible to run multigroup ZIP model in Mplus? Thanks. JW 


Yes. You would use the KNOWNCLASS option fand TYPE=MIXTURE to do this. 

J Moore posted on Thursday, October 30, 2008  3:53 pm



Hi, I am doing a CFA on categorical data (4 cats) using complex survey command cluster and wish to test measurement invariance across sex. Testing the models separately for each sex I get males: CFI 0.982, TLI 0.985, RMSEA 0.047 and WRMR 0.673 females: CFI 0.932, TLI 0.942, RMSEA 0.091, WRMR 0.992. Do you think it appropriate I continue with measurement invariance evaluation given the model doesn't fit so well in females? And secondly if I do continue I run into the problem of having no females in one of the 4 categories for one of the items. Am I right in thinking that the use of complex survey commands prevent the use of ML and the special categorical options and I would therefore have to collapse categories for this item? Thanks for you help 


I would start with an EFA for each group to see if the same number of factors is found. There is a special * specification of the CATEGORICAL option when ML is used such that the same number of categories are not necessary in each group. 

J Moore posted on Wednesday, November 05, 2008  4:20 am



Thank you for the feedback.I have taken your advice and done an EFA in each sex separately. For the EFA in males I wasn't sure whether the 2 factor or three factor model should be selected. Eigenvalues greater than 1 suggest 3 factors but third eignevalue is only 1.030 Fit stats for 2 factor model are (CFI = 0.976, TLI = 0.961, RMSEA = 0.075, SRMR = 0.073) Fit stats for 3 factor model are (CFI = 0.993, TLI=0.984, RMSEA = 0.049, SRMR = 0.045) Have you any advice on how to decide between these two models? Three factor model is obviously better fit but in the interests of parsimony is 2 factor model adequate enough fit? I thought of doing chi square difference testing to see if there is a deterioration in fit going from 3 to 2 factor models but cannot find on website where this is described for WLSM. (Data is ordinal (4 categories) estimator is the default WLSM. A final query relating to your previous reply  is it possible to use ML when using type= complex and the cluster command? Thank you 


I would decide based on what factors the items were supposed to represent. What makes sense substantively? Only MLR is available for TYPE=COMPLEX for maximum likelihood. If you look up the ESTIMATOR option in the user's guide, there is a table that shows which estimators are available in various situations. 

Rong Jin posted on Saturday, November 22, 2008  9:26 am



Drs. Muthen: This is my first experience using MPLUS and performed the multi group analysis with categorical outcomes. I am using DIFFTEST to do model comparison test between model 1: factor loading, threshold and residual variance are invariant across two groups; and model 2: factor loading, threshold are invariant across group, but residual variance are free to estimate. In my data there is only one factor with five categorical items response loading on it. Group 1 is male and group 2 is female. According to the MPLUS manual, the factor loading and thresholds are set equal across groups as default whiel the residual variance are not, and residual variance for group 1 is set to one. I have two questions: 1. How to set the equal constraint on residual variance in model 1 since the residual variance in male group is set to one as default (I am using theta parameterization) in MPLUS? 2. The code for model 2 is as following variable: names are u1u5 gender; categorical are u1u5; grouping is gender (1=male 2=female); analysis: parameterization=THETA; model: f1 by u1u5; output: sampstat; res; std; savedata: DIFFTEST is C:\deriv.dat; I only specify the general model and not model male. I wonder is it correct? Thank you 


1. To compare residual variances across groups, compare one model where residual variances are fixed to one in all groups to a second model where residual variances are fixed to one in one group and are free in the other group. 2. This is the default model. See Chapter 13 for more information about multiple group modeling in Mplus. 


Dear Linda and Bengt  We have established partial factor loading invariance. When testing partial residual variance invariance, we are getting the following message: THE CHISQUARE DIFFERENCE TEST COULD NOT BE COMPUTED BECAUSE THE H0 MODEL IS NOT NESTED IN THE H1 MODEL. An excerpt of our syntax is as follows: MODEL: f BY I16 I15 I1 I19 I20 I12; I1 (1) I15 (2) I16 (3) I20 (4); MODEL PreIB: f BY I19 I12; [I19$1 I19$2 I19$3]; [I12$1 I12$2 I12$3]; I19@1 I12@1; Any suggestions will be greatly appreciated. Gratefully yours  Mark 


Please send your inputs for the two models. the data, the outputs, and your license number to support@statmodel.com. 

Joan W. posted on Thursday, January 15, 2009  11:46 am



Dear Drs. Muthen, I'm interested in comparing IRT and LRV on testing of measurement invariance for categorical variables. In order to make a comparison with IRT which can potentially distinguish the difference in difficulty (the b parameter) and discrimination (the a parameter), I'm interested in examining whether the LRV modeling in Mplus can distinguish the difference in factor loading and threshold? However, in reading an earlier note in this discussion board (Wednesday, November 20, 2002), I noticed your writing "I would recommend imposing the loading and the (4) threshold invariance together; separating them is not as straightforward as with continuous indicators." Does this mean that we cannot impose invariance on one but not the other? I tried imposing invariance on just one, but not the other, and it worked in Mplus. So would you mind explaining why imposing and relaxing both threshold and loading at the same time is recommended and if there is any way in mplus to check for invariance of threshold and loading separately? Thanks. Joan 


I think the main argument is from an application point of view that if either a or b is noninvariant, the item characteristic curve is different  so why not just test if the curve is different (both a and b noninvariant). 

Joan W. posted on Saturday, January 17, 2009  10:24 am



Thank you for your response. May I follow your response with a further question? This may be a dumb one, but I'm really struggling here. If our ultimate goal is to test for the curve difference, should we also take into account residual variance, since that also affects the curve? 


With the usual IRT approach of ML and the 2parameter logistic, there is no free residual variance parameter. In logistic regression, this can be said to already be included in the curve (in a latent response variable formulation of the logit the residual variance is pi^2/3 the sqrt of which is used to divide the intercept and slope; so the larger the residual variance, the flatter the curve). With the Mplus weighted leastsquares approach, group differences in residual variances are taken into account in a more general model using the Delta or Theta parameterizations. 

Joan W. posted on Sunday, January 18, 2009  7:45 am



Thank you for being so patient with me, Dr. Muthen. This discussion board has been the most useful source for my mplus application! I think i was not being very clear with my previous message. What i meant was in order for the curves to be invariant, should residual variance be invariant too in addition to invariance in threshold and loading since residual variance can also affect the curve? And considering the case of Mplus Theta parameterization, if we specify two models based on Chapter 13 from the mplus manual. M1: threshold and loading allowed to be different across groups, residual variance set to 1 in both groups M2: threshold and loading set to invariance, residual variance set to 1 in one group, but free in the other. Let's say the chisquare difference test from DIFFTEST is nonsignificant, which means that we can accept M2, which provides evidence for invariance in loading and threshold, which further means that the two curves are invariant (or does it?). In this case, how do we interpret the invariance/noninvariance in residual variance? Since following the curve invariance argument, residual variance should also be invariant; however, residual variances are not specified to be invariant in M2. Can I specify residual variance to be both fixed to 1 across groups in M2 to make sure it's truely invariant? Is there any serious consequence by doing that? 


If thresholds and loadings are invariant but residual variances are not (M2) then the curves are different. You can test a more restrictive M3 against M2, where M3 fixes the residual variances to 1 in all groups. 

Tait Medina posted on Monday, January 26, 2009  12:22 pm



I am trying to assess partial measurement invariance. The modification indices from the model with the factor loadings and thresholds equal across groups suggest that relaxing the thresholds of the items that are contrained to 1 in both groups (for identification purposes) would improve the model fit. I am not sure how to think about this? I thought it was suggested that thresholds and factor loadings be constrained/relaxed in tandem because the item probability curve is influenced by both parameters. So I am not sure what it means to constrain factor loadings across groups (for identification) but let the thresholds vary? Thank you for your help. 


Modification indices are given for all fixed parameters and all parameters that are constrained to be equal. All modification indices may not make sense. If you free the first factor loading, you will need to fix another factor loading to one or fix the factor variance to one to set the metric of the factor. If you do free a factor loading, I would also free the threshold and fix the scale factor to one for that variable. 

Tait Medina posted on Monday, January 26, 2009  5:22 pm



Linda, thank you. I do have a followup question: Regarding the least restrictive model (e.g. thresholds and factor loadings free across groups; scale factors fixed at one in all groups; factor means fixed at zero in all groups), are the thresholds for the first items free across groups? I thought so, since this is akin to estimating the models separately for each group. If it is appropriate to free the thresholds of the first items in the least restrictive model, why wouldn't you want to do this when assessing partial invariance? Couldn't you free the thresholds of the first items and fix the scale factors for those items to one? Thank you. 


Yes, the threshold of the first factor loading is free across groups in the least restrictive model. You can free the first factor loading and fix the factor variance to one to set the metric of the factor if this bothers you. 


Dear Professor Muthen, we are using multigroup SEM with latent variable with categorical indicators. Outcomes are both categorical and continuous. Our aim is to analyse how different modes of adolescence physical activity (latent variables of physical education=KL and competitive sports=KU as well as observed variable exercise=nvkl4) are associated with adulthood physical activity (=LVKOMETR) in different educational groups (=koulv2y). The grouping and model are following: GROUPING IS koulv2y (0 = high education 1 = low education); MODEL: !Latent variables; KL BY KL1UU KL3UU; KU BY njuoksu nhiihto nyleis; [KL1UU$2 KL3UU$2]; [njuoksu$1 nhiihto$1 nyleis$1]; !structural part; KU ON KL; nvkl4 ON KL; nvkl4 ON KU; LVKOMETR ON KL; LVKOMETR ON KU; LVKOMETR ON nvkl4; !testing indirect effects; MODEL INDIRECT: LVKOMETR IND KU KL; LVKOMETR IND nvkl4 KL; LVKOMETR IND nvkl4 KU KL; Our problem is that we are not sure what is the proper way the adjust age in our Model? This would be important, since one can assume the age affects to both education and adolescence physical activity. 


Perhaps you want to bring in age as a covariate. 

Tomi Mäkinen posted on Wednesday, February 11, 2009  2:54 am



Thank you for your answer, I'm just not sure how age should be brought to the model so that it works as a covariate? 


Covariates are placed on the righthand side of ON. You should use age as a covariate in the ON statements that you think are appropriate, for example, KU ON KL age; 

Tait Medina posted on Monday, February 16, 2009  9:18 am



I am attempting to test for partial measurement invariance. I am using the WLSMV estimator. I am constraining the factor loading and threshold for one item to be invariant across groups and using the DIFFTEST option to compare this partially constrained model to the unconstrained model where factor loadings and thresholds are free for all items for all groups. The ChiSquare Test for Difference Testing is significant suggesting that the constraint worsens the fit. However the CFI, TLI and RMSEA suggest a slightly better fit for the partially constrained model. Also, the chisqure is smaller for the partially constrained model. Why would the fit statistics suggest a better fit for the partially constrained model, yet the chi square difference test suggest the constraint causes the model fit to worsen? Thank you. 


I would go with the p value from the DIFFTEST chisquare testing in this case rather than looking at the CFI etc. The chisquare testing is more to the point. Regarding the smaller chisquare, note that the absolute value of the WLSMV chisquare is not comparable across models, only p values are. 


Hello, I run multiple group CFA (WLSMV, delta) on categorical data between 2 groups. My first step is to compute the H1 model (the least restrictive, or "equal form" analysis in the terminology of Brown's 'CFA for applied research', if i understood him well). As i want to free factor loadings in the 2 groups, I wrote the following model: DATA: FILE (g1) IS 'Group1.dat'; FILE (g2) IS 'Group2.dat'; VARIABLE: NAMES ARE V1 V2 V3 V4 V5 V6 V7; CATEGORICAL IS ALL; MISSING IS ALL (999 998 997); MODEL: F1 BY V1 V2; F2 BY V3 V4 V5 V6 V7; V3 WITH V4; [F1@0 F2@0]; MODEL g2: F1 BY V2; F2 BY V4 V5 V6 V7; V3 WITH V4; However, the unstandardized factor loading of V1, V2, V3 and V4 are fixed at 1 in group 2, while i was expecting V2 and V4 to be freely estimated (only V1 and V3 are fixed at 1 in group 1). Could you please explain why V2 and V4 are fixed at 1 in group 2? Many thanks for your help. 


Sorry, I forgot to ask also: Am I right to fix the factors' mean at 0 in order to assess the measurement invariance only (i.e., not taking into account the mean structure yet)? 


For the models to test measurement invariance of categorical outcomes, see Chapter 13 at the end of the multiple group discussion. I would need to see your output and license number at support@statmodel.com to understand why all factor loadings except the first are not free. 


Hello Linda, Could you please tell me if: A the following protocol and model are correct to assess population heterogeneity with categorical data? B I am correct to assume that step #3 is unnecessary if in step#2 the output already indicates significant relative mean difference in group 2 (Est./S.E. >= 1.96)? 1 From the measurement invariance model, to test equality in latent factors variance across groups 2 As this holds, to additionally fix latent factors covariance as equal across groups 3 As this holds, to also fix latent factors mean as equal across groups Here is the model for step 3: VARIABLE: NAMES ARE V1 V2 V3 V4 V5 V6 V7; CATEGORICAL IS ALL; MISSING IS ALL (999 998 997); MODEL: F1 BY V1 V2; F2 BY V3 V4 V5 V6 V7; V4 WITH V5; F1 (1); ! equal latent variance across groups F2 (2); F1 WITH F2 (3); ! equal latent covariance across groups MODEL g2: [F1@0 F2@0]; ! equal latent mean across groups ANALYSIS: DIFFTEST IS NoMissEqFormDerivG.dat; Thank you very much for your help. 


Population heterogeneity tests for continuous factors with categorical factor indicators are the same way as for continuous factors with continuous factor indicators. The models to do these tests are shown on slides 216219 of the Topic 1 short course handout. If you have problems analyzing these models, please send your files and license number to support@statmodel.com. 


Thank you Linda. It looks like what I've done. But I am still wondering if the last step (where one adds the mean equality) is very necessary if in the previous step one finds that the mean of group 2 (out of 2 groups) is significant...? If such mean is significant, surely the chisquare difference test for the Partial Measurement Invariance and Invariant Factor Variances, Covariance, and Means model is going to be significant, isn't it? 


...I mean, if everything else is equal. 


With two groups, it is not necessary to do this final test. 


Hi Mplus team, I dont think I fully understand the notion/use of scale factors. 1 I dont understand why scale factors of ordinal outcomes should be held at 1 for the baseline model when thresholds and factor loadings are free. I thought the baseline model was supposed to be the least restrictive model and reflects the separate CFA analysis of each group. Why should we put such a constraint on the baseline model? And inversely, why, in the restricted model assessing measurement invariance, scale factors are fixed at 1 in the first group and free in the second group, while thresholds and factor loadings are held equal across group? Shouldnt scale factors also be held equal across group if we want to test how well the observed variables measure the same structure across group? 2 Leigh Roegers wrote (July 12, 2000): when you test for the invariance of thresholds and factor loadings you should let the scale factors vary between groups (
). If it turns out these are invariant you could then test whether the error variances and factor variances are invariant by holding the scale factors equal across groups. Does it mean one should constrained scale factors equal across group when testing for population heterogeneity assessment of equal latent factor variance? Im sorry if Im missing completely the point



Scale factors are a function of 3 things, only 2 of which have to do with the measurement characteristics of the item. See Mplus Web Note #4. The 3 things are loadings, residual variances, and factor variance. Because factor variances are expected to vary across groups (and across time in long'l studies), scale factors are not expected to be invariant across groups even if loadings and residual variances are. Even when loadings and factor variances are invariant across groups, I would not expect the scale factors to be invariant across groups because the residual variances are most likely not invariant across groups  this is typically the case with continuous outcomes. Typically, I would not test for invariant scale factors. 


Thanks Bengt for your prompt answer. When you say "scale factors are not expected to be invariant", do you mean that despite what is suggested in Mplus user's guide 5 p. 399 for the least restricted model, we should not fixed the scale factors at 1 in all groups? Hence, the baseline model should have thresholds, factor loadings, and scale factors free? Or is it necessary to hold scale factors at 1 in all groups for identification reason? 


Are you referring to 1. in the Delta parameterization paragraph? If so, in this case (where you don't have threshold and loading invariance), you cannot also identify the scale factors  they are absorbed into the varying measurement parameters. In other words, it is not a restriction to set them to one. The less restrictive model of 1. should indeed have the scale factors fixed at one as it says. 

Joan W. posted on Tuesday, March 24, 2009  3:00 pm



Dear Dr. Muthen, I am using Mplus to study the performance of multigroup CFA for DIF detection with twodimensional dichotomous data. Since both lambda, tau and residual variance may affect latent response curves, I tested the models in two steps. The 3 models involved were, M1: free lambda, free tau, residual variance fixed to 1 in both groups M2: equal lamda, equal tau, residual variance fixed to 1 in reference group, free in the other group M3: equal lamda, equal tau, residual variance fixed to 1 in both groups (Theta parameterization was used.) The Mplus manual recommended testing M2 vs. M1. Since error variance is also of interest, you suggested that I may follow with M2 vs. M3. One faculty member think it is more intuitive to test M1 vs. M3, so I tried that too. Now I have two testing sequences. 1.M2 vs. M1 and then M2 vs. M3; 2. M1 vs. M3 and then M2 vs. M3. There turned out to be interesting differences between the two. Sequence 1 showed inflated Type I error (all within .15), and high power; sequence 2 showed very well controlled Type I error but relatively low power for uniform DIF (i.e., difference in tau). Would you mind sharing your thoughts? 


So your key DIF test is M2 vs M1 for sequence 1. and M3 vs M1 for sequence 2.? Is the true model one with residual variances equal across groups? 

Joan W. posted on Tuesday, March 24, 2009  8:17 pm



An item is flagged for DIF if any step in the two steps yield significant result. If only M2 vs M1 or M3 vs M1 was used without considering M2 vs M3, power was low for nonuniform DIF. Data was generated based on twodimensional 2PL IRT models, so I think residual variances are equal across groups for nonDIF items. 


I assume you are using WLSMV. Note that this assumes a probit link, not a logit link. You use a logit link when you generate the data by a 2PL IRT model. So it sounds like this discrepancy could be a cause of inflated Type I error. Also, since you generate by 2PL you don't have groupvarying residual variances for any of the items. So I wonder what would happen if you generate data:  using 2parameter probit  using 2parameter probit with groupvarying residual variances Those 2 data generation features are available in the Mplus Monte Carlo approach. 


I am using MGCFA to compare four groups on a 3factor model (categorical indicators). I am using the DIFFTEST option to compare a fully constrained model to a fully unconstrained model, following the steps outlined in chapter 15 of the user manual. My questions are: what exactly is the ChiSquare test for Difference Testing telling me? Does it indicate which model is a better fit to the data? And to follow up on an earlier question, is it appropriate to compare other fit statistics (e.g., the CFI, TLI, and RMSEA) of the constrained model with the unconstrained model? Thank you in advance. 


For an interpretation of difference testing, see page 400 of the user's guide. Only chisquare and the loglikelihood should be used for difference testing. 

Tait Medina posted on Wednesday, April 15, 2009  7:48 am



Dear Professors: I have a reviewer who is pushing me to compare fit statistics, such as CFI TLI and RMSEA, when evaluating measurement invariance. He/she suggests this approach in addition to calculating a chisquare difference test. You have suggested on this forum that chisquare testing is more to the point and that you would use the chisqure testing approach rather than comparing fit statistics. I am hoping that you can point me to a reference that explains why using fit statistics for assessing measurement invariance is not the most appropriate approach or flesh this out a bit more for me. I appreciate your time. 

Tait Medina posted on Wednesday, April 15, 2009  8:29 am



Dear Professors: I wanted to edit my above post as I realized that it is not entirely clear. I have a reviewer who is pushing me to compare the CFI TLI and RMSEA when evaluating measurement invariance in addition to calculating a chisquare difference test (I am using WLSMV and DIFFTEST). You have suggested on this forum that chisquare testing is more to the point and that you would use the chisqure testing approach rather than comparing CFI etc. I am hoping that you can point me to a reference that explains why using CFI etc for assessing measurement invariance is not the most appropriate approach or flesh this out a bit more for me. I appreciate your time. 


I know of no articles that describe how to use CFI, TLI, and RMSEA to compare nested models. Perhaps the reviewer can provide a reference. 


Hello, I am attempting a simple cumulative probit of the continuous latent variable f1 (indicated by u1, an observed ordinal variable), regressed on the independent variables x1x18, i.e., Y*= XGamma+Epsilon, where Epsilon is N(0,theta). Usually, the model is identified in the literature by setting Var(Epsilon)=theta=1 and tau1=0. I specify the model as I understand it as follows (using the delta parametrization): MODEL: f1 BY u1; f1 ON x1x18; [u1$1@0]; f1@1; I understand "[u1$1@0];" to fix tau1=0; and "f1@1;" to fix the residual variance, which I understand to be theta above, at 1. Something is clearly wrong, because the estimation gives cutpoints that are not ordered: tau16 are 0.000, 1.256, 0.915, 0.290, 0.217, 1.157, respectively. I am clearly making mistakes. Can you please explain? Later, I am trying to run the same model in two subgroups of interest using: grouping is x16(0=Male 1=Female); with similar results. Likewise when trying to test invariance of threshold parameters, which I am hoping I am doing correctly with the same model as before, and adding: model female: [u1$2u1$6]; {u1@1}; Would you kindly provide any suggestions you might have? Thank you so very much. 


It is not necessary to specify a factor or to fix a threshold at zero to obtain the model that you want. Just use the following ON statement: u1 ON x1x18; 

Myung Kim posted on Monday, May 18, 2009  12:46 pm



I am working with a multilevel SEM model with a categorical outcome. It is also a multiple group model. To estimate the model I am using the "KNOWNCLASS" command and TYPE = mixture. I was able to produce some limited results with Mplus. I produced the direct and indirect effects for the "overall" model, but I have not been able to produce indirect effects for each group. When I specify that in the commands I am getting an error message stating "covariance in betweenlevel variables is not allowed to vary across classes." Because that was my main objective for using that model, I'm wondering if there is a workaround that will allow me to get those estimates. 


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

doug white posted on Tuesday, August 04, 2009  3:07 pm



Hi. In the handouts for the short course (Topic 1) it discusses procedures for "CFA with Covariate (MIMIC)" and "Multiple Group Analysis". Can you conduct the latter analysis with covariates in the model or do you have to follow the former procedure if you want covariates in the model? 


Covariates can be included in a multiple group analysis. 

doug white posted on Wednesday, August 05, 2009  12:17 pm



Is it like how you would do it in ANOVA, i.e. run the ANOVA see if there are significant differences and then rerun the analysis with covariates in the model to see if controlling for the covariates mediates the significant effects? That is, would you run the multiple group analysis (as describe in chapter 13 i.e. comparing nested models), see if there is invariance or noninvariance, if noninvariance, add the covariates and rerun the analysis to see if the noninvariance holds with the covariates in the model? 


For covariates to account for noninvariance (in intercept) for a certain indicator you would have to allow direct effects from the covariates to that indicator. It is not enough to let the covariates influence only the factors. 

doug white posted on Tuesday, August 11, 2009  1:51 pm



Maybe if I gave some specifics it might be more helpful, and I could get my head around how to address my problem in MPLUS. I administered a questionnaire to two different groups, a group that completed a paper version of the questionnaire and a second group that completed a web version. I want to test for measurement invariance across the paper and web groups. If I find noninvariance across the groups (which I suspect will happen), I want to determine if the noninvariance is simply due to the mode of administration (paper or web) or the result of other factors that have been hypothesized to contribute to differences across the groups. For example, my groups differed significantly in age, gender, language, computer experience, work status (students versus working). In other words, once I establish that there is noninvariance between the paper and web groups, can I then pinpoint the reason for the noninvariance in terms of these other variables, like language, gender, etc? How would you approach this problem in MPLUS? 


If your two samples are not randomly equivalent or each sample did not take some of the same items, testing for measurement invariance across groups does not make sense. You can look at each group separately and use covariates to see predictors of factors and measurement invariance for that group due to direct effects. 

Anjali Gupta posted on Saturday, September 12, 2009  4:04 pm



Hello, My initial model is of logistic regression and thus I've used the estimator = ML command. Now, I'd like to run a multiple group analysis with that initial regression included  I understand that I can no longer use the ML command as I did above. Is this considered a mixture model? And if so, would I need to use KNOWNCLASS? In other models with noncategorical dependent variables, the GROUPS command worked well. Thank you. 


When all classes using TYPE=MIXTURE and the KNOWNCLASS option are known, this is a multiple group analysis. Classes must be unobserved for it to be a mixture model. The GROUPING option is not available with categorical dependent variables and maximum likelihood estimation. KNOWNCLASS is used instead but works exactly the same as the GROUPING option when all classes (groups) are known (observed). 


On page 73 of the MPlus User's Guide (Example 5.16) it reads: "Thresholds are referred to by adding the the variable name a $ followed by a number." What does this number signify? I am conducting a MGCFA with 24 binary indicators (all modeled from one factor). In a test for configural invariance, I would like to relax the constraints on the factor loadings and thresholds. Regarding the latter, the following is written in my group specific model command. You'll notice that the "number" is always "1": [I31$1 I56$1 I65$1 I73$1 I82$1 I94$1 I130$1 I180$1 I215$1 I233$1 I273$1 I277$1 I339$1 I400$1 I411$1 I464$1 I469$1 I482$1 I485$1 I491$1 I505$1 I554$1 I95$1 I388$1]; I am unsure if this is correct. 


This looks correct. Binary indicators have one threshold. This is what 1 refers to. 

leah lipsky posted on Wednesday, January 13, 2010  6:59 am



I'm unclear on what the implications are of doing a multiple group path analysis with categorical dependent variables and missing data. Is the default estimator appropriate? Thanks very much! 


If you use the default WLSMV estimator, missing data are handled as pairwise present. If you use maximum likelihood, they are treated as MAR. 


In the second suggested test for measurement invariance of measurement models with categorical indicators (p. 399400 of MPlus manual), my MPlus output reports a latent factor mean of 0 for men (fixed) and .38 for women. Am I correct to conclude that women have a higher latent factor mean (though not necessarily significantly higher) than males (the reference group), and if so, would this value be negative if the female mean was lower than the male mean? 


Also, I am conducting a CFA to examine the model fit of a 24 binary indicator Demoralization scale using WLSMV estimation. All items are keyed in the same direction such that a higher raw score on the scale indicates a higher level of demoralization (F = 0, and T [in the direction of demoralization] = 1). An example demoralization item is I feel blue where 0 = false and 1 = true. The standardized threshold of this item is 1.12. Am I correct to interpret this value as the level of the continuous latent variable at which males opinion strength shifts to an affirmative response (true, I feel blue")? I understand that, numerically, 1.12 is not particularly interesting. However, Id like to comprehend thresholds from a conceptual standpoint. 


Your interpretation of the factor means is correct. If the factor mean for women is significantly different from zero, the ztest in the third column of the output, then it is significantly different from the mean of men because the mean of men is zero and the ztest tests against zero. A threshold is a zscore. It is the value of the continuous latent response variable underlying the binary variable where the observed variable value changes from zero to one. These are usually not interpreted but used to calculate probabilities. 


I am testing for MI across gender of a 24 binary indicator Anxiety scale using the WLSMV estimator via the following sequence of tests (though I understand that my Models 1 & 4 are the only tests suggested in the MPlus manual): Model 1: Free thresholds & factor loadings, residuals = 1.00 for both genders, and the factor mean = 0 for both genders (satisfactory fit = loading pattern invariance) Model 2: Equal thresholds & factor loadings, residuals = 1.00 for both genders, and the factor mean = 0 for both genders (no significant decrement in fit when compared to M1 = factorial invariance) Model 3: Equal thresholds & factor loadings, residuals = 1.00 for males (free for females), and the factor mean = 0 for both genders (no significant decrement in model fit when compared to M2 = residual variance invariance) Model 4: Equal thresholds & factor loadings, residuals = 1.00 for males (free for females), and the factor mean = 0 for males (free for females; no significant decrement in model fit when compared to M3 = factor mean invariance). Question: CFI increased slightly in M3 when compared against M2. Is it your understanding that CFI parsimony penalties may cause this increase (as more estimation takes place in M2)? 


My apologies  correction to above question: Question: CFI increased slightly in M2 when compared against M1. Is it your understanding that CFI parsimony penalties may cause this increase (as more estimation takes place in M1)? 


Note that Models 2 and 3 also test for gender invariance in factor means. With equal thresholds and factor loadings, it would seem that you first want to allow factor means to vary across groups. If your intention is to test for residual variance invariance, this test can be thrown off by factor mean invariance misfit. 

LiChong posted on Sunday, February 28, 2010  1:00 am



hello,when I do an simulation about measurement invariance for categorical data, I want to use DIFTEST in the simulation programŁŹhoweverŁŹthe output indicate that: "*** WARNING in Savedata command The DIFFTEST option is not available for TYPE=MONTECARLO or TYPE=IMPUTATION. DIFFTEST will be ignored." Can DIFTEST work in simulation?if not,how can i do 500 replications for DIFTEST ? thanks for your help! 


DIFFTEST is not available with Monte Carlo simulation. 

LiChong posted on Sunday, February 28, 2010  8:00 am



thanks very much for your help! DIFFTEST is not available with Monte Carlo simulation,then,how to do such simulation about DIFTEST? I have read the paper named "robust chi square difference testing with mean and variance adjusted test statistics" written by Tihomir Asparouhov and Bengt Muthen ,the paper "use DIFTEST to test HO against H1 in a simulation study with 500 replications." i am sorry ,i can not fully understand what to do the simulation,but i want to learn that. please give me some advice about it, thanks! 


There are a set of examples that can be downloaded with the DIFFTEST technical appendix that show how the simulations were done. The results were extracted from the files. It was not done through the Mplus MONTECARLO command. 

Ty Borders posted on Monday, March 15, 2010  2:18 pm



I am using LCGA to model the odds of any drinking over time. I have identified several classes and I understand how to adjust for time invariant covariates. However, what is the Mplus syntax for adjusting for time Variant covariates (most of the covariates vary over time)????? 


See UG ex 6.10. 


Let's say y1y3 are the outcome and t1t3 are the timevarying covariate: y1 ON t1; y2 ON t2; y3 ON t3; 

Ty Borders posted on Monday, March 15, 2010  7:46 pm



Thank you for the response, but I'm not sure that I asked my question correctly. I am modeling latent classes of abstaining from alcohol or drinking( a binary outcome) over 7 waves using LCGA. The dependent variable is the latent class (I have specified 3 classes based on BIC values). The independent variables are age, male gender, black race, other race, marital status, and educational status (all of which are specified as time invariant). Marijuana use is measured at each wave and is thus a time variant covariate. Below is the syntax I have used. Is it okay to include marijuana use at each wave? i s  abstain1@0 abstain2@1 abstain3@2 abstain4@3 abstain5@4 abstain6@5 abstain7@6; i s ON age male black othrace married lesshs hs marij1marij7; c#1 ON age male black othrace married lesshs hs marij1marij7 ; c#2 ON age male black othrace married lesshs hs marij1marij7 ; 


Because i is defined as initial status, I would use only marij1 in all regressions. Otherwise, you could use them as shown previously or consider using them in their own growth model. 

Li Lin posted on Monday, April 05, 2010  7:52 am



Dr. Muthen, I am doing multiple group analysis by following instruction "Models for Categorical Outcomes" on page 399 of Mplus user's guide. The Chisquare Test of Model Fit does not make sense to me. In my data, the observed outcomes are 5point Likert items SFDES01SFDES04, and desire is continuous latent variable that measured by the items. Could you please advise? Below is Mplus code and chisquare output.Thanks, Li Model #1: VARIABLE: NAMES ARE stcode Gender SFDES01 SFDES02 SFDES03 SFDES04; GROUPING IS gender (1=male 2=female); USEVARIABLES ARE SFDES01  SFDES04; CATEGORICAL ARE SFDES01  SFDES04; MISSING are SFDES01  SFDES04 (0); ANALYSIS: ESTIMATOR=WLS; MODEL: desire by SFDES01  SFDES04; [desire@0]; {SFDES01@1 SFDES02@1 SFDES03@1 SFDES04@1}; MODEL female: desire by SFDES02  SFDES04; [SFDES01$4 SFDES02$4 SFDES03$4 SFDES04$4]; Output: ChiSquare Test of Model Fit Value 212.119 Degrees of Freedom 16 Model #2:... ANALYSIS: ESTIMATOR=WLS; MODEL: desire by SFDES01  SFDES04; Output: ChiSquare Test of Model Fit Value 65.625 Degrees of Freedom 18 


Please send the two full outputs and your license number to support@statmodel.com. 

Li Lin posted on Tuesday, April 13, 2010  12:16 pm



Hi Dr. Muthen, Thank you very much for help. Here is another question: WLS estimateor using the delta parameterization section on page 399 of Mplus user's guide, for model 1 "scale factors fixed at one in all groups, and factor means fixed at zero in all groups". Why need to fix scale factors and factor means in the 2nd group? Mplus doesn't seem to have problem to have them estimated freely for the 2nd group. Thanks, Li 


Hello, Dr. Muthen  Can you please provide an interpretation of standardized threshold parameters? I understand thresholds (conceptually) as the point on the continuous latent response variable (y*) underlying the categorical indicator where a response shifts from 0 to 1. As this variable lacks a metric, how am I to interpret the standardized (or even unstandardized) version of these estimates? For instance, how might you interpret a standardized threshold of .65 or +1.00? 


Thresholds don't need to be interpreted. They are used is to compute probabilities. 


I am running MGCFA across two samples using WLSMV and theta parameterization, and the measurement model is specified as a single factor model with 17 dichotomous indicators. The Sample 1 (N = 1352) baseline model runs smoothly, while error messages regarding empty cells are provided in the output for the Sample 2 (N = 2600) baseline model. As I understand it, this means that the same set of individuals who endorsed "T" on item 1, for instance, endorsed "T" on item 2, implying a corr = 1.00 between the two indicators. In Sample 2, many of the items are strongly skewed. Both Ns are quite large. (1) Can MPlus produce bivariate tables using a "TECH" command? (2) What is your suggestion for how to deal with the empty cell problem when only two response categories are used? I read that starting with Mplus Version 4.0 the software has improved "in handling zero cells with categorical data analysis using WLS, WLSM, and WLSMV including a new option to add a value to the frequency of each cell." Can you speak to this? (3) Does MPlus provide error messages for the items causing the most serious estimation issues first? (4) To examine MI of this model across cultures, it would be necessary that the same items are included in the analysis. If I remove items given the findings from the baseline model (Sample 2), would you suggest that I do the same for Sample 1? 


1. TECH10 gives both observed and estimated frequencies for univariate and bivariate tables. Version 6 will have bivariate frequency tables for the observed data only. 2. You should not use both binary variables if there is a zero cell. This methodology is not designed for empty cells. We made some changes but they don't change the fact that both binary variables should not be used when there are empty cells. 3. No. 4. If you are going to be doing a multiple group analysis, you need to have the same set of variables in each group. 


Hi Muthen& Muthen, I have run a measurement invariance analysis using categorical data in two groups and that was fine. I am now trying run a comparable analysis using four groups and having difficulties. The initial model runs, as well as a model in which factor loadings and thresholds are set to equality and residual variances set at 1. The DIFFtest option shows there is a significant reduction of fit with this model compared with the initial model. I can't seem to run an inbetween model in which factor loadings and thresholds are set to equality yet residuals are allowed to vary between groups. The error messages from these attempts always relate to the freely estimated residuals. Should I conduct these analyses in a series of two group comparisons  or is there are way of testing measurement invariance between the groups simulataneously? Thanks. 


You should be able to run an analysis with four groups. With the Theta parametrization, residual variances must be fixed to one in one group. If you can't see the problem, send the output and your license number to support@statmodel.com. 


Hello, I have a few questions. (1) For Monte Carlo counterpart example 15.6 how did you arrive at u1u6*.3 and u3*.6 or what formula did you use? (2) Are the CFI and TLI statistics available in the Monte Carlo onestep simulation approach? (3) Why are the WLSMV results so different from version 5 to 6? Thank you. Best, Tom 


1. In the current user's guide we don't have an Example 15.6. Can you refer to the example number currently being used? 2. CFI and TFI are not available with internal Monte Carlo. 3. Please send the two outputs showing differences between Version 5 and Version 6 to support@statmodel.com. There should not be any differences other than the chisquare and degrees of freedom. 


Sorry, it is example 5.16. 


For mc5.16, the Mplus metric has the variance of u* given the x's = 1. For the first group V(u*_3x) = 1* 0.7 + 0.3 = 1, where 0.7 is V(f1x). For the second group the u*_3 variance looks like it was incorrectly set given that delta_3 is fixed at 1 because V(u*_3 x) = 0.25*0.7 + 0.6 = 0.775, that is, not 1. This error also shows up in the results of the simulation where e.g. the average estimate for F1 BY u3 is off the expected 0.5. The residual variance for u_3 should have been 0.825 in group 2. 


I am reading Web Note 4. I was wondering in a multigroup invariance analysis using theta paramaterization, what is the relationship is between v (the intercept parameter) in equations 3 & 4 and the tau (threshold) in equations 6 & 7 in the case of a dichotomous indicator? 


The intercept and threshold differ only in sign. 


It is correct then to say that because both the threshold and the intercept are in equation 7, they therefore cancel each other out? Thank you for the reply. 


If you read on, you will see that the intercept is fixed at zero. 


In earlier posts (11/20/02 & 1/17/09) you gave several reasons why you recommend testing loadings and thresholds in tandem. One post indicates that invariant loadings and thresholds are a necessary condition for invariant ICCs so they may as well be tested together. You also said separating the loading and threshold for categorical indicators is not as straightfoward as with continuous indicators. Could you please say a little more about that? 


Please see Web Note 4. 


I am estimating a multigroup analysis of a latent factor with categorical predictors using phantom factors. The model runs fine with the groups combined or tested separately. However, when I try use multiple group analysis, I get an error message. THE STANDARD ERRORS OF THE MODEL PARAMETER ESTIMATES COULD NOT BE COMPUTED. THE MODEL MAY NOT BE IDENTIFIED. Is there something I am missing in the syntax? VARIABLE: VARIABLES ARE NIDDIA08 ALCDIA08 DRGDIA08 SRISK08 CRAPY08 ; GROUPING IS MALE (1=MALE 0=FEMALE); CATEGORICAL ARE NIDDIA08 ALCDIA08 DRGDIA08; MODEL: ALCDI BY ALCDIA08@0; NIDDI BY NIDDIA08@0; DRGDI BY DRGDIA08@0; CRAPY BY CRAPY08@0; SRISK BY SRISK08@0; ALCDI@1; NIDDI@1; DRGDI@1; CRAPY@1 SRISK@1; ALCDIA08 ON ALCDI@1 ; NIDDIA08 ON NIDDI@1 ; DRGDIA08 ON DRGDI@1 ; CRAPY08 ON CRAPY@1 ; SRISK08 ON SRISK@1 ; CO33 BY ALCDI* NIDDI* DRGDI* CRAPY* SRISK* ; CO33@1. 


I think the following statements should be @1 not @0: ALCDI BY ALCDIA08@0; NIDDI BY NIDDIA08@0; DRGDI BY DRGDIA08@0; CRAPY BY CRAPY08@0; SRISK BY SRISK08@0; 


Dr. Muthen, Thank you for your response. My understanding was that the code I had originally provided was a way to "trick" Mplus to estimate intercepts and residual variances for categorical indicators. We use this to model general comorbid (the CO33) and drugspecific (e.g., ALCDIA08, alcohol dependence diagnosis) variance explained by our predictors (e.g., family environment). My question is, then, whether we had been using the right code to do this in the first place? If so, is there any reason why it should not work in a twogroup model? Marina 


I am not familiar with the trick you are trying to do. To put a factor behind a categorical variable, you would specify: f BY u; I think you need to find an article that describes this trick and follow that. 


I am using the syntax that was provided by Bengt in a conversation with Patrick Sturgis here http://www.statmodel.com/discussion/messages/23/1287.html 


Please send the output for the singlegroup run that worked and the twogroup run that didn't work to support@statmodel.com. 


1)Does mplus offer any multivariate diagnostics for categorical data, e.g. testing for multivariate normality, multivariate outliers, etc.? 2)Are these even of concern in MGFA of categorical data? 3)Is there an estimator that I can use in a MGFA that is not affected by multivariate nonnormality and outliers? Is WLSM affected? 4)Is there a correction for categorical data that corrects for these potential violations. 


Normality is not an issue for categorical outcomes. The methodology does not require this. See the OUTLIER option. 


OUTLIER option identifies multivariate outliers? 


I find the loglikelihood approach useful to identify an outlying subject. 


Hi Bengt. Can you expand on this approach? I am interested in identifying multivariate outliers in categorical data used in a MGFA. 


I am not sure how to think about multivariate outliers with categorical data. The loglikelihood approach (which has references in the UG) is multivariate in the sense that is uses the individuals responses on all the analysis variables. 


error message: Hi, I have 32 classes and 31 categorical items. when I attempt to analyze I get this error: *** ERROR Categorical variable MITEM1 contains 30 categories. This exceeds the maximum allowed of 10. Why? Thank you for your help in advance 


It sounds like you are reading the data incorrectly, for example, by having blanks in a free format data set. If you can't figure it out, send your input, data, output, and license number to support@statmodel.com. 


Dear support team, I have a question regarding a DIFFTEST used in measurement invariance study with categorical variables. My measure has 7 items with 7 categories; there are two groups. After I specify my baseline configural model, I then specify a metric model, constraining loadings to equality (thus the metric model specified should be less restrictive, nested within the first model). When I request a DIFFTEST, I get this error message "The chisquare difference test could not be computed because the H0 model is not nested in the H1 model". I would appreciate any insight as to why I might be getting this message. Thank you, Anna Zilberberg 


When you say configural model, that to me means a model with no equalities across groups of the actual values of the intercepts/thresholds and slopes, just having the zero loadings in the same places. So the metric model is more restrictive, not less. We discuss how to do this type of testing in Topic 2, see slides 167171 of the handout on our web site. 

anonymous posted on Thursday, March 03, 2011  2:34 pm



Hello, I'm conducting a multiplegroup SEM analysis with categorical variables (using the theta parameterization). To first test measurement invariance, I estimated an unrestricted model (following directions on pg. 434 in the manual). However, when I impose constraints on the thesholds and factor loadings, the restricted model is nonpositive definite in one of the groups. In this case, can anything be done to test full measurement invariance or is it not possible given that the model in one groups is nonpositive definite? Would it make sense to test partial invariance in this case (in the hopes that the constraints are generating a nonpositive definite matrix)? 


The first step would be to see if the same measurement model fits in both groups. An EFA can determine if at a minimum the same numbers of factors is appropriate for each group. If so, then does the same factor model fit well in each group. Only if this is true would you test for measurement invariance. These steps may reveal problems. 


Hi, I'm trying to test strict measurement invariance (invariance of factor loadings, item tresholds and item residuals) in a model with categorical data. The previous steps were no problem (e.g. configural invariance). I have tried it with this input, but the output produces no equal residual variances. How can I fix this? ANALYSIS: PARAMETERIZATION = THETA; MODEL: f1f5 BY u1u50(*1); [f1f5@0]; [u1$1u50$1]; [u1$2u50$2]; [u1$3u50$3]; [u1$4u50$4]; u1(1); u2(2); u3(3); u(4); etc. MODEL notgifted: u1(1); u2(2); u3(3); u4(4); etc. 


Residual variances must be fixed to one in all groups or fixed to one in one group and free in the others. See multiple group analysis in the Topic 2 course handout. The models for testing measurement invariance are shown for the Delta parametrization. Just change scale factors to residual variances for the Theta parametrization. 


with regards to topic 2 handouts, i noticed in the partial invariance model that the factor means are not set to zero for all groups as it is in the noninvariance model? is this because all of the items for each factor are freed in the noninvariance model, whereas only one, two or three items are freed for each factor in the partial invariance model. what happens if you included the "drugs" item to f3, i.e. all of the items are freed for f3, would have to include [f3@0] in the overall model statement? MODEL: f1 BY property shopliftgt50 congoods; f2 BY fight* threat@1 injure; f3 BY potsolddrug; MODEL male: f1 BY con lt50; f2 BY fight; f3 BY soldpot pot solddrug; [con$1 lt50$1 fight$1 soldpot$1 pot$1 solddrug$1]; {con@1 lt50@1 fight@1 soldpot@1 pot@1 solddrug@1}; 


In the noninvariance model you cannot identify both the factor mean and the thresholds for the factor indicators. In the (partial) invariance case you can. 


Dear Drs. Muthen & Muthen, I understand that I can run a multigroup ZIP model in Mplus by using the KNOWNCLASS option and TYPE=MIXTURE commands. However, what test (chisquare, BIC, WLSMV) do you use for nested models? Thank you for your time, LNV 


The loglikelihood. Minus 2 times the loglikelihood difference of two nested models is distributed as chisquare. 

Kathy posted on Friday, March 18, 2011  11:30 am



Measurement NonInvariance MODEL: f1 BY property shopliftgt50 congoods; f2 BY fight threat injure; f3 BY potsolddrug; [f1f3@0]; {propertygoods@1}; MODEL male: f1 BY shopliftgt50 congoods; f2 BY threat injure; f3 BY drugsolddrug; [property$1goods$1]; Just to clarify this model. When factor loadings are freed, the threshold must also be freed. In this model "property" is the first item in the f1 BY statement, which would mean that "property" is fixed to 1 across both groups  why is the threshold property$1 freed in the model for males (as are fight$1 and pot$1, the first items for f2 and f3)? Is fixing an item to 1 different from fixing the factor loadings to be equal? 


The factor loading of the first factor indicator is fixed at one to set the metric of the factor. The model would not be identified if this were not done. Alternatively, these factor loadings could be freed but then the factor variances would need to be fixed at one. The threshold of these factor indicators are freed when the other factor loading are freed. 

Kathy posted on Monday, March 28, 2011  6:24 pm



I did a Multigroup Factor Analysis and used the Chisquare Difference Testing formula from the Technical Appendices. The difference chisquare value is way too large, given the chisquare values and the df's for the groups. Is there something wrong with the formula? cd = (1188*0.806  1178*0.813)/(11881178) cd = (957.528  957.714)/10) cd = (0.186/10) cd = 0.0186 TRd =(1958.516*0.806 1957.665*0.813)/0.0186 TRd = (1578.564  1591.582)/0.0186 TRd = 13.0177/0.0186 TRd = 699.879 df = 10 


Please send the two outputs involved and your license number to support@statmodel.com. 

Kathy posted on Tuesday, May 10, 2011  8:25 am



What is "residual variance"? I see a lot of different terms being used in various articles, for example, "unique factor covariance", "unique variance", "unique measurement error variance", etc. Is residual variance part of the measurement or structural model? Is it related to the factors or to the error term? What exactly is residual variance in Mplus? 


Residual variance is related to the error term, not the factor. One confusion comes from early factor analysis terms that separated the residual into uniqueness (a minor factor specific to the variable) and error, the first part being reliable and the second not. These 2 parts are bunched together in what we call the residual (they can typically not be separately identified). 


I am using TYPE=MIXTURE and the KNOWNCLASS option to conduct a multiple group analysis among 9 groups. To determine whether factor means differ significantly across groups, I've estimated nine versions of the same model specifying each of the nine groups as the reference group (and using a corrected pvalue to evaluate differences across groups). I would like to report the factor means across these nine strata but do not know how to obtain them. In each of the above models, all I obtain is each group's factor mean difference from the reference group. Please advise if it is possible to and how I would obtain the nine factor means from one model. Thank you. 


The test of factor mean differences across groups, known classes, is a test of a model where factor means are fixed to zero in all groups versus a model where factor means are fixed to zero in one group and are freely estimated on the other groups. This is required for model identification. 

Doug posted on Friday, June 03, 2011  7:58 am



Can anyone offer some advice. I conducted a "overall" MGCFA between two groups (G1 and G2). G2 is made up of seven groups and I now want to do a series of MGCFA individually comparing G1 with the seven groups making up G2 (for example, G1G2a, G1G2b, G1G2c, etc). The reason I am conducting seven MGCFA is because I can't use MIMIC in this case and to do one MGCFA with eight groups would make it difficult to pinpoint the group(s) that was/were noninvariant. Besides, I am only truly interested in the comparison of G1 with the other groups. Having said that, would it be necessary to correct my alpha to account for the fact that I have broken down my "overall" MGCFA into seven individual MGCFA (i.e., an inflated experimentwise error rate)? 


You would need to take this into account by using a smaller pvalue and being conservative in your interpretation. 

Doug posted on Friday, June 03, 2011  10:26 am



Thanks for the info. Just wondering why you wouldn't have to use a smaller pvalue when running MGCFA to test invariance of factors, intercepts, variances, and means? That is, you are conducting multiple CFA to test these parameters across groups. 


It may be wise in that situation too. 


Dear Drs. Muthen & Muthen, I am testing a model of drinker status (dichotomous variable) at t2 from drinker status at t1 (dichotomous), puberty (dichotomous), and four alcohol expectancies. We have run the analyses in mplus we get an output that is in line with our theory, however the beta weights for drinker status t1 are larger than 1. Do you have any suggestions that may address this problem? Also, we are looking to see if the relationship between drinker status and the expectancies differ depending on race (African American versus European American). We are pretty confident that these differences are significant, however we have questions about running the analyses in mplus given that the African American group is a quarter of the size of the European American group. Is there anything we can do to account for differences in group size? 


Standardized coefficients greater than 1 can occur when you have almost collinear predictors. That is, if in your case there is high correlation among some of your variables t1 status, puberty, and the 4 alcohol expectancies. Check the correlations and perhaps drop one variable. I don't know that anything can be done about the difference in group sizes. I guess it is possible to take a random subsample of the European Americans. 


We have run invariance tests in mplus between the groups based on the original sample size (EA 700 compared to 230 AA) and did not see a reduction in the fit indexes. However we are pretty sure there are significant differences in the pathways due to large differences in the beta weights when we ran regressions. Is it possible that the lack in reduction is due to the difference in the sample size between the two groups? 


When you say reduction in fit indices perhaps you refer to things like CFI. I don't know how reductions in these behave in this case. I would work with chisquare differences, where you would seem to have sufficient power with your sample sizes. 

Kathy posted on Monday, June 13, 2011  11:58 am



I have read a number of articles lately that have tested for invariance of factor loadings and thresholds separately, using the WLSMV estimator. It is my understanding that loadings and thresholds need to be constrained equal in tandem when testing for invariance across groups. I am incorrect in assuming this? Can you test for invariance of loadings and thresholds separately? Is constraining the loadings and thresholds in tandem something new, given that these articles are 45 years old. 


In some settings loadings and thresholds need to be constrained in tandem, but in general not. However, given that the whole item characteristic curve is of interest, and it is influenced by both parameters, there seems to be little need for testing them separately. 

Kathy posted on Thursday, June 16, 2011  8:24 am



If I wanted to test them separately, what would the model look like for constraining the factor loadings equal across groups? For example, in the baseline model: 1. Thresholds and factor loadings free across groups 2. Residual variances fixed at one in all groups 3. Factor means fixed at zero in all groups To constrain the factor loadings equal would the model be the same, but just constrain the loadings? Not sure what to do with the residuals and factor means. Would it be, for example: 1. Thresholds free across groups 2. Factor loadings equal across groups 3. Residual variances fixed at one in all groups 4. Factor means fixed at zero in all groups 

Kathy posted on Thursday, June 16, 2011  9:12 am



Also, how do you set MODINDICES to "all" and a value of 3.84 at the same time? If I use "all" it only gives me MI values 10 or greater and if I use 3.84 it does not print out all the parameters and tells you to use "all". 


You would need to use the Theta parametrization and the following models: 1. Thresholds and factor loadings free across groups; residual variances fixed at one in all groups; factor means fixed at zero in all groups 2. Factor loading constrained to be equal across groups; thresholds free across groups; residual variances fixed at one in all groups; factor means fixed at zero in all groups 2. Thresholds and factor loadings constrained to be equal across groups; residual variances fixed at one in one group and free in the others; factor means fixed at zero in one group and free in the others (the Mplus default) MODINDICES (ALL 3.84); 

Kathy posted on Monday, June 20, 2011  10:58 am



Output indicated that DIFFTEST cannot be done because #2 and #3 (from above) were not nested. Not sure why they would not be. It was an easy modification of the files I already had, for example, commented out the factor loadings in groupspecific model of the baseline model for #2. Compared this model to #3 using the SAVEDATA file from number #2 as the comparison. 


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

Kathy posted on Tuesday, June 21, 2011  10:51 am



I don't have a license number as I use Mplus in the college computer room. It appears that model #2 is not nested because the number of free parameters are 150, 117, and 120 respectively for the three models. Not sure what I am doing wrong. As I mentioned above it is pretty easy, the difference between models #1 and #2 is constraining the factor loadings, and model #3 is the default. Not difficult coding. 

Doug posted on Thursday, June 30, 2011  9:24 am



For a MGCFA with dichotomous responses, does the threshold for the first item in each subscale need to be equal across groups in the configural and metric models? That is, when the first item loading for each subscale is equal across groups for model identification, does the threshold for that item need to fixed equal? 


For configural invariance, the threshold for the factor indicator fixed at one should be free. For metric invariance, it can be either free or constrained. 

Doug posted on Wednesday, August 10, 2011  11:16 am



In MGCFA with dichotomous responses is it customary to/can you test invariance of the factor means and variances? i noticed in the videos and handouts that you tested for invariance of factor means and variances for the continuous responses but not for the categorical responses. in the output, how do you get the exact values for the factor means, for each group, because the means are set to zero in at least one group? 


Yes on the first question. You should not expect factor means in all groups. One group needs to be a reference group for identification purposes. The other means should be viewed as deviations from this zero mean. 

Doug posted on Thursday, August 11, 2011  9:22 am



Thanks Bengt. Maybe a silly question, but if I find noninvariance of the factor means, is there a way to see which factor means were larger or smaller than the others. For example, I want to be able to say: "factor means were noninvariant with group A having the lowest factor mean (give value), group B with the next highest(give value), and groups C with the highest factor mean (give value)". If one group is a reference group, how do I determine what the factor mean value is for that group? How do I determine where the reference group's factor mean value fits in relation to the other groups? Also, if I find noninvariance for the test of factor means, can I continue to test the invariance of the factor variances? Is this a partial invariance situation, where you determine which factor mean is not invariant and let that factor mean be 0 in one group and free to be estimated in the other groups? Or do I just test for invariance of the factor variances by directly comparing the equal variances model to the full measurement invariance model (i.e. mplus default)? 


Re your 1st paragraph: It's simple  with a reference group having zero factor mean, a positive factor mean for another group implies that its mean is higher and a negative factor mean implies that its mean is lower. When you have established measurement invariance, you can still allow structural nonvariance  these differences are what we want to study. The factor means do not have to be equal for the study of factor variance differences, nor vice versa. 

AK22 posted on Wednesday, August 17, 2011  2:18 pm



Are there any special considerations when doing a MGCFA with ordinal indicators in which some items have cross loadings? I am looking at a 2 factor model with 8 indicators where two items cross load. 


Nothing different from the continuous indicator case. You may not want to impose MG invariance for crossloadings, unless they are important. 

Doug posted on Wednesday, September 21, 2011  10:53 am



I see the discussion/definition above about/for "residual variances", but what is residual variances in practical terms? For example, I administered a survey by email and phone, and I found invariance of the factor/threshold but noninvariance of the residual variances. I don't quite understand what that means, in practical terms. What does the noninvariance of the residuals variance say about my two types of test? 


I don't think residual variances need to be invariant for measurement invariance to hold. The residual variance is the unexplained variance. I don't think this needs to be the same for items in different groups. 

Doug posted on Thursday, September 22, 2011  8:30 am



I understand from the manual that residual variance does not have to be tested in some areas of study, but that it can be tested with the theta parameterization, and I am trying to make a decision on whether I need to be concerned about residual variance in my situation. However, to be honest, after reading the Mplus articles, I am having trouble making that decision. I am not totally understanding the mathematics nor the explanations in the articles. A little beyond my understanding. That is why I was hoping for a more practical interpretation of what it means when "residual variance" is not invariant for two modes of testing. What does it say about the two modes testing? Thanks. 


The residual can be measurement error which is related to unreliability or something unique about the item that it does not share with the factor. These may differ for different groups. 

Brian Miller posted on Wednesday, October 12, 2011  11:58 am



I am fitting a MGCFA model for 11 binary items, looking at DIF across a dichotomous variable. Recommmended steps I've seen involve fitting a model (step 1) with constraints on 1 loading across groups (fixed @ 1), means (0 in both groups), & scale factors (all @ 1 in both groups). Free parameters are other loadings, all thresholds, & variances. In step 2, group equality constrains are placed on other loadings & on all thresholds. Additionally, a factor mean is estimated for one group & scale factors are estimated for one group. I am instead interested in fixing variances to 1 so that loadings can be estimated for all observed indicators. Specifically, I fit the models above (call them 1a and 2a) but instead, the 1st loading is not constrained to 1 & I constrain variances to 1 in both groups. Comparing Step 1 & 1a: identical fit stats, # of parameters estimated. Comparing step 2 & 2a: discrepant fit stats and 1 less parameter estimated in step 2a. 1st, am I doing something wrong in my steps 1a and/or 2a for the purpose of testing measurement invariance? 2nd, in step 2 & 2a models above, groups are constrained on loadings & thresholds, but the IRT output shows group differences in discriminations & difficulties. How do I get my IRT estimates to be invariant across groups given that I've constrained loadings and thresholds to equality across groups? 


If all you have done is change the way the metric is set, the fit should be the same. For 2 and 2a compare the TECH1's to see where the extra parameter comes in and change it. 

Brian Miller posted on Wednesday, October 12, 2011  1:11 pm



Thanks Linda. I see why I have 1 extra parameter in step 2, but I am still unclear on what needs to be done. For 11 indicators and two groups, identifying the model by fixing a loading to 1 in both groups (step 2) involves estimating 10 loadings, 11 thresholds, 1 mean, 2 variances, and 11 scale factors, for 35 parameters. If instead I identify the model by freeing those two loadings and fix variances to 1 in both groups (2a), I have 11 loadings, 11 thresholds, 1 mean, and 11 scale factors (34 parameters). Because loadings are constrained across groups in these two models, freeing the first loading only gives me one extra parameter, but I am simultaneously restricting two variances to unity, giving a net loss of 1 parameter. What am I doing wrong? 

Doug posted on Thursday, October 13, 2011  10:57 am



In chapter 14 of the user's guide you indicate, for partial measurement invariance, that for continuous outcomes equality constraints can be relaxed for the intercepts, factor loadings, and residual variances, and that for categorical outcomes, equality constraints for thresholds and factor loadings for a variable can be relaxed. Does this mean that partial measurement invariance of residual variances cannot be tested for categorical outcomes? 


Brian: Please send the relevant outputs and your license number to support@statmodel.com. 


Doug: You can do this using the Theta parametrization. The test is a model with residual variances one in all groups versus a model with residual variances one in one group and free in the others. Partial invariance would be some items with ones in all group and some with ones in one group. 

Kate Walton posted on Friday, October 14, 2011  6:21 am



Hi. I have two questions about this input: MODEL: in by anti_in@1 alc_in nic_in sub_in; fu1 by anti_fu1@1 alc_fu1 nic_fu1 sub_fu1; fu3 by anti_fu3@1 alc_fu3 nic_fu3 sub_fu3; ext by in@1 fu1 fu3; marry on ext; anti_fu3 with marry; alc_fu3 with marry; nic_fu3 with marry; sub_fu3 with marry; This is a complex, multigroup design, using theta parameterization. The indicators and marry are categorical. When I added in marry on ext, the psi matrix contained some estimates that I dont understand. In group 1, there are estimates for (1) ext variance, and covariance between (2) marry and anti_fu3, (3) marry and alc_fu3, (4) marry and nic_fu3, and (5) marry and sub_fu3. In group 2, these five estimates are in psi, as well as (6) anti_fu3, (7) alc_fu3, (8) nic_fu3, and (9) sub_fu3 variances. According to the manual, the psi matrix contains the variances and covariances of the continuous latent variables. Anti, alc, etc. are not continuous latent variables so Im not sure why they are showing up in the psi matrix. Second, I want to know the correlation between marry and the residual variance of anti_fu3, between marry and the residual variance of alc_fu3, etc. Is the with statement giving me this? Thanks 


When variables appear in psi rather than theta, this is not a problem. It is a behind the scenes part of Mplus that has not statistical meaning or consequence. The matrix where the parameter appears does not affect its estimation. These are residual covariances. 


When variables appear in psi rather than theta, this is not a problem. It is a behind the scenes part of Mplus that has not statistical meaning or consequence. The matrix where the parameter appears does not affect its estimation. These are residual covariances. 


Hello, I am expereincing alot of erro messages when I try to complete a MI test on my measure with binary indicators. Is there a hand out somewhere that details how to go through the MI testing process with binary indicators step by step? If I need to order such handout, how do I do that? My problems are: One, I am unsure about how to write the code for each of the steps Two, I am unclear about how to interpret the output and then modify the input with various restricitions for the next step. 


See the Topic 2 course handout and video on the website under multiple group analysis. The inputs are shown there. See the Topic 1 handout and video under multiple group analysis for a more thorough discussion of measurement invariance and population heterogeneity. 


Hi Linda, Thank you for your quick reply. I am rereviewing handout 1 and 2 now. Question 1: Should I run my model with WLSMV as opposed to ML? Question 2: When I run EFA it uses Geomin rotations; however your example indicates quartmin rotations...why would we not get the same rotations if we both have binary indicators? Question 3: The EFA indicated that the best model was a six factor model but, some of the eigen values were below one and even negative. I thought you wanted eigen values close to but above 1, yes? Also, some of the factor loadings were highlighy negative (0.719) and above one (1.210). Would you still have those items loading onto that factor for the next step (baseline CFA model). What would you suggest for a cutoff for a factor loading and how many binary items should you have per factor? Question 4: I then ran a CFA on the suggested 6factor model using both WLSMV and ML produced from the EFA (because it had the best CFI, the rest of the CFI estimates were below .95) and received a number of error messages: 1. THE LATENT VARIABLE COVARIANCE MATRIX IS NOT POSITIVE DEFINITE...CHECK THE TECH4 OUTPUT FOR MORE INFORMATION. PROBLEM INVOLVING VARIABLE F2. And 2. ML wouldnt even run (something about memory) Thank you SO MUCH. ***Melissa 


One more thing! CFA output says that some of my binary indicator items have more than two categories. Is this because I have some items that have missing data for some cases? Is it possible to include those cases with the partial data? The file was originally an SPSS file so missing data is denoted with a (.)? Is this why the output says my binary items have more than two categories? Thank you SO MUCH. ***Melissa 


The first thing you should do is make sure your data are being read correctly. You may have blanks in the data set. SPSS uses blanks as missing in some cases and this is not allowed with free format data. If you can't figure this out, send the relevant files and your outcomes to support@statmodel.com. 


Ok Linda, it is working now. You were right....my missing data was causing the modeling issues for the EFA. However, the output still indcates Geomin rotation....is that a problem? 


We changed the default. You can use any rotation you want. If you have no reason to change from the default, I would stick with it. 


I am not getting any kind of model fit indices with my output for a baseline model test for two different groups (males and females). The following is part of my input (I also have the remainder of the threshold and scale factors as well (but didnt include them here for length purposes.) I also got four error messages. Thoughts? Is the output not supposed to contain model fit indices so I can assess invariance? VARIABLE: NAMES = age gen bbrok prevbrk momhop momfrc marital Q1Q18 Edu Minor ScFOOQ Lim_Eng age_dc; USEVAR = Q1Q18 gen; CATEGORICAL = Q1 Q3Q13 Q15Q18; MISSING = ALL(999); GROUPING IS gen (0 = male 1 = female); MODEL: F1 by Q1 Q5 Q6 Q7 Q12 Q13 Q17; F2 by Q8 Q10 Q11 Q15 Q18; F3 by Q3 Q4 Q16; F1 with F2; F1 with F3; F2 with F3; OUTPUT: SAMPSTAT RESIDUAL STANDARDIZED CINTERVAL TECH1 TECH3; *** WARNING in MODEL command Variable is uncorrelated with all other variables: Q2 *** WARNING in MODEL command Variable is uncorrelated with all other variables: Q9 *** WARNING in MODEL command Variable is uncorrelated with all other variables: Q14 *** WARNING in MODEL command At least one variable is uncorrelated with all other variables in the model. Check that this is what is intended. 4 WARNING(S) FOUND IN THE INPUT INSTRUCTIONS 


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


HI I just got the following message for my MI analysis. *** ERROR in ANALYSIS command ALGORITHM=INTEGRATION is not available for multiple group analysis. Try using the KNOWNCLASS option for TYPE=MIXTURE. I am using MLR and currently at step two of testing invariance (ie. factor means at zero and everything else freely estimated). Thank you. 


You need to use KNOWNCLASS and TYPE=MIXTURE instead of GROUPING in this case. When all classes are known, this is the same as multiple group analysis. See Example 7.21 to see the language to use. 


Okay. I have done that and now get the error message: **ERROR in MODEL command Unknown class model name GENDER specified in Cspecific MODEL command. NAMES = age gen bbrok prevbrk momhop momfrc marital Q1Q18 Edu Minor ScFOOQ Lim_Eng age_dc; USEVAR = Q1 Q3Q13 Q15 Q17 Q18; CATEGORICAL = Q1 Q3Q13 Q15 Q17 Q18; MISSING = ALL(999); CLASSES = Gender (2); KNOWNCLASS = Gender (gen = 0 gen = 1); ANALYSIS: TYPE = MIXTURE; ESTIMATOR = MLR; ! Unconstrained Model MODEL: F1 by Q1 Q5 Q6 Q7 Q12 Q13 Q17; F2 by Q8 Q10 Q11 Q15 Q18; F3 by Q3 Q4; !Holding factor means at zero [F1@0]; [F2@0]; [F3@0]; Model Gender: F1 by Q5 Q6 Q7 Q12 Q13 Q17; F2 by Q10 Q11 Q15 Q18; F3 by Q4; [Q1$1]; [Q5$1]; [Q6$1]; [Q7$1]; [Q12$1]; [Q13$1]; [Q17$1]; [Q8$1]; [Q10$1]; [Q11$1]; [Q15$1]; [Q18$1]; [Q3$1]; [Q4$1]; 


thank you soooooo much for all of your help. ***Melissaq 


You should not have MODEL GENDER. You should specify: MODEL: %gender#1% %gender#2% where group one specifications follow %gender#1% and group two specifications follow %gender#2%. 


I have got it working now. Dr. Muthen (I'm sorry, I think I referred to you as Linda without asking your permission to do so, my apologies). Just out of curiosity, has it always been the way to analyze multiple groups with ninary indicators using the TYPE=COMPLEX and classes option? Or, did it change to that with newer versions of Mplus. A colleague of mine was sure that you used to be able to model the multiple groups with binary indicators using the GROUPING command. Or rather, is it an issue about the estimator you want to use (i.e. if you want MLR you have to use COMPLEX OR if you want WSLMV you can use grouping?) Have a wonderful day! ***Melissa 


You can use WLSMV with GROUPING and COMPLEX. See the ESTIMATOR option in the user's guide for the estimators available for various models. If you use MLR and COMPLEX, you will need numerical integration with categorical factor indicators and therefore need KNOWNCLASS. Nothing has changed. 


Hi Dr. Muthen, In your december 15th post at 8:23am, you said I need to specify MODEL: %gender#1% %gender#2% Do I have to model each gender then for invariance testing. With the grouping command, you just put in the restrictions for one group and whatever is not constrained would apply to both, ? But it seems here that you have to model both groups. Yes? Do you also have to use threshold and scale input to model invariance in the typical stepwise fashion. This is not clear to me from the user's guide. I am getting error message about having to hold parameters, but perhaps I am not doing the input correctly. ***Melissa 


Model 1  This is the default model in Mplus. The thresholds are held equal across groups and the factor loadings are held equal across groups. The scale factor is fixed to one in the first group and free in the others. The factor means are zero in the first group and free in the others. Model 2  The thresholds and factor loadings are free across groups. Scale factors are one in all groups and factor means are zero in all groups. I tired this and got an error message as well. *** ERROR in MODEL command TYPE=MIXTURE does not support models with scale factors. Problem with the following statement: { Q1@1 }. Is it possible that I could send you my output and license number for support? 


You are using maximum likelihood estimation. The model you want to compare are listed in the user's guide under Maximum Likelihood Estimation With Categorical Outcomes. You are looking at Weighted Least Squares Estimator Using The Delta Parameterization. If you need further help, send your question and license number to support@statmodel.com. 


Hallo! I want to run a multigroup analysis which has one binary observed outcome and observed continuous and binary predictors. The binary outcome and some continuous predictors have missing values. My questions are:  Is it possible to run a multigroup analysis with binary outcome?  Is it possible to include cases with missing values? if yes, how? Thank you! 


Yes, you can run a multiple group analysis with a binary outcomes, If you have only one dependent variable, missing data theory does not apply. 


Thank you for your fast answer. Because I am not sure if I explained correctly the question about the missing values I want to write it again (maybe is still the same answer): In the study I have collected data in two different moments (or time points): at T1 and T2 (T2 being the followup). The outcome variable is a binary variable at T2. Predictors are from T1 and T2. Because not all the participants took part at T2 I have missing Data at this time point. If the outcome variable is continuos, all the cases are included in the analysis. But is it possible to include all the data available with a binary outcome? and if yes, how? Thank you again! 


You must be using an older version of the program where with continuous variables we estimated an all y model rather than a y given x model. On the website, see Version History/Mplus Version 6.1/Analysis Conditional on Covariates for a full explanation. 


I have an odd situation where my fit statistics improve when moving from configural to strong invariance in WLSMV. Although, the difftest is significant, which suggests I am doing this right. Is this a known issue? Configural invariance model: X2=1366, DF=78, RMSEA=0.054, CFI=0.978, TLI=0.963 categorical are v1v12; cluster is W2PSU; stratification is W2STRAT; weight is W2WEIGHT; grouping is w2aabol (0=AD 1=AA); analysis: type = COMPLEX; model: f1 by v1v12; v1 WITH v2v6; v2 WITH v3v6; v3 WITH v4v6; v4 WITH v5v6; v5 WITH v6; [f1@0]; {v1v12@1}; model AA: f1 by v1v12; v1 WITH v2v6; v2 WITH v3v6; v3 WITH v4v6; v4 WITH v5v6; v5 WITH v6; [v1$1v12$5]; savedata: difftest is step1.dat; Strong invariance model: X2=1,130, RMSEA=0.036, CFI=0.983, TLI=0.983, DIFFTEST X2= 127, df=58, p<0.0001 difftest is step1.dat model: f1 by v1v12; v1 WITH v2v6; v2 WITH v3v6; v3 WITH v4v6; v4 WITH v5v6; v5 WITH v6; 


Only the pvalue of the chisquare value for WLSMV should be interpreted. Model comparisons must be done with DIFFTEST. 


Dear Mplus team, I am puzzled by what looks like alternative approaches to estimate configural model with Theta parameterization. The approach described in the Mplus handbook (ch. 14, p.434) suggests:  letting all thresholds and factor loadings to vary freely across groups  fixing Residual variances and the variance of the latent factor to 1 in all groups  and fix latent factor means to 0 (and variance for 1 of course). The alternative approach, which I have seen in several peerreviewed papers (most resently Davidov et al., 2011, in CrossCultural Analysis book by Routledge; they also provide an Mplus syntax for their model) originates, I believe, from Millsap and YunTein (2004) paper. I don't have a paper in front of me, but I think here they suggest:  constrain one factor loading to 1 in all groups for the one item  for that same item, constrain thresholds to be equal across groups for all other items, one threshold should be equal  fix residual variances in the first group at unity, and letting residual variances in the other groups to vary  fixing latent means are fixed to 0 in the reference group, and estimating them freely in other groups Depending on the chosen approach, model fit statistics in my situation to differ, although general conclusions still remain the same. Thank you 


The MillsapTien configural model for polytomous items is called the "baseline" model by them. It is the same model, although reparameterized, as the Mplus noninvariance model. They give the same fit. You may want to send your 2 outputs to Support to get the setups checked. 

Xu, Man posted on Wednesday, June 13, 2012  12:36 pm



Dear Dr. Muthen, I have a question regarding set up of the baseline measurement invariance model in mplus and Millsap. Can I please check with you that they can be set up like below and they are equivalent: Mplus: Variance  free means  fixed to 0 in all groups loading loading of first item fixed to 1, others free threshold  free scale factors  fixed to 1 in all groups Millsap: variance free means 0 in one group free in rest groups loading loading of first item fixed to 1, others free in two groups threshold constrained equal in all groups for: all thresholds for first item, first 2 thresholds of the second item, first threshold of all items. rest of the thresholds free in all groups scale factors only estimated in one group Do you think this would be applicable to binary data or data with 3 categories? For the Millsap it seems as if I would need to impose more fixed parameter? Thank you very much! Kate 

Xu, Man posted on Wednesday, June 13, 2012  2:57 pm



sorry, for the Millsap set up I think I got the threshold wrong. It would be: constrain the first threshold of all items, and constrain a second threshold from one of the items, then set the rest threshold free. 


The MillsapTien approach is suitable for polytomous items (the second threshold held equal is for the metricsetting item). This baseline model gives the same fit and degrees of freedom as the Mplus noninvariance model that you describe. A benefit of the Millsap approach is that invariance of loadings can be separately tested. 

Xu, Man posted on Thursday, June 14, 2012  7:58 am



Thank you. I have just tested both approach on a set of polytomous items and yes, the fit and degree of freedom is identical both for the configural model and the strong invariance model across Mplus and Millsap set up. But for loading invariance I get myself into trouble. Immediately after the Mplus configural model, instead of constrain both loading and threshold in tandom, I tried to test loading invariance only. This model is not comparable with results from the Millsap set up of factor loading invariance test. They have the same degree of freedom, but chisquare, model parameter estimations are not identical. I tried to free the scale factors under MPlus set up but this model (constrained loading, free threshold) can not be identified. When you say "A benefit of the Millsap approach is that invariance of loadings can be separately tested", do you mean that it is not good to seperately test the loading invariance with the scale factors fixed in both groups, as I did above, hence one need to use the Millsap set up for this? 


The way to test invariance of loadings (and not thresholds) for polytomous items is to use the MillsapTien approach. It sounds like you are trying to compare that to some other approach, but there is not another approach to do this. I should add that often the use of the Mplus default invariance model followed by modifications that relax invariance based on using Modindices gives the same invariance test results as when using the MillsapTien approach. 

Xu, Man posted on Monday, June 18, 2012  1:35 am



Thank you. Yes, the strong invariance models of Mplus (the default) and the MillsapTien are the same. I guess I wanted to compare a bit, at least the configural model, as the identification constraints are not the same so I wanted to check whether they give the same baseline model. However, when it is dichotomous data, I was not able to get the MillsapTien configural model run. The number of parameters seem the same as Mplus set up but only the Mplus one was identified. What have I done wrong? Dichotomous configural model of MillsapTien: 1set scale factor of nonreferent items free in one group 2set latent factor mean to be 0 in one of the groups 3set loading to 1 for a referent item in both groups, set all nonreferent items free in both groups, 4set threshold to be equal in both groups 5set scale factors to be 1 for the referent item in both group, 6set free latent factor variance in both groups. 

Xu, Man posted on Thursday, June 21, 2012  5:12 am



Dr. Muthen, I read from previous message "Bengt O. Muthen posted on Monday, March 02, 2009  4:06 pm". You said that "scale factors are a function of 3 things, only 2 of which have to do with the measurement characteristics of the item. See Mplus Web Note #4. The 3 things are loadings, residual variances, and factor variance. Because factor variances are expected to vary across groups (and across time in long'l studies), scale factors are not expected to be invariant across groups even if loadings and residual variances are. Even when loadings and factor variances are invariant across groups, I would not expect the scale factors to be invariant across groups because the residual variances are most likely not invariant across groups  this is typically the case with continuous outcomes. Typically, I would not test for invariant scale factors. " I think in continuous data, factor invariance is to be tested after factor loading invariance has been established. For categorical data, does it mean that to assess invariance of scale factor, or residual variance, one would need to establish loading invariance and factor invariance first? I think it would still be helpful to assess them so that one can know whether it is possible to use the sum scores of the observed items. Thanks! Kate 

Xu, Man posted on Thursday, June 21, 2012  5:25 am



by "factor invariance", I really meant factor variance invariance. I am trying to figure out the steps I should take to assess the degree of invariance of the model. If scale factor is a function of factor variance, then the logical steps seem to be: 1.loading invariance (threshold invariance too?) 2. factor variance invariance 3. scale factor invariance (or residual invariance?). Is this right? 


I think in continuous data, factor invariance is to be tested after factor loading invariance has been established. For categorical data, does it mean that to assess invariance of scale factor, or residual variance, one would need to establish loading invariance and factor invariance first? Yes. 1. Yes. 23. If 2 is true then you can test 3. You might use PARAMETRIZATION=THETA; where variances instead of scale factors are considered. Please keep your posts to one window. 

Xu, Man posted on Tuesday, June 26, 2012  4:21 pm



Thank you very much re the above post. I have thought a bit more and think that the use of theta indeed is more intuitive for testing of residual variances invariance. Thank you. However, looking at Mplus webnote 4, it seems that even under theta parameterisation, residual variance is still a function of factor variances, in addition to the factor loading and scale factor (equation 26, P9, webnote 4). Does this mean that even with theta parameterisation one also need to test factor variance invariances first before testing residual variances invraiance? Or in other words, if it turns out that the factor variances differ across groups, need one to free the residual variances in one of the groups (unless there is noninvariance in the factor loading and thresholds)? Thanks! 


No, the theta residual variance is a free parameter in all groups except for the reference group. Equation (26) does not contradict that. 


Hi Prof,I am working in ESEM environment trying to do Multiple Group Analysis With Categorical Outcomes. calculate the the chisquare difference test gives the error message. THE CHISQUARE DIFFERENCE TEST COULD NOT BE COMPUTED BECAUSE THE H0 MODEL IS NOT NESTED IN THE H1 MODEL. model conditions are. M1: Loadings and intercepts invariance M2: Loadings but not intercepts invariance M3: Neither loadings nor intercepts invariance my syntax. VARIABLES are Gender A1A29 USEV ARE A1A29 ; GROUPING = sex (1=f 2=m); CATEGORICAL = A1A29; MODEL:f1f4 BY A1A29(*1); OUTPUT: SAVEDATA: DIFFTEST IS diff.dat; syntax for MODEL 1: loadings and intercept invariance MODEL 2: VARIABLE: NAMES = sex A1A29; GROUPING = sex(1=f 2=m); USEV = A1A29; CATEGORICAL = A1A29; ANALYSIS: difftest IS diff.dat; MODEL: f1f4 BY A1A29(*1); [f1f4@0]; MODEL m:[ A1$1 A29$1]; MODEL 3: VARIABLE: NAMES = sex A1A29; GROUPING = sex(1=f 2=m); USEV = A1A29; CATEGORICAL = A1A29; ANALYSIS: difftest IS diff.dat; MODEL: f1f4 BY A1A29(*1); [f1f4@0]; MODEL M: F1F4 BY A1A29(*1); [A1$1 A29$1]; Please i wish to know the problem and why i am getting the error and advice. 


You should reverse the DIFFTEST options in the two models. You should save DIFFTEST in the least restrictive model and use it in the most restrictive model. 


M1 : loadings and intercept invariance M2: VARIABLE: NAMES = sex A1A29; GROUPING = sex(1=f 2=m); USEV = A1A29; CATEGORICAL = A1A29; ANALYSIS: process=2; MODEL: f1f4 BY A1A29(*1); [f1f4@0]; MODEL m:[ A1$1 A29$1]; OUTPUT: SAVEDATA: DIFFTEST IS diff.dat; MODEL 3: VARIABLE: NAMES = sex A1A29; GROUPING = sex(1=f 2=m); USEV = A1A29; CATEGORICAL = A1A29; ANALYSIS: difftest IS diff.dat; MODEL: f1f4 BY A1A29(*1); [f1f4@0]; MODEL m: F1F4 BY A1A29(*1); [A1$1 A29$1]; Please getting the same error message THE CHISQUARE DIFFERENCE TEST COULD NOT BE COMPUTED BECAUSE THE H0 MODEL IS NOT NESTED IN THE H1 MODEL. please how do i reverse the DIFFTEST options in the two models. with what i have above still not working. doing this weeks now. thakx 


With continuous and ordinal outcomes, measurement invariance can be tested in three steps. With binary outcomes, the second step is not identified. Measurement invariance should be tested in two steps in this case. These are shown on page 433 of the Mplus User's Guide and in the Topic 2 course handout on the website under multiple group analysis. 


I have a question about the first model of the 2 models outlined on page 433 of the UG for MI testing using the WLSMV estimator using the Delta parameterization. In the first model you suggest to fix the factor means to zero in all groups. As far as I can tell, fixing them to zero is not necessary for model identification. I have seen other literature that suggests that the factor mean in the first group should be 0 and the others free. So I'm wondering if you could comment on the reasoning. Presumably if you're testing for item invariance, then you'd either fix the factor mean in all groups to zero in the baseline model and leave them at zero when testing for invariance of a specific item in a subsequent model....or you'd fix the factor mean in the first group to zero and free in the other groups for the baseline model and in the subsequent model. Thank you. 


hi I will like to send my output and syntax and ask you some questions. I am using Mplus purchased by my university only available at the university computers. How can i get the license number to send as well to my output. 


Scott: Step 1 has the thresholds and factor loadings free so the factor means need to be zero in all groups for model identification with binary items. Step 2 constrains the thresholds and factor means so factor means can be free in all but one group. 


Emmanuel: You must be the registered user of a license to be eligible for support. You can check with your IT department regarding license numbers and registrations. 

baeksan yu posted on Friday, September 14, 2012  4:17 pm



Hi. I have questions about delta parameterization for conducting multigroup analysis. For the multigroup analysis for model includes categorical indicators, in the stage of metric invariance, it is recommend that thresholds and factor loadings constrained to be equal across groups; scale factors fixed at one in one group and free in the others; factor means fixed at zero in one group and free in the others. If one of loadings, factor variances, and residual variances vary, the scale factor would vary. Hence, scale factors fixed at one in one group and free in the others makes sense. However, I cannot find any reasons for fixing factor means at zero in one group and free factor means in the other groups in the case of testing structural invariance. I think I could constrain factor means at zero both group and test the metric and structural invariance, if the purpose of study is not comparing the latent factor means. Am I right? If not, could you explain the reasons to free factor means in other groups? 


If you have equal thresholds and equal loadings across groups, fixing the factor means to zero in all groups does not allow for different observed item distributions across groups. The idea is to allow the factor means to vary across groups since the groups are not randomly chosen. 

baeksan yu posted on Friday, September 14, 2012  9:18 pm



Thank you for your reply. Then, although we conduct multiplegroup analysis for continuous variables, when we have equal factor loadings across groups for metric and structural invariance, then, we should not fix factor means to zero in all groups.Is this right? or just in case of having equal thresholds and factor loadings? 


For continuous variables and loading invariance (equality across groups), your means are E(y_g) = nu_g + lambda*f_g + residual_g, where nu_g is the intercept in group g and the factor mean is E(f_g) = alpha_g. Clearly, you cannot identify both nu_g and alpha_g so you set the alpha_g's to zero. When intercepts and thresholds are invariant you can identify factor means when fixing one group's factor mean at zero. 


Dear Dr. Muthen, We are doing multigroup analysis, testing indirect paths for men and women using WLSMV. We have a question about doing the indirect test. We are using five dummy variables to represent age (which is a predictor in our model). We would like to test the difference (between men and women) in the indirect effect of age on health care cost shown here
 age > CHD (binary variable) > health care costs To do this, we did this
Model men: LogCost on CHD(m1); CHD on Age2(m2) Age3(m3) Age4(m4) Age5(m5); Model women: LogCost on CHD(f1); CHD on Age2(f2) Age3(f3) Age4(f4) Age5(f5); MODEL constraint: new(men women); men=(m1*m2)+(m1*m3)+(m1*m4)+(m1*m5); women=(f1*f2)+(f1*f3)+(f1*f4)+(f1*f5); MODEL TEST: men=women; is this method of testing correct? are the standard errors appropriate? thanks in advance Selahadin 


In MODEL TEST say 0 = men  women; The standard errors are correct. 


Thank you! Selahadin 


I am using an WLSMV estimator and Version 7 to test a pathway analysis: Latent variables (A), continuous variable(B), categorical covariate (C), continuous covariate (D) are predicting a binary outcome. Latent variables (A) predicting continuous variable (B). I would like to use the DIFFTEST to determine whether these relationships are different between 2 groups. However, the stdx estimates are not accompanied by pvalues. In a prior post, you recommended that the unstandardized coefficients and pvalues be reported along with the standardized coefficients. For publication purposes, is there additional information I should give as to why this is? Unless there is an alternative way to calculate the standardized coefficient pvalue in Version 7. Thank you. 


DIFFTEST tests the raw coefficients not the standardized coefficients. With WLSMV, standard errors and pvalues are not given for standardized coefficients when the model contains covariates. I would report the raw results. 


Dear Mplus Team, I would like to realize a generalized ANCOVAlike approach with a latent dependent variable: a factor measured by categorical (ordinal) indicators. My questions are: (1) Which estimator is generally more appropriate for this purpose: WLSMV (multiple groups, delta, scaling factors = 1 in one group) versus MLR (mixture/knownclass, probit link)? (2) Due to there are covariates additionally to a grouping variable: the way to set the metric of the dependent latent variable was to fix a threshold of one indicator in one group to any specific value? (with all latent means free estimated) (3) If I would set the latent mean in the first group to zero indirectly via threshold fixing: this works if I set the first threshold of the item with loading = 1 to the zvalue corresponding to the probability of the first item category. It seems to work in the single group mode but not with multi group modeling (in the group with scaling factors = 1 and using the group specific probability for the zvalue)? (4) The only way to get estimations and standard errors for group sizes (e.g. via logits) is the use of mixture modeling/knownclass or is there any possibility to get these estimations in the multiple groups mode? Thank you. 


WLSMV is great for getting fast answers. But it is not a fullinformation estimator such as ML and Bayes and doesn't handle missing data as well as those estimators  i.e. under MAR. The metric can be set in the intercept fixed at zero for one of the groups, but many alternatives are possible but give no different results. Group size SEs can be obtained in a separate run using Type=Basic. 


Dear Mplus Team, I have compared multiple group CFA probit models for categorical outcomes with regard to WLSMV vs. MLR. The most similar results are given by the following two models: A) WLSMV, Theta parameterization and measurement invariance (default) but with all residual variances fixed to 1 in all groups (not the default). B) MLR, measurement invariance (default) but unequal factor variances across groups (not the default). My questions are: (1) Does this mean the MLR multiple group probit approach is more stricter compared to the WLSMV Theta param. default (residual variances fixed at 1 only in one group)? (2) In my example the WLSMV model A has df = 16 and the MLR model B has df = 18. The latter is because [c#1] and [c#2] are estimated parameters in model B (knownclass). Is it advisable to make both models conceptually comparable by fixing the values of [c#1] and [c#2] in model B? (e.g. if the group sizes are fixed and not stochastic) (3) Is it necessary for measurement invariance with MLR and categorical outcomes that the factor variances are held equal across groups (the default)? Thank you very much. 


Excuse me! What I meant in (2) were the number of free parameters and not the degrees of freedom. 


You are setting up your models correctly. I assume that you do MLR multigrp as Mixture Knownclass. (1) Yes, the WLSMV model is more flexible. (2) No need to fix [c]; it doesn't change results. (3) No. The default of equal factor variances is only due to the fact that you are in the Mixture track. 


Dear Professors Muthén, I would like to conduct a multigroup multinomial regression analysis with latent variables. Based on the guidelines of this forum, so far I have managed to conduct a multigroup multinomial regression without latent contstructs. However, once I introduce latent variables into the analysis, I face an error message. From the error message I can decipher that the algorithm=integration and probably the type=mixture are not compatable with each other. Can you suggest possibly a way around my problem? (I have also included the exact syntax+error below my message) Thank you in advance for your help, Zsófia Ignácz USEVARIABLES jp male age educ inc e1 e2 e3 e4 e5 i1 i2; CLASSES= GENER (5); KNOWNCLASS=GENER (gen5=1 gen5=2 gen5=3 gen5=4 gen5=5); nominal is jp; ANALYSIS: TYPE=MIXTURE; MODEL: %OVERALL% EGALI by e1 e2 e3 e4 e5; IND by i1 i2@1; jp on male age educ inc EGALI IND; *** ERROR The following MODEL statements are ignored: * Statements in the OVERALL class: JP#1 ON EGALI JP#1 ON IND JP#2 ON EGALI JP#2 ON IND JP#3 ON EGALI JP#3 ON IND *** ERROR One or more MODEL statements were ignored. These statements may be incorrect or are only supported by ALGORITHM=INTEGRATION. 


Add ALGORITHM=INTEGRATION; to the ANALYSIS command. If that does not help, send the output and your license number to support@statmodel.com. 


Dear Professor Muthen, Thank you for your advice. The model is now successfully running. Kind regards, Zsofia Ignacz 


Dear Mplus team, Tech15 is a great feature that allows to compute probabilities of each level of categorial variable 1 given the values of categorical variable 2. Is there a way to compute confidence intervals for these probabilities? Is it correct to use CINTERVALS of the OUTPUT command, and then use the estimated CIs in the procedure of calculating probabilities from logistic regression coefficients described on page 493 of Users' Guide? 


There is currently not an automatic way to get these CIs. You can, however, compute the probabilities and their CIs using Model Constraint. The answer is no to your last question. 


Thank you for a quick reply. Is the following way of constraints specification correct? If not, what should be changed? Given that c has 4 categories, u has 10 categories. MODEL: %OVERALL% c ON u (c1u1c1u9 c2u1c2u9 c3u1c3u9); MODEL CONSTRAINT: DO(1,3) NEW (Pc#_u1Pc#_u9); DO(1,9) Pc1_u# = exp(c1u#) / ( exp(c1u#) + exp(c2u#) + exp(c3u#) + exp(0) ); DO(1,9) Pc2_u# = exp(c1u#) / ( exp(c1u#) + exp(c2u#) + exp(c3u#) + exp(0) ); DO(1,9) Pc3_u# = exp(c1u#) / ( exp(c1u#) + exp(c2u#) + exp(c3u#) + exp(0) ); 


I assume u is a categorical latent variable. But you need to have the c intercepts in the equations too. 

Juan Ramón posted on Thursday, September 26, 2013  3:20 am



Dear Mplus team, I'm evaluating the measurement invariance of a test with an ESEM and WLSMV estimator. I know that the chisquare values for the different nested models are not directly comparable, but that DIFFTEST should be used. I have made the comparison between models comparing CFIs, TLIs, and RMSEAs, as suggested by Cheung & Rensvold (2002) and Marsh et al. (2009)  although they have done that comparisons with continous indicators, not categorical. A reviewer points a concern that, perhaps, relevant, and I'm not completely sure about what would be a proper response: "The authors note that chisquares for the robust estimator are not directly comparable in a strict sense, but they then decide to rely on comparisons of fit indices that are in fact based on the chisquare. It is not clear by what alchemy this solves the problem of incomparability." I assume that the correct response would be based in the idea of a similar computation of the baseline model. I would appreciate any suggestion. Thank you. 


You should only compare chisquare and only using the DIFFTEST results. No comparison of the absolute chisquare values should be made and no comparison should be made using the fit statistics based on chisquare. 

tashakor posted on Tuesday, February 04, 2014  7:49 am



hi dr. muthen, i am fitting a MGCFA model for categorical observed variables and i want to put the most restrictive model in terms of equality of residual variances in both groups. here is my question: how can i do that? as it has been said in user guide that for equality of thresholds and factor loadings we must put residual variances fix at 1( ex:y1y9@1)in the model. after that for reaching the equality of residual variances can we just remove it from the model in the last stage? note that i use theta parameterization and wls estimator..thanks for ur consideration 


To test residual variances, keep factor loadings and thresholds constrained to be equal across groups and compare the model with residual variances fixed to one in one group and free in the others to a model with residual variances fixed to one in all groups. 

Hyunzee Jung posted on Saturday, February 15, 2014  1:15 pm



Hello, I am doing a 2group CFA with 4factor structure with ordered categorical indicators. F1 has 5 indicators; F2 has 4 indicators; F3 has 2 indicators; and F4 has 3 indicators. Each indicator consists of 4 categories. When a multigroup CFA that was allowed to vary across groups was run, I encountered the following error message: "Group 2 does not contain all values of categorical variable: ROB2R" and the same message for ROB28R. Both ROB2R (F1) and ROB28R (F4) are factor indicators. I am aware that ROB2R and ROB28R have valid values for three categories only with the frequency for last category zero, and believe that this can always be the case for categorical variables. My question is what steps I need to take to solve this problem? Is there a way to have the analysis run? Thank you! 


You need to use maximum likelihood and the * setting of the CATEGORICAL option. See the user's guide for further information. 


hi i want to use bayes method to estimate parameters in multigroup SEM with categorical data my question: can i use inverse normal dist. with identification problem in bayes method? thanks alot 


Mplus does not use an inverse normal distribution. 


Hi, I am doing 2 Group CFA`s with categorical indicators (WLSMV) to test measurement invariance. The following error message appears when using it for a second order model measuring test anxiety: THE CHISQUARE COMPUTATION COULD NOT BE COMPLETED BECAUSE OF A SINGULAR MATRIX. Unfortunately, I cannot figure out my mistake. This is part of the Syntax for the configural model: model: Emo by TAIG10 TAIG12 TAIG13; Worry by TAIG2 TAIG4 TAIG5 TAIG11; MAZ by TAIG3 TAIG8 TAIG15; Int by TAIG1 TAIG6; TAIG by Emo Worry MAZ Int; [Emo@0 Worry@0 MAZ@0 Int@0 TAIG@0]; {TAIG1TAIG15@1} model Val: Emo by TAIG12 TAIG13; Worry by TAIG4 TAIG5 TAIG11; MAZ by TAIG8 TAIG15; Int by TAIG6; TAIG by Worry MAZ Int; [TAIG1$1TAIG15$1]; [TAIG1$2TAIG15$2]; [TAIG1$3TAIG15$3]; savedata: difftest = diff_TAIG.dat; And for the more restriced model: analysis: difftest = diff_TAIG.dat; model: Emo by TAIG10 TAIG12 TAIG13; Worry by TAIG2 TAIG4 TAIG5 TAIG11; MAZ by TAIG3 TAIG8 TAIG15; Int by TAIG1 TAIG6; TAIG by Emo Worry MAZ Int; Thanks for your help in advance! 


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


Linda, I am attempting to conduct a simple multigroup model with a 2nd order factor and a nominal outcome variable. I am trying to use the knownclass=c(engage_seg3) and class=c(2) commands within a TYPE=Mixture model. It does not seem to work. Can you suggest what I am doing wrong? Here are my core commands: MISSING = .; WEIGHT IS weight; NOMINAL is advocate; CLASSES = c(2); KNOWNCLASS = c(engage_seg3); ANALYSIS: TYPE = MIXTURE; ALGORITHM = INTEGRATION; START = 10; PROCESSORS=8; Tom 


There are only 2 groups in engage_seg3. Tom 


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


I have an MPlus question re: tests of measurement invariance using multiple group models with categorical outcomes. (Please note that I am new to tests of measurement invariance, and I am new to MPlusa challenging combination.) In Mplus, is the default for the multiple group models a test for scalar (i.e., as opposed to metric or strict) invariance? It appears that way, but I am seeking confirmation. I went into the analyses thinking that the analyses(MPlus default) would begin with a test of the least stringent form of measurement invariance (i.e., metric, or weak invariance) and then scaffold with more stringent tests (i.e., scalar, then strict). Or, I thought the MPlus default would be to start with the most stringent form of measurement invariance (i.e., strict invariance), and that I would then relax the models to test for least stringent forms of measurement invariance (i.e., scalar, then metric). It appears that it's neitheri.e., that the default is a test of scalar invariance? Many thanks in advance for your patience and your reply. 


Chapter 14 of the user's guide has a section on multiple group modeling. The default is to hold the factor loadings and intercepts/thresholds equal across groups. See also the Version 7.1 Language Addendum on the website with the user's guide. Starting on page 4, new convenience features for testing for measurement invariance are described. 


Dr. Muthen, Here is a truncated postmany thanks: Are you able to please QC my syntax for my tests of measurement invariance using multiple group models with categorical outcomes for the latent construct bullying? I am receiving conflicting guidance from the statisticians I work with. Also, do I need to include "model male:" statements in the tests of scalar and strict invariance (as I have done for the test of metric invariance)? Here is my syntax: TEST FOR METRIC INVARIANCE grouping is gender (1=female 2=male); model: Bully by B1B10; [Bully@0]; {b1b10@1}; model male: [B1$1B10$1]; ANALYSIS: PARAMETERIZATION=THETA; TEST FOR SCALAR INVARIANCE grouping is gender (1=female 2=male); model: Bully by B1B10; ANALYSIS: PARAMETERIZATION=THETA; TEST FOR STRICT INVARIANCE grouping is gender (1=female 2=male); model: Bully by B1B10; B1B10 (1); ANALYSIS: PARAMETERIZATION=THETA; 


See pages 78 of the Version 7.1 Language Addendum on the website with the user's guide. For binary items, only configural and scalar models can be compared. 

ttwang posted on Saturday, April 26, 2014  11:13 am



Hi Dr. Muthen,I have several questions about running multigroup CFA with binary data that I do not quite understand. First, for the configural model, I thought we are freely estimating all parameters in all models, so that would mean we should free estimate parameters such as factor loading, thresholds, factor mean, and scale factors. I found that the factor variances among groups are different, which mean we do not assume the factor variance are different across groups, but I do not understand why factor mean should be fixed at 0 because I would expect factor means vary across groups as well. Second, even though it makes sense to me that we need to fix scale factors at 1 for the models to be identified, but I do not get why we allow the scalar factors to be freely estimated in other groups in the scalar model. So to compare models, I do not think they are nested model if the scalar factors are fixed in the configural model but free in the scalar model. Third, why cannot we test metric invariance? As the discrimination(i.e., factor loadings in Mplus)are far more important than the difficulty parameter(i.e., thresholds), I would be more interested in testing metric invariance and then testing scalar invariance. Last, to test partial invariance, what is the rationale of selecting items for testing partial invariance. I used modification indices and it turns out to be that different groups have different items? Thanks a lot. Tao 


Please go to the Version 7.1 Language Addendum on the website with the user's guide. The models for testing measurement invariance for various types of variables are discussed there in detail. 

ttwang posted on Saturday, April 26, 2014  5:04 pm



Thanks, Linda. I did. I just could not understand why factor means are fixed at 0 across all groups. By doing so, it basically assumes the group means are equal across all groups which might not be the case in reality, in addition for configural model, I thought we assume the models are different across groups. Also, I could not figure out why scale factors are handled like that? Any way, if that's how Mplus works, I did so. Can you give me some suggestions about testing partial invariance? I have different items in each group suggesting being freed according to the modification indices. With modification indices, how should I choose items to free and test for noninvariance? Thank you very much. Tao 


When intercepts or thresholds are free across groups, factor means must be zero in all groups for the model to be identified. Once you have established measurement invariance of the intercepts or thresholds, you can constrain them to be equal and then allow the factor means to be zero in one group and free in the others. You would not want to compare factor means if you don't have measurement invariance. The scale factor restrictions are for the same reasons. This is not specific to Mplus. You might want to see the Topic 1 and Topic 2 course handouts and videos on the website. Measurement invariance is discussed under multiple group analysis. 

Nara Jang posted on Wednesday, June 04, 2014  10:50 pm



I conducted both multiple group analysis and one group analysis in path model. As a result, the chisquare value of both multi and one group shows zero (0). Would you tell me if it is correct that there is no difference between two groups? The moderator is categorical. Thank you very much! 


If all parameters of your path model are different across the two groups in your twogroup run the chisquare would be zero, but this is not an indication that there is no difference between the groups. You would have to hold parameters equal across groups to get a proper test. 

Tracy Witte posted on Wednesday, June 25, 2014  10:24 am



I am running a multinomial logistic regression with a categorical predictor variable. Although there are some empty cells when I look at the cross tabs of the predictor and criterion variables, the model seems to run just fine in Mplus with no error message, and the standard errors do not look large or unusual in any other way. When I run the model in SPSS, however, I get an error message about the empty cell problem. Does this mean that Mplus has somehow corrected for the empty cell problem, or are my Mplus results not trustworthy? 


Mplus does not correct the empty cells. If there is no warning or error message, the Mplus results should be trustworthy. I assume that you treat the categorical predictor variable as dummies (so as continuous variables in Mplus). 

EunJee Lee posted on Monday, August 25, 2014  11:54 pm



hello. now that i cant find the section related with the multiple regression, write on here. in terms of standard multiple regression I'd like to ask you about outcome table. to be concrete, in order to check the model fit, fvalue can be obtained in the case of SPSS but mplus doesn't show the fvalue, which one do i have to read instead of the fvalue? and on the standard multiple regression, we haven't gotten the RMSEA in MPLUS I don't know why this happens. Please send me an answer by return of post 


This is answered elsewhere. 

Jiebing Wang posted on Wednesday, September 17, 2014  7:06 am



Hi Dr. Muthen, I did a measurement invariance test for my binary data. With a lack of full scalar invarince, I further detected the noninvariant items. For binary data, the factor loading and threshold are constrained at one step. How do I know which part of the item (factor loading or threshold) contributed more in the noninvariance? Many thanks! 


With binary data and the WLSMV approach of allowing differences in residual variances you cannot tell if it is the loading or the threshold. 

Margarita posted on Friday, September 19, 2014  4:21 am



Dear Dr. Muthen, I am trying to test scale measurement invariance and this being my first time doing it, I would like to kindly ask if you can have a look at my input syntax, as I would like to make sure it is correct. Also I was wondering, does it make any difference if the ' [factorMean@0]; ' is under the overall MODEL command or the groupspecific one? . . Categorical = q5 q6 q7 q9 q10 q12 q13 q17 Q18 q22 q23 q24 q25 Gender; MISSING = ALL (99); Grouping = Gender (1=male 2=female); ANALYSIS: Estimator: WLSMV; MODEL: dom1 by q5 q6 q7; dom2 by q10 q17 q18; dom3 by q9 q12 q13 q22 q23 q24 q25; [dom1dom3@0]; q18 with q17; q25 with q24; q7 with q5; q23 with q24; MODEL female: dom1 by q6 q7; dom2 by q17 q18; dom3 by q12 q13 q22 q23 q24 q25; [q5$1q25$1]; !5Likert scale [q5$2q25$2]; [q5$3q25$3]; [q5$4q25$4]; {q5q25@1}; 


See the Topic 2 course handout under multiple group analysis for the inputs to test for measurement invariance. You can compare your input to those. When you set a factor mean to zero in the general MODEL command, it sets the factor means to zero in all groups. When you set a factor mean to zero in a groupspecific MODEL command, it sets the factors mean to zero in that group. See the section on multiple group analysis in Chapter 14 of the user's guide. 

Margarita posted on Friday, September 19, 2014  11:27 am



Dear Dr. Muthen, thank you for your reply. I realised my mistakes. So, the least restrictive model it should be: dom1 by q5 q6 q7; dom2 by q10 q17 q18; dom3 by q9 q12 q13 q22 q23 q24 q25; q18 with q17; q25 with q24; q7 with q5; q23 with q24; [dom1dom3@0]; {q5q25@1}; MODEL male: dom1 by q6 q7; dom2 by q17 q18; dom3 by q12 q13 q22 q23 q24 q25; [q5$1q25$1]; [q5$2q25$2]; etc.. I have 3 questions, if you have the time: 1. Should I add the Covariances (e.g. q18 with q17) only in the end and not at this stage? 2. When fixing the scale factors in groupspecific MODEL, does it need to be in the 1st groupMale (Male =1, Female =2), or is it indifferent? Because I have seen both. 3. Why is the least restrictive model in Course 2 handout labelled as "noninvariance"? Is it because the measurement parameters are free and so measurement invariance is no longer reflected? Thank you for your help. 

Back to top 