text:
Mplus Home
Last Day
Last 3 Days
Last Week
Tree View
Edit Profile
MGROUP Modelling & Mean-Structures
Mplus Discussion
Confirmatory Factor Analysis
Paul Dudgeon
posted on Monday, July 17, 2000 - 6:25 pm
I've been fitting multiple-group models to four wave data and come across a couple of problems.
(a) If I declare ANALYSIS = MGROUP and use ML estimation, then I get a covariance structure-only model fitted; if however I use MLM or MLMV estimation, then I get a mean-and-covariance structure fitted even though the ANALYSIS subcommand is not changed to MEANSTRUCTURE.
Is this intentional, or a bug?
(b) In fitting a unidimensional second-order mean-structure multi-group model (with five 1st-order factors each containing at least 4 observed measures), I find that the latent mean for the 2nd-order factor (ALPHA parameter) is not identified in one of the waves subsequent to the zero-contrained 1st wave.
Before investigating this further with simulated data to see if it is a function of the particular dataset I'm working with, has anyone had similar problems or know that the mean structure of a second-order factor model is not identified in a multiple-group context?
Thanks for any assistance that can be provided.
Yours sincerely,
Paul Dudgeon
P.S. In LISCOMP, I seem to remember that it was possible to specify 132 column output (rather than 80) and to get more precision in the number of decimal values displayed. I can't find any reference in the MPlus User Guide to these features (but could be blind!). Are they available? Thanks.
posted on Tuesday, July 18, 2000 - 7:24 am
Regarding (a), this is intentional. The MLM and MLMV estimators use the means. However, having unstructured means in the model does not have any impact on the results.
Regarding (b), there are covariances among first-order factor residuals that are free by default that need to be fixed to zero. Also, check that your first-order factors have their intercepts in the regressions on the second-order factor constrained in the way you intend. The LISCOMP features you mention are not currently implemented in Mplus.
posted on Saturday, December 09, 2000 - 11:04 pm
I've developed a CFA measure I want to use as a predictor of a continuous variable in a multigroup model. I've noticed that when I get my output from Mplus, it tells me that the R-squared values are undefined for the CFA portion of the model, although the R-square for the continuous outcome is very good. Is this an indication that my model is empirically unidentified ?
Linda K. Muthen
posted on Sunday, December 10, 2000 - 4:07 pm
If the r-square values are undefined, there must be negative residual variances for the indicators.
posted on Wednesday, April 03, 2002 - 9:35 am
I am constructing a multigroup model in Mplus where I'm interested in determining the direct and indirect effects of a set of covariates on a paritular outcome as mediated by a latent variable. The Mplus multigroup option is useful in this context as it allows me to restrict my latent variable measure and outcome parameters (taus) to be equal across groups.
When I complete my initial model I find that several of the paths for Group A (males) are very small and not significant, while several of the paths for Group B (females) are. My sense is that I should drop the statistically insignficant paths before estimating a final model.
My concern is that by doing this I will no longer be able to compare (unstandardized) effects across models since the male and female models (Group A and Group B models) will be different. However, if I keep the nonsignificant paths in the model, I risk misspecifying the model.
Am I interpreting the Mplus multigroup model structure correctly, and is retaining the insignificant paths in the model likely to be a problem ?
Linda K. Muthen
posted on Wednesday, April 03, 2002 - 3:43 pm
Taking out the non-significant paths should not be a problem. Leaving in the significant ones is actually accounting for measurement invariance and makes the comparison across groups OK. Without these direct effects included, measurement invariance would not be accounted for.
posted on Wednesday, April 03, 2002 - 4:57 pm
Linda, regarding your response on April 03, I'm not sure I understand your response:
In my situation, I have not included any direct effects between the covariates and the indicator variables on the latent variable models.
My sense is that by restricting the loadings for the latent variable to be equal across group, I am restricting this measure to be the same across both groups. My outcome measure is categorical, and I am restricting the probit thresholds to be equal across groups.
My concern is that if my model for Group B (females) contains the variables (for example) age, weight, and height, but I drop the variables age and weight for Group A (males), I will not be unable to determine if the effect of age on outcome variable and on the intermediating latent variable differ across Group A and Group B since my models differ across subgroups.
Is this the case in Mplus ?
Linda K. Muthen
posted on Wednesday, April 03, 2002 - 5:45 pm
I'm afraid I would have to know much more about what you are doing to be able to give an informed answer. I don't believe that the issues you are asking about are related to Mplus in particular but are basic statistical and modeling issues.
I thought you had direct effects. You mentioned both direct and indirect in your first message. I see now that you do not. I assume that you are regressing the factors (for which you are holding factor loadings and thresholds equal -- the Mplus default) on a set of covariates and seeing that the signficance differs across the groups. It would not be unusual for this to occur. These are not measurement parameters so have nothing to do with invariance. It doesn't seem to me that setting non-significant paths to zero would be incorrect. Why don't you do it both ways and see if it changes important parameters? My feeling is that it wouldn't. If so, this may be a question for those on SEMNET who have more analysis experience than myself.
posted on Friday, September 27, 2002 - 11:15 am
I have a question about a MG CFA I am working on.
In M+, it's possible to set various parameters of an overall model to be different or equal to one another within and across groups.
But what would you do if you have a hypothesis that involves structural differences across groups? That is, entirely different sorts of latent variables in one group as opposed to another?
Would you have to put all of the latent variables that might be present in any group in the overall model, and constrain loadings to be zero as appropriate?
For example, let's say you have 10 observed variables, v1-12.
Let's say that in group A you assume the factor structure is thus:
f1 by v1-v6;
f2 by v7-v12;
However, in group B, you assume the factor structure is thus:
f1 by v1-v3;
f2 by v4-v6;
f3 by v7-v12;
To be even more realistic, assume that in group C the factor structure is like this:
f1 by v1 v2 v4;
f2 by v3 v5 v6;
f3 by v7-v12;
To specify this, would you have to do something like this:
a1 by v1-v6;
a2 by v7-v12;
a3 by v1-v3;
a4 by v4-v6;
a5 by v1 v2 v4;
a6 by v3 v5 v6;
MODEL groupa:
a3 by
a4 by
a5 by
a6 by
It seems a bit cumbersome and I was wondering if there were a better way to do it.
Also, is there a way to print the contribution of each group to the likelihood?
Linda K. Muthen
posted on Saturday, September 28, 2002 - 8:39 am
If there are no factors that are the same in all groups, then you should probably analyze the groups separately because there would be no parameters in common across the groups.
If there are some factors that are the same in all groups but some that are not, all factors need to be defined in the overall MODEL command and factor loadings not needed for certain groups can be zeroed out using group-specific MODEL commands as you describe.
There is no way to print the contribution of each group to the likelihood.
Michael Conley
posted on Thursday, March 06, 2003 - 6:40 pm
I want to do a two group single factor CFA structured means model, say, groups A and B. I want the thresholds and loadings for some of the indicators in both Group B and Group A to be constrained to be the same values as would be computed for Group A run by itself. I think the only way to do this is to run group A by itself and determine the parameter estimates for those indicators, then run the two group analysis fixing those parameters to the predetermined values. Is there a more direct way?
Linda K. Muthen
posted on Friday, March 07, 2003 - 6:38 am
I can't think of one. The only way to get the parameter estimates for Group A is to estimate the model. So it seems both steps are necessary.
Chris Richardson
posted on Monday, February 02, 2004 - 11:31 pm
Hi Linda,
I've been working on a multi-group longitudinal CFA for the past few weeks (received some help from you a few weeks ago) - the measure is composed of 3 first order factors and 1 second order factor. I have data at time 1 and time 2 for three different groups. I am trying to compare the stability (ie correlation between latent t1 and latent t2) across the groups as well as comment on the measurement invariance of the instrument across time and groups. I am therefore running a series of nested models. In my most constrained model I have constrained to be equal across time and groups the intercepts, loadings, variances of second order factors and t1-t2 correlation between second order factors. This model fits ok given all the constraints (CFI.91, RMSEA .043, srmr .059) - I have then run a series of nested models by freeing var, loadings etc - these all seem to work ok.
1)My first question to you involves the intercepts - in my most constrained model (see below) I was able to estimate and constrain to be equal (across time and group) intercepts for all my indicators, however to get my model to converge I had to fix all the intercepts for first order factors (both across time and groups) to zero - Does this seem appropriate to you?
2)My second question relates to my least constrained model and involves freeing both the observed variable intercepts and first order factor intercepts across time and groups - when I try to do this my model doesn't converge even with starting values from the previous values - am my missing something obvious here - I did free the intercepts in each group specific model statement.
Also, should you see anything that looks terribly wrong with my model I would appreciate the heads up as it is one of the papers for my thesis - the loadings and fits seem to make sense so far. Thanks for your time - cheers
Title: Fully Constrained Multigroup Longitudinal CFA
!Fixed small positive error variance for f3
!Correlated errors across time for same items on same subjects
!Loadings, intercepts, variances and T1 T2 cor for SOC equal over time and group
!across time and groups
!Variances of f4 and f8 and covariance between them constrained equal
DATA: FILE IS m3groups.dat;
VARIABLE: NAMES ARE ya1-ya13 tota yb1-yb13 totb age group wt;
USEVARIABLES ARE ya1-ya13 yb1-yb13 group;
GROUPING IS group (1=19to25 2=30to55 3=60plus);
!CFA of SOC at time 1
f1 BY ya1* (1)
ya11* (2)
ya13* (3);
f2 BY ya2* (4)
ya5* (5)
ya6* (6)
ya12* (7);
f3 BY ya3* (8)
ya4* (9)
ya8* (10)
f4 BY f1* (11)
f2* (12)
!Next 3 lines set means/intercepts of f1,f2&f3 to be equal at time 2
[f1 f5](60);
[f2 f6](61);
[f3 f7](62);
!Next line fixes SOC at time 1 (f4) to zero as a reference
!Next line correlates errors between ya2 and ya3
ya2 WITH ya3;
!Next line fixes error variance of f3 to .01
!CFA of SOC at time 2
!The number in brackets force the loading to be equal across time
f5 BY yb1* (1)
yb11 (2)
yb13 (3);
f6 BY yb2* (4)
yb5 (5)
yb6 (6)
yb12 (7);
f7 BY yb3* (8)
yb4 (9)
yb8 (10)
f8 BY f5* (11)
f6* (12)
!NOTE: Loadings and intercepts are automatically constrained to be equal
! across groups when using mean structures-()'s used to constrained
! across time
!Next line correlates errors between yb2 and yb3
yb2 WITH yb3;
!Next line fixes error variance of f7 to .01
!Next line constrains variances of soc at time 1(f4) and 2(f8) to be equal
f8 f4 (16);
!Next line correlates f8 with f4
!By adding (17) we force correlations to be equal across groups
f8 WITH f4 (17);
!Following 13 lines allow error variances for each item to correlate
!across time
ya1 WITH yb1;
ya2 WITH yb2;
ya3 WITH yb3;
ya4 WITH yb4;
ya5 WITH yb5;
ya6 WITH yb6;
ya7 WITH yb7;
ya8 WITH yb8;
ya9 WITH yb9;
ya10 WITH yb10;
ya11 WITH yb11;
ya12 WITH yb12;
ya13 WITH yb13;
!Following 13 lines constrain item intercepts to be equal across
!time and group
[ya1 yb1] (18);
[ya2 yb2] (19);
[ya3 yb3] (20);
[ya4 yb4] (21);
[ya5 yb5] (22);
[ya6 yb6] (23);
[ya7 yb7] (24);
[ya8 yb8] (25);
[ya9 yb9] (26);
[ya10 yb10] (27);
[ya11 yb11] (28);
[ya12 yb12] (29);
[ya13 yb13] (30);
!Following 13 lines constrain item error variances to be equal across
!time and group
!ya1 yb1 (40);
!ya2 yb2 (41);
!ya3 yb3 (42);
!ya4 yb4 (43);
!ya5 yb5 (44);
!ya6 yb6 (45);
!ya7 yb7 (46);
!ya8 yb8 (47);
!ya9 yb9 (48);
!ya10 yb10 (49);
!ya11 yb11 (50);
!ya12 yb12 (51);
!ya13 yb13 (52);
MODEL 19to25:
!Next line free's mean of soc at time 2 in 19 to 25 group
!Next line free's estimate of variance for f4&f8 in 19to25
!f4 f8 (97)*;
MODEL 30to55: !f4 f8 (98)*;
MODEL 60plus: !f4 f8 (99)*;
posted on Tuesday, February 03, 2004 - 9:36 am
A quick look suggests yes on 1) and for 2) you want to not have any other mean/intercept-related parameters free when you free the intercepts for the outcomes.
Chris Richardson
posted on Thursday, February 05, 2004 - 10:02 pm
Thanks for your reply Bengt,
Could you please explain/paraphrase part2) - I'm not sure what you mean by "mean/intercept-related parameters" - .
Also, when you say "free the intercepts for the outcomes" - do you mean freeing intercepts for observed indicators only and fixing intercepts of level 1 latents and level 2 means to zero OR do you mean fixing all the intercepts in the observed indicators to zero and then freeing the intercepts in level 1 latents?
Thanks for your time - it is appreciated.
Linda K. Muthen
posted on Friday, February 06, 2004 - 7:32 am
When the intercepts of the observed factor indicators are free, no factor means or intercepts can be free. They must all be fixed to zero. The reason for this is that when the intercepts of the factor indicators are free, all sample mean information has been used. There are the same number of factor indicator intercepts as there are sample means, so no other mean parameters can be identified.
posted on Thursday, September 23, 2004 - 11:51 am
I have heard that the new version of MPlus allows for chi-square difference tests in multiple group analysis, when the default WLSMV estimator is used. Is this true?
posted on Friday, September 24, 2004 - 2:08 pm
In LISREL there is an option that allows you to set the first two thresholds of categorical indicators for a CFA to 0 & 1. If the response options are equivalent across indicators, this option allows estimation of the mean and variance of the item's underlying normal distribution instead of relying on the default setting of mean = 0 and SD = 1. Is there a way to do this in M-Plus?
posted on Tuesday, September 28, 2004 - 7:36 am
I am working on a MG CFA and am attempting just the first part, where I am looking at one of the groups. I am using the USEOBS command:
USEOBS ARE (race = 1);
but I keep getting an error message that all of the observations have been excluded. In the data file, the two groups have values of 1 and 0. Do I need to set new values for my variable? Are the 1 and 0 not being read properly?
Linda K. Muthen
posted on Wednesday, September 29, 2004 - 3:33 pm
Re: September 23 -- Yes, the DIFFTEST option allows chi-square difference testing for WLSMV.
Linda K. Muthen
posted on Wednesday, September 29, 2004 - 3:37 pm
Re: September 24 -- The way to do this is to put a factor behind the item where the mean and variance of this factor is what you want.
Linda K. Muthen
posted on Wednesday, September 29, 2004 - 3:38 pm
Re: September 28 -- It sounds like your data are being read incorrectly or that after listwise deletion, you don't have any observations. You should send your output and data to
for a complete answer.
posted on Tuesday, March 22, 2005 - 6:52 pm
I am interested in doing a MACS analysis. I have seen a number of different approaches and would like some guidance on which is preferred and under what circumstances:
One approach is the following:
1. do single-group CFAs for each group
2. do a simultaneous CFA, freeing everything, the results of which should have the same chi-square as the sum of the chi-squares for the separate groups, but should also provide a common metric solution
3. then constrain factor loadings across groups and check for a significant decrement in model fit
4. if there is no significant decrement in fit, then constrain intercepts
5. if there is no significant decrement in fit, then one can estimate and interpret latent mean differences
Some approaches include additional steps, usually embedded within the ones listed above, in which constraints are placed on factor variances, factor covariances, and errors. I can understand when there are differences across studies depending on whether the purpose is to look specifically at different types of invariance, but it seems that there are discrepancies even when the same type of invariance is being evaluated. For example, sometimes errors are constrained, sometimes not. Sometimes factor variances and/or covariances are constrained, sometimes not. It almost seems at times like certain steps are "conveniently" omitted, possibly because their results are not as clean as authors would like. Can you provide any guidance or important references?
Also, I have seen discrepancy between methods for comparing nested models within this step-by-step process. Most often I see the change in chi-square evaluated against a chi-square with df equal to the change in dfs for the two models being compared. When there are large samples, this always seems to be significant, but maybe not particularly meaningful. On the other hand, I have seen people use the ratio of the change in chi-square to the change in dfs for the two models being compared. Using this approach, I have seen cutoff guidelines between 2 and 4, with significant degradation of fit indicated by valuyes that exceed the specified cutoff. This latter approach seems to be preferable to the former approach when samples are relatively large, though I almost never see it used. What is troubling is that it does not seem that uncommon for these two approaches to result in different conclusions about model fit. Any thoughts?
Thank you for your time.
posted on Wednesday, March 23, 2005 - 7:43 am
It is true that different testing sequences can give different end results. We don't know the best model when we start and if the starting point is too far from the best solution, then we might go astray. There is little that can be done about this - other than replicating results in new samples. I like the sequence of testing you list. Note that you are able to test factor (co)variance differences across groups after step 3 if you want, but you can also wait until step 5. I typically don't bother to test error variance invariance across groups, but in some applications it might be important to know about that measurement aspect (reliability issues). Meredith has some serious thinking on these invariance topics in his series of Psychometrika articles. I would not advocate the chi-square/df approach (other than as a rough descriptive device), but go with the chi-square difference testing even if it is owerpowering at times. You can see how much power you have by looking at how different across groups the resulting estimates are when relaxing invariance - if a loading turns out to be 0.73 when invariance is relaxed instead of 0.70 then you might feel you had too much power to reject invariance for the loading. So combining chi-square difference testing with such a "sensitivity analysis" seems useful to me. SEMNET readers probably have more opinions on these topics.
Boliang Guo
posted on Friday, August 19, 2005 - 9:04 am
problem on Longitudinal cfa invaraince:
background: 4 factors, each measuerd by 3 items accross 3 times.
analysis Vandenberg (2000) to test the measure invariance across measurement waves.
test procedure is :
configural, factor variance and covariance uniqueness, scalar invaraince, the later model based on the former model, when I test the last step, factor mean invariance, based on all of above model together, I find if I model each factor's mean in each times, say, t1 t2 t3, the model can not be identified, if I set up time 3 factors' means as dsfault vaule 0, then, the model converged, I also test to set up time1, ime2 factor means to 0, and constrant others equal, the model is ok. so, I back to test one time data to test whether I can get a factor mean by free the factors means in the model, the models can not be identified. is this the right resluts?
if yes, could I say the factor mean invariance since two factors' means in two times are constraint to be equal but the factors' means in third times is default value 0. the factors means in the two times are larger than 2* se
Linda K. Muthen
posted on Friday, August 19, 2005 - 4:40 pm
In your model, one factor mean must be fixed to zero for model identification. If you want the factor means to be held equal, then they should all be fixed to zero.
posted on Monday, August 29, 2005 - 7:08 am
I am trying to use MPLUS to estimate latent mean differences. I have 2 groups, 10 variables, factor 1 is defined by all 10 variable, factor 2 by 5 of the variables.
The initial models ran fine by group and had good fit. However, when I estimate the group together to check for the same form across groups one sample will not produce standard errors --just **'s are computed. Other analyses (equal loadings, equal thresholds) do estimate the standard errors. Is there something wrong here or are the errors just very small?
On another note, If the item intercepts are invariant, can I interpret the means on the Latent variables as latent mean differences or do I need to constrain the latent mean values to be equal?
Thank you
posted on Monday, August 29, 2005 - 7:47 am
**** indicates very large values, which for SEs signals that the model is not identified. For example, if you have group-varying intercepts and also have free factor means, your model is not identified.
You want the intercepts and loadings to be invariant before you interpret the latent variable mean differences.
posted on Monday, August 29, 2005 - 8:09 am
an additional question
I want to estimate a meanstructure and have the loadings invariant across groups, but allow the item intercetps to be free across groups.
When I do this (program below), I do not get any results because of an identification problem. Do I need to fix intercepts to identify the latent mean? If so, are these fixed to 0 or 1?
title: cfa try with math concept data
this is equal pattern
loadings are invariant, intercepts free
data: file is mgen.dat;
variable: names are g a1-a10;
grouping is g (1=M 0=f);
analysis: type=meanstructure;
model: abil by a1-a10;
concp by a2 a4 a6 a7 a9;
abil with concp @0;
model m: abil by a1-a10;
concp by a2 a4 a6 a7 a9;
abil with concp @0;
posted on Monday, August 29, 2005 - 8:34 am
Thank you for this response:
**** indicates very large values, which for SEs signals that the model is not identified. For example, if you have group-varying intercepts and also have free factor means, your model is not identified.
You want the intercepts and loadings to be invariant before you interpret the latent variable mean differences.
I guess I'm puzzled -- the model fits well in each group; means & cov matricies are very similar. However, when I try to estimate the structures together and allow parameters to be free, I have identification problems. When I constrain parameters to be invariant - the fit is good.
Why may this be? Does it make sense that the results would be better constrained than free? Is it appropriate to interpret latent means?
posted on Monday, August 29, 2005 - 9:08 am
The Mplus input you give here has the problem I mentioned - you have the intercepts group-varying while at the same time trying to estimate the factor means (note that they are free in the second group by default in Mplus) - this is a non-identified model. When you have group-varying interceps you need to have the statement
To see which parameters are free, see the regular output and also Tech1.
When you constrain the model by having group-invariant intercepts, the default of free factor means in group 2 gives an identified model.
posted on Tuesday, August 30, 2005 - 9:08 am
Thank you for your advice. I have another question,
why would the model below, which fits well in each group when run seperatetly show estimation problems (as identified by the *** in the standard errors) when both groups are run together, but without any constraints?
title: cfa try with rse data
to check form invariance of 2 factors
data: file is mgen.dat;
variable: names are g a1-a10;
grouping is g (1=M 0=f);
model: abil by a1-a10;
concp by a2 a4 a6 a7 a9;
abil with concp @0;
model m: abil by a1-a10;
concp by a2 a4 a6 a7 a9;
abil with concp @0;
output: tech1;
On another note, when estimating an invariance routine for latent means, and I want to allow the intercepts to be free in each group, is the only constraints that the factor means are set to zero in both groups? Would this cause a problem in the PHI matrix?
posted on Tuesday, August 30, 2005 - 10:19 am
Please send input, data, outputs, and license number along with these questions to
posted on Wednesday, September 21, 2005 - 11:11 am
Dear Drs. Muthen,
I am interested in doing multigroup modelling (2 groups) as part of my CFA. I am getting an error message when I run the analysis.
Here is the output:
Mplus VERSION 3.12
title: cfa sample1gp1A_factors gender grouping analysis
data: file is l:\samruddhi\sampleone\analysis\sampleone\sample1gp1a9item.dat;
nobservations are 2561;
variable: names are STRATUM AREAEXCH USR CREGION Q4 Q5 Q6 Q9 Q10
usevariables are q20-q26 q22 q32a q32b;
missing are .;
categorical are q20-q26 q22 q32a q32b;
GROUPING IS gender (1=male 2=female);
cluster is areaexch;
weight is weight;
stratification is stratum;
ANALYSIS: TYPE = MGROUP MEANSTRUCTURE complex;
model: Overall by q20-q26 q22 q32a q32b;
output: stand;
Stratification ID cannot appear in more than one group.
Problem with Stratification ID: 5
when I remove the stratification command from the variable command; I get similar error message for the cluster ID.
Could you, please, share some insight into how best I could proceed with this analysis?
many thanks,
Linda K. Muthen
posted on Monday, September 26, 2005 - 4:30 pm
Groups must contain independent observations. Therefore individauls from the same cluster must be in only one group because they are not independent observations.
Mplus requires the stratification id's to be different for each group. You can use DEFINE to recode the stratification variable such that the same number does not appear in both groups.
Stephen Bowden
posted on Thursday, October 27, 2005 - 12:10 am
I have been asked by a journal reviewer to include a differential fit value (DFV) to help interpret differences between nested mean structure models in large samples (total n = 2700). The only citation I can find is Muthen, B, 1989. Is this still a recommended approach?
Linda K. Muthen
posted on Thursday, October 27, 2005 - 4:57 pm
This is probably outmoded and it would be better to use RMSEA which is very similar.
posted on Wednesday, November 30, 2005 - 12:38 pm
I don't know how simple this question may seem, but in multiple group analysis when you specify a different model for a specific group, does that mean that you are saying that those model statements are not invariant across the groups. Example below
Model: f1 by a b c;
Model (females): f1 by b c;
posted on Wednesday, November 30, 2005 - 1:03 pm
That's right. The parameters that the Model females statements refer to are specific to the female group.
posted on Wednesday, November 30, 2005 - 5:05 pm
in multiple group analysis using longitudinal data when you don't have a grouping variable such as gender. How to you constrain factor loadings across the two time points. For example this is portions of my program. Thanks in advance
MODEL: time1 BY enjoy2a - enjoy16a;
time2 by enjoy2d - enjoy16d;
Linda K. Muthen
posted on Wednesday, November 30, 2005 - 6:14 pm
MODEL: time1 BY enjoy2a
enjoy3a (1)
enjoy4a (2);
time2 BY enjoy2d
enjoy3d (1)
enjoy4d (2);
posted on Tuesday, January 31, 2006 - 3:29 pm
I am attempting to replicate a set of analyses as described in Millsap (1998), originally performed in lisrel, regarding group differences in intercepts and their implications for factorial invariance.
I have fit two multiple group (male and female) regression models, one in which X predicts Y, and a reverse regression in which Y predicts X. In each of the models, the slope was constrained across groups in order to examine intercept differences across the groups. In each instance, intercept differences were found that are consistent with the observed differences in the means in each of the variables.
In order to evaluate these intercept differences, my next step is to fit an invariant common factor model in which both X and Y load onto the common factor. In this model, the factor loading of one of the variables is set to 1 and the corresponding intercept for that variable (i.e., tau) is set to zero. I have attempted to override the Mplus default of fixing the factor mean of the first group to zero, wanting instead to estimate the factor mean for each group separately. All parameters (with the exception of the factor mean) are constrained to invariance across the two groups. However, I am not getting an estimate of the factor mean in the first group�it appears that I�ve not properly overridden the default setting. My syntax is included below. Could you please advise as to how I should proceed? Thank you �
title: Invariant factor model for AP-ME and PSAT-M, males and females
Common factor mean (kappa) the only parameter allowed to vary across groups
file = psat.txt;
type is correlation means stdeviations;
nobservations = 7288 5136;
ngroups = 2;
names are psat apme;
type = meanstructure mgroup;
iteration = 10000;
f1 by apme@1 psat(1);
apme(3); psat(4);
model g2:
f1 by apme@1 psat(1);
apme(3); psat(4);
sampstat standardized tech1;
Linda K. Muthen
posted on Tuesday, January 31, 2006 - 5:04 pm
You need to free it in the first group to override the default.
model g1:
Raheem Paxton
posted on Saturday, March 18, 2006 - 8:52 pm
I have a question for you. I ran a test of invariance across genders and time points using Mplus and just wanted to make sure that everything is accurate. In model one (configural invariance/pattern) invariance was supported, but when it came to strict invariance it was not supported. Strict invariance is constraining measurement residuals and measurement residual covariances. Because my RMSEA, TLI, and CFI are in range and magnitude, can I still say that the model is invariance across groups.
Linda K. Muthen
posted on Sunday, March 19, 2006 - 9:04 am
If you were not able to say that you have residual invariance using difference testing, then you can't say that you have invariance of these parameters based on other fit statistics. I personally do not think requiring residual invariance is necessary. Different disciplines differ in their opinion on this issue.
paula elosua
posted on Wednesday, November 22, 2006 - 3:52 am
I'm assesing the effects of lack of invariance between groups, and MPLUS is very good for this.
But I'd like to compare those results with statistical standards techniques like anova or t-test. Is it possible to perform those analysis with mplus?
posted on Wednesday, November 22, 2006 - 6:00 am
I'm running multiple-group CFA with mean structure. When ran separately, a model of single latent factor with 6 indicators fitted fine for each group. However, when ran simultaneously across groups, the SE of estimates couldn't be computed. I have the indicator intercepts group-varying but the factor mean for each group fixed to 0 so I'm not sure where the problem lies. Perhaps an error in my syntax (please see below)?
Thank you for your help.
NAME = ID Sex ProAcc3 ProAcc5 ProAcc6 ProAcc1 ProAcc4 ProAcc7 CV2 AgeGp;
USEVARIABLES = ProAcc3 ProAcc5 ProAcc6 ProAcc1 ProAcc4 ProAcc7;
GROUPING = AgeGp (1=Age1 2=Age2 3=Age3) ;
Type = Meanstructure;
f1 by ProAcc3 ProAcc1 ProAcc4 ProAcc7 ProAcc5 ProAcc6;
Model Age1:
f1 by ProAcc3 ProAcc1 ProAcc4 ProAcc7 ProAcc5 ProAcc6;
Model Age2:
f1 by ProAcc3 ProAcc1 ProAcc4 ProAcc7 ProAcc5 ProAcc6;
Model Age3:
f1 by ProAcc3 ProAcc1 ProAcc4 ProAcc7 ProAcc5 ProAcc6;
Linda K. Muthen
posted on Wednesday, November 22, 2006 - 10:06 am
Paula: Mplus is a general program so any model such as a t-test or ANOVA can be specified. I don't think comparing these univariate tests to the multivariate multiple group comparisons is necessary. You can compare one parameter at a time using difference testing if you want.
Linda K. Muthen
posted on Wednesday, November 22, 2006 - 10:09 am
Yshing: You should not mention the first factor loading in the group-specific MODEL commands. This frees the loading and it needs to be fixed to one for model identification. If this does not solve your problem, please send your input, data, output, and license number to
hans beeman
posted on Wednesday, November 29, 2006 - 5:14 am
I have a question concerning the comparison of latent means. I fit a strong measurement invariance model (equal intercepts and loadings across groups). I now want to compare factor means across groups.
The point is: factor means change drastically, depending on which indicator variables per factor I choose. As I want to understand the latent mean differences, this is quite confusing.
Rensvold and Cheung (2001) suggest in this case to fit a sequence of models, constraining a pair of parameters (e.g., intercepts) to invariance. Then, the resulting model fit is compared using chi-square difference to a model where only one parameter of the two is fixed. This procedure has to be repeated for all p(p-1)/2 measures. This is quite cumbersome.
Meredith and Horn (2001) suggest estimating a model of metric invariance (equal loadings across groups) without latent means. Given this model holds, they suggest applying the Bartlett factor score weights to the means of the measured variables in each group. Having done so, the authors suggest to put the calculated means into a model as fixed and estimate the "missing" intercepts. I don't feel very safe about this either, as group means are estimated successively.
My question is: what procedure allows to compare latent means in a multigroup model with constraints in an unequivocal way?
Boliang Guo
posted on Wednesday, November 29, 2006 - 5:45 am
partial ME/I is still an active topic at the moment.
for ME/I tesst, since you have strong factorial invariance, do you hypothesis the factor mean is equal between group? maybe the factor mean is not equal, I think.
Linda K. Muthen
posted on Wednesday, November 29, 2006 - 9:04 am
I think you are saying that factor means differ depending on the factor indicator that you fix to one. The significance test for factor means should be invariant no matter which factor indicator you fix to one. The two models that you should be comparing are the model where factor means are zero in one group and free in the other groups versus the model where factor means are zero in all groups. If the significance test is not invariant, you need to send all inputs, data, outputs, and your license number to
hans beeman
posted on Wednesday, November 29, 2006 - 9:41 am
Thanks Linda! That's what I was trying to say (i.e., factor means depend on the factor indicator you fix to one).
I now fixed all factor means to zero across groups and a dramatic drop in overall model fit can be observed.
I have four groups in my design. Is it possible to conduct a-posteriori tests on the factor means to detect more specifically which groups differ in factor means?
Linda K. Muthen
posted on Wednesday, November 29, 2006 - 9:52 am
You can do a series of difference tests. You can compare all factor loadings or one factor loading. It just depends on the constraints that you place. You might also want to read about our MODEL TEST command in the user's guide.
craig neumann
posted on Wednesday, December 20, 2006 - 12:22 pm
With multi-sample CFA (MCFA), can I interpret differences between the estimated threshold values in the sample statistics section of the output with the threshold parameters provided in the model results section?
I am doing MCFA with males and females and the dichotomous indicators for the factors reflect whether someone does or does not have a disorder. I'm using Mplus 4.0 defaults�equal loadings and thresholds.
I assume that the estimated thresholds are influenced by the proportions of individuals with versus without a disorder, given that there is a greater proportion of females diagnosed with major depression (~22%) and their estimated threshold is lower (0.771), compared to the proportion of males (~13%) with this diagnosis and who have a higher estimated threshold (1.122).
Fit is quite good for the MCFA, and the standardized thresholds for the males (1.117) and the females (1.123) for the depression �item� are quite close. Is it reasonable to suggest that both males and females are given the diagnosis of depression at the same level of the latent trait, despite the fact that there are obvious differences in the proportions of males and females with a diagnosis of depression and that the estimated threshold values differ between groups? Is it possible to provide an additional interpretation of these findings by relating the estimated thresholds with the standardized thresholds?
Bengt O. Muthen
posted on Wednesday, December 20, 2006 - 3:36 pm
Answers to each of the 4 paragraphs:
1. No - see below - the sample threshold is simply a z score, not taking into account factor distribution differences across groups.
2. ok
3-4. The probability of an observed item being 1 as opposed to 0 is a function of its thresholds but also the factor loading multiplied by the factor mean. The default in Mplus is to hold thresholds and loadings equal across groups (males-females) and let the factor mean differences across the groups capture the observed item probability difference across groups. This says that we have measurement invariance so that a given observed item response pattern produces the same factor value for both groups. I would not use standardized thresholds.
Holmes Finch
posted on Thursday, July 05, 2007 - 12:41 pm
I'm interested in using a MACS model to test for invariance of loadings and intercepts between two groups. The trick is that I also have a multi-level model. In goofing around a little, I haven't been able to figure out if this is doable in MPlus. I can do the MACS and I can do multilevel, but the two together hasn't been working. Is this possible? Also, if it's not, could I do a simple multigroup CFA in the multi-level framework? Thanks very much.
Linda K. Muthen
posted on Thursday, July 05, 2007 - 1:07 pm
I'm not sure what you mean by "hasn't been working" and I don't now what a MACS model is. You can do a multiple group multilevel CFA in Mplus. You need to use the KNOWNCLASS option to define the groups when using maximum likelihood estimation.
Holmes Finch
posted on Friday, July 06, 2007 - 5:43 am
Thanks very much. I've gotten the multiple groups multilevel analysis to work with the knownclass option. I appreciate your very quick response.
Holmes Finch
posted on Friday, July 06, 2007 - 5:46 am
Whoops. I had one last question. I am doing an invariance analysis and would like to calculate the chi-square difference test between the constrained and unconstrained models. However, it doesn't appear when I run the following IRT analysis:
classes sex (2);
knownclass = sex (i65=0 i65=1);
missing are .;
analysis: type is twolevel mixture;
Thanks again for your help.
Linda K. Muthen
posted on Friday, July 06, 2007 - 5:49 am
When means, variances, and covariances are not sufficient statistics for model estimation, chi-square and related fit statistics are not available. In this case, nested models can be tested using -2 times the loglikelihood difference.
Holmes Finch
posted on Friday, July 06, 2007 - 5:51 am
Great. Thanks again so much for being so helpful so quickly.
Svenja Vieluf
posted on Tuesday, December 16, 2008 - 5:26 am
I am using a multiple group CFA analyzing 20 groups with different sample sizes. For nonstatistical reasons all of the groups are supposed to have an equal influence on the estimation of those parameters that are restricted to be equal across groups. As it is now, it seems that groups with a larger sample size have a stronger influence on the estimated factor loadings (which are restricted to be equal). I tried to achieve an equal influence of all groups by using weights (desired sample size divided by the real sample size for each group respectively). But as Mplus rescales the weights to the effective sample size, this approach doesn't work. Is there any possibility to switch off the rescaling? Or is there any other possibility to achieve an equal influence for all groups independent of their sample size, except for drawing smaller samples of equal size from the samples?
Thank you and best regards,
Linda K. Muthen
posted on Tuesday, December 16, 2008 - 10:15 am
Weights are rescaled for each group as you found out. The only thing I can think of is to sample from each group such that they are equal.
Marco Mariani
posted on Wednesday, December 31, 2008 - 9:58 am
I have a question about a MG CFA which I am working on. I have to use MLM estimation because I have a bad multivariate normality.
Can I improve a Multiple Group Analysis Without Measurement Invariance?
Thank you, best regards
Linda K. Muthen
posted on Wednesday, December 31, 2008 - 1:44 pm
If you have a poor fitting model with no restrictions across groups, you should probably should find a well-fitting model for each group separately.
courtney bagge
posted on Thursday, July 30, 2009 - 11:10 am
Hello,I am conducting invariance testing of a measurement model (2 groups) that is a second-order factor represented by 5 first-order latent variable factors (each with at least 5 indicators). Using MLM.
First, in this meanstructure analysis, is setting the intercept at zero the same as setting the mean to zero both for an observed first-order factor indicator and a latent variable which is a DV (first-order factor)?
Second, I am having a problem with a specific model. I am trying to constrain first-order and second-order factor loadings across groups, and also the intercepts of measured vars and first-order factors. I have read that the factor means should be zero in one group and free in the others when testing to see if intercepts are invariant. It appears that by default that the intercepts of the first-order factors are zero in the first group and free in the second group. Thus, if I want to constrain these first-order factor intercepts, I believe that I would set them both at zero which I think means that I am setting the first-order factor means at zero. Is this correct? If so, then is it not the case that the first-order factor means are all zero and not free in the second group? Then, I would not be testing invariance of these factors' intercepts. If I am way off, then how do you constrain first-order factor intercepts (in the presence of a second-order factor) and not have them be zero? I appreciate your help.
Linda K. Muthen
posted on Thursday, July 30, 2009 - 11:42 am
Setting the intercepts of the first-order factors to zero is setting the means for the first-order factors to zero for the group where the second-order factor mean is zero.
The intercepts of the first-order factor must be fixed to zero in all groups when the mean of the second-order factor is zero in one group and free in the others. Mplus does not fix the intercepts of the first-order factors to zero as the default.
This does not imply that the first-order factor means are all zero in the second group because they are a function of the second-order mean and that is not zero.
courtney bagge
posted on Thursday, July 30, 2009 - 3:43 pm
Thank you Linda. Could you explain how I would test to see whether the first-order factor intercepts are invariant across two groups within this second-order factor model?
Bengt O. Muthen
posted on Thursday, July 30, 2009 - 4:22 pm
That is not as straightforward as for regular CFA using only 1st-order factors because you cannot identify both 1st-order factor intercepts and observed variable (indicator) intercepts for a given group. Because some of the 1st-order factor intercepts can be allowed to differ across groups under indicator intercept invariance, you can, however, ask for Modification Indices and see if some of the 1st-order factor intercepts fixed at zero have particularly high values in some groups. Whenever an MI for a parameter is non-zero, that parameter is identifiable and can be estimated (can be freed).
posted on Saturday, February 06, 2010 - 4:23 pm
For multi-group modeling, LISREL is able to provide Common Metric Completely Standardized Solution. I am wondering if Mplus does the same. Thanks.
Linda K. Muthen
posted on Sunday, February 07, 2010 - 9:03 am
No, Mplus does not provide that standardization. For multiple group analysis, Mplus standardizes using the model estimated variances for each group.
Christoph Weber
posted on Monday, February 22, 2010 - 2:28 pm
Dear Dr. Muthen,
if I'm testing a two group SEM for equal regression coeff. it is necessary to meet the assumption of weak factorial invariance, isn't it? Then what can I do, when the assumtion is not met? Imposing the constraints on the factor loadings would cause a misspecification, thus the equality constraints on the betas can not be interpreted? Is in this situation a multiple group analysis possible?
best regards
Christoph Weber
Bengt O. Muthen
posted on Monday, February 22, 2010 - 8:24 pm
When you don't have loading invariance you don't have latent variables with the same interpretation, let alone the same metric. So structural parameters cannot be compared. If no parameters are invariant across groups, the multiple-group analysis does not add to separate-group analyses.
Christoph Weber
posted on Tuesday, February 23, 2010 - 2:01 am
Another question: Using longitudinal data, it es necessary that the assumption of strong factorial invariance is met in order to interpret mean changes. Given the case, that the intercepts of the factor indicators are not time-invariant, what does it mean, when I nevertheless use the equality constraints on the tau-parameters?
Of course the fit of the model would be worse, but can I use the variables, for example in an LGA with covariates?
Bengt O. Muthen
posted on Tuesday, February 23, 2010 - 8:11 am
If across-time invariance of intercepts or thresholds is rejected, growth modeling is not appropriate since it requires invariance of these parameters.
Christoph Weber
posted on Tuesday, February 23, 2010 - 12:44 pm
Are there any alternatives?
And I guess it would not be relevant if the fit of the restricted (time invariant) model is good?
Bengt O. Muthen
posted on Tuesday, February 23, 2010 - 4:11 pm
I wouldn't do growth modeling on this, but you don't have to do growth modeling just because you have longitudinal data. You can simply, for example, regress time 3 on time 2 and time 2 on time 1. That does not need measurement invariance - your construct (s) may be different across time, but you can still related them to each other.
Christoph Weber
posted on Wednesday, February 24, 2010 - 12:34 am
thanks for your advice
Christoph Weber
posted on Wednesday, March 03, 2010 - 1:09 am
Dear Dr. Muthen,
I want to come back to my first question regarding weak factorial invariance and the test for equal regression coeff.
Jaccard and Wan (1996, lisrel approaches to ..) write in connection with qualitative moderators, that (1) one should fit a multigroup model for each group, with no across-group constraints.
(2) Then one should impose the equality-constraint on the parameter of interest.
Now my question: This procedure does not assume factors to be invariant across groups (step one uses no constraints), thus the test for equal regress. coeff, that reflects the suggested moderating effect, is not possible, because the factors may have a different metric. Am I wright?
best wishes
Christoph Weber
Linda K. Muthen
posted on Wednesday, March 03, 2010 - 11:00 am
If the regression coefficients involve latent variables, measurement invariance must be established before they are compared. This is not the case for observed variables.
Nick Lee
posted on Tuesday, March 16, 2010 - 2:21 pm
Hi Dr. Muthen
I have been using LISREL for about a decade, and have been playing with MPlus for a year or so now, to help analyse a multi-level data set. I'm enjoying it immensely.
Currently, I am engaged in a multi-group analysis (gender as the grouping variable), using a complex samples approach (MLR as the estimator).
With LISREL, while I couldn't use MLR and the complex approach, I am very well versed in the chi-square tests and MGA. In Mplus however, I get a little lost.
The key issue for me is to test whether the latent means for my constructs are different across groups, and then whether the structural paths are different, but one thing at a time.
Latent Means: I am having some difficulties with performing the chi-square difference test using the loglikelihoods going by the instructions on this site, so currently I am interested in what the 'significance' test for the latent means in group 2 actually refers to.
Of course, in Group 1, the latent means are zero, but in group 2, they are free and nonzero, but have a standard error and t-value associated with them. Can I interpret a significant t-value as an indication that the means in group 2 are significantly different to the means in group 1?
If so, that would help me a lot.
I will ask the MLR question later, since this is a rather long email.
Many thanks,
Linda K. Muthen
posted on Wednesday, March 17, 2010 - 9:18 am
The test that the factor mean in group 2 is zero is the same as testing the difference between the group 1 and group 2 factor means.
Nick Lee
posted on Friday, March 19, 2010 - 4:17 am
Thanks very much Linda this is very helpful.
Thus, I assume I am right in my conclusion that the factor means are different if the group 2 factor mean is nonzero and significant?
One curiousity: If the nested test result was nonsignificant across the groups, yet the factor means were all tested as significantly different, how would one interpret such a finding in your view?
Thanks again
Linda K. Muthen
posted on Friday, March 19, 2010 - 6:07 am
If you have only two groups, the difference test and the test of the second group mean against zero should be the same. I would have to see all of the information to say more. You can send the files and your license number to
if you want to pursue this further.
Nick Lee
posted on Friday, March 19, 2010 - 9:03 am
Hi Linda
Thanks so much. In fact, I don't think I have really done the nested difference test correctly yet, so the question was one of idle curiosity right now. So I won't bug you with my data and code yet!
Thanks again
Peter D
posted on Friday, May 07, 2010 - 9:04 am
Dear Dr. Muth�n,
I am a new user of Mplus who are currently fitting a quite simple multigroup CFA model. I have two questions in that regard.
First, the subjects in the study are clustered within higher-level units (individuals within schools) and for that reason I am using the CLUSTER option under the VARIABLE command and TYPE=complex. However, at the same time I would also like to test the metric invariance of the model, but this does not appear to be possible using the MODEL=NOMEANSTRUCTURE and INFORMATION=EXPECTED under the ANALYSIS command. Is this correct? If yes, how would you typically go about testing invariance of the measurement model. Just using the default, testing metric and factorial at the same time? If no, what is the proper way to test metric invariance?
Second (and unrelated to the question above), I would like to obtain the correlation between the latent construct from the CFA and a range of other variables not included in the CFA. What is the way to go about this? Can I save the factor scores and then correlate this with these variable?
Thanks in advance,
Linda K. Muthen
posted on Friday, May 07, 2010 - 9:09 am
See the Topic 1 course handout which shows the inputs for testing measurement invariance under the topic multiple group analysis.
You can save factor scores using the FSCORES option of the SAVEDATA command. You can include the variables not used in the analysis by using the AUXILIARY option of the VARIABLE command.
Peter D
posted on Friday, May 07, 2010 - 9:45 am
Thank you very much for your fast reply!
Peter D
posted on Friday, May 07, 2010 - 10:59 am
I have a follow-up question. The course handout is informative, but I am in doubt how to test the level of measurement invariance hierarchically, starting out by examining metric invariance followed by factorial invariance. Invariance of factor variance and error variance is acceptable in my model.
As I understand the hand-out and the users guide, a model with measurement invariance of factor loadings and intercepts is estimated using the following model command (sch is the clustering unit, trust is the latent construct and c1-c3 are the observed variables):
Cluster is sch;
Type = complex;
trust BY c1 c2 c3;
I am not sure, however, how to only test the metric invariance as the following command from the users guide does not work with the clustering: MODEL=NOMEANSTRUCTURE; INFORMATION=EXPECTED;
I hope you are able to help with this.
Thanks again,
Linda K. Muthen
posted on Friday, May 07, 2010 - 11:55 am
It is not necessary to use MODEL=NOMEANSTRUCTURE. The first model shown in the handout shows a model where all parameters are free across groups. Having unstructured means is the same as having no means. The second step imposes factor loading invariance. The third step imposes intercept invariance.
Wu wenfeng
posted on Tuesday, June 22, 2010 - 8:28 pm
If I just want to compare the total score of a scale between two groups,do I need to test measure invariance before the comparison? thank you!
Linda K. Muthen
posted on Wednesday, June 23, 2010 - 10:49 am
When you create a sum score, you assume unidimensionality and measurement invariance. I think it would be best to check that these hold as a first step.
Dan Sass
posted on Tuesday, June 29, 2010 - 4:49 pm
I�m conducting a multi-group CFA using the WLSMV estimator with ordered categorical data. The individual sample results seem appropriate and fit well, as does the configural model. However, after I fix the factor loadings and thresholds to be equal across groups the chi-square statistic decrease, whereas the df increases. I would expect the df to increase given that I�m fixing the factor loadings and thresholds to be equal across the groups; however, the decrease in chi-square does not make conceptual sense to me. Thus, the DIFFTEST suggests that the invariance model fits better than the configural model. Is this result possible? If so, how can it happen? The same thing happens when I set the factor covariance as invariant. I checked the model results and the correct parameter estimates are equal across groups for the invariance models and different for the configural model.
Linda K. Muthen
posted on Tuesday, June 29, 2010 - 5:34 pm
If you are not using Version 6, the chi-square statistic and degrees of freedom for WLSMV are adjusted to obtain a correct p-value. Only the p-value should be interpreted.
Dan Sass
posted on Tuesday, June 29, 2010 - 7:08 pm
I�m using version 6, so is something wrong with the code? I followed the example in the Mplus manual and the notes posted on your website.
Linda K. Muthen
posted on Wednesday, June 30, 2010 - 6:10 am
Please send the files and your license number to support so I can see what you are doing.
Fernando H Andrade
posted on Thursday, September 30, 2010 - 6:32 pm
Dear Dr Muthen.
I am fitting a multigroup model, with categorical indicators. i wanted to compare two models using two categories in the grouping variable. i got an warning.
Are the models below nested? everything runs fine in each model except the dif test.
thank you
The models:
Model A
model: y1pm by y1pm03r y1pm05r y1pm06r y1pm07r y1pm08r y1pm09r y1pm10r;
a1pm by a1pm6r a1pm8r a1pm9r a1pm10r a1pm11r a1pm12r a1pm13r;
Model B
model: y1pm by y1pm03r y1pm05r y1pm06r y1pm07r y1pm08r y1pm09r y1pm10r;
a1pm by a1pm6r a1pm8r a1pm9r a1pm10r a1pm11r a1pm12r a1pm13r;
(and so on for the rest of items)
model old:
y1pm by y1pm05r y1pm06r y1pm07r y1pm08r y1pm09r y1pm10r;
a1pm by a1pm8r a1pm9r a1pm10r a1pm11r a1pm12r a1pm13r;
[y1pm03r$4 y1pm05r$4 y1pm06r$4 y1pm07r$4 y1pm08r$4 y1pm09r$4 y1pm10r$4];
[a1pm6r$4 a1pm8r$2 a1pm9r$1 a1pm10r$2 a1pm11r$3 a1pm12r$2 a1pm13r$3];
Fernando H Andrade
posted on Thursday, September 30, 2010 - 6:56 pm
i think i should add in model A
], that solved the problem and i got results for the dif test
would that be correct?
Linda K. Muthen
posted on Friday, October 01, 2010 - 7:16 am
Compare your two inputs to those shown on Slides 169 and 170 of the Topic 2 course handout on the website. These are the correct inputs for testing measurement invariance.
Fernando H Andrade
posted on Friday, October 01, 2010 - 10:57 am
Dear Dr Muthen.
I coded as specified in pages 169 and 170, i got this message
is the Measurement Invariance model specified in page 170 nested in the Measurement Non-Invariance model specified in page 169?
Linda K. Muthen
posted on Friday, October 01, 2010 - 11:15 am
The model on Slide 170 is nested in the MODEL on Slide 169.
Try decreasing the convergence criteria by using the CONVERGENCE option.
Fernando H Andrade
posted on Monday, October 04, 2010 - 8:59 am
Dear Dr Muthen
Thank you for your response, following post in October 1st at 11:15, i reduced the convergence criteria and it worked but i have a question.
is there a limit to decrease the convergence criteria?
i used 0.1 as criteria and it gave me the DIF test difference, is that criteria acceptable?
thank you
Linda K. Muthen
posted on Monday, October 04, 2010 - 9:50 am
That is a large value. Please send the input, data, output, and your license number to
Thormod Idsoe
posted on Wednesday, December 08, 2010 - 3:51 am
Any chance that future versions of Mplus will provide common metric completely standardized solution for multiple group analysis? (by standardizing using a common variance)
It would be fine when reporting structural parameters that are not moderated by group.
Linda K. Muthen
posted on Wednesday, December 08, 2010 - 9:37 am
I will add that to our list.
Alexander Berlin
posted on Wednesday, February 23, 2011 - 10:09 am
Hi, I'm struggling with testing different forms of measurement invariance of a second order construct and was wondering whether I've fixed the correct parameters because I'm not sure how to handle the second order factor. Moreover, at the stage of scalar invariance testing I get an error message, that the model is not identified. I would appreciate if you could have a look at my syntax.
configural measurement invariance:
f1 by x1 x2;
f2 by x3 x4;
f3 by x5 x6;
f4 by f1 f2 f3;
MODEL g1:
f1 by x2;
f2 by x4;
f3 by x6;
metric measurement invariance:
f1 by x1 x2;
f2 by x3 x4;
f3 by x5 x6;
f4 by f1 f2 f3;
MODEL g1:
scalar measurement invariance:
f1 by x1 x2;
f2 by x3 x4;
f3 by x5 x6;
f4 by f1 f2 f3;
I'm analyzing two groups with continous data.
Many thanks in advance.
Bengt O. Muthen
posted on Wednesday, February 23, 2011 - 4:27 pm
Looks correct. Please send your scalar model output and license number to
posted on Wednesday, March 16, 2011 - 7:28 pm
I am trying to run a multi-group CFA in order to examine the factor structure among the 2 groups (males and females). Although I am new to running and interpreting multi-group analyses, I'm noticing a potential issue. The modification indices are suggesting that an indicator should load on a factor that it is already loading on. I'm wondering why this is happening?
Below is a snippet of my MODEL statement (for the overall model) as well as the snippet from the MI. Thank you in advance for your assistance!
Sch_ADJ BY t10schad*
Soccomp by
t10psb* t10pop*;
Sch_ADJ* Soccomp*;
t10schad* newgpa* t10sla*;
t10scbeN* t10psb* t10pop*;
[t10schad* newgpa* t10sla*];
[t10scbeN* t10psb* t10pop*];
sch_adj with soccomp;
Group MALE
BY Statements
Group FEMALE
BY Statements
Linda K. Muthen
posted on Thursday, March 17, 2011 - 6:43 am
Modification indices are given for fixed parameters and constrained parameters. The default in Mplus is to constrain factor loadings to be equal across groups as the default. I would imagine that it is a constrained parameter for which you are obtaining a modification index. If not, please send your full output and license number to
As a first step in multiple group modeling, you should fit the model in each group separately.
Julia Lee
posted on Thursday, April 14, 2011 - 7:19 pm
I'm running multiple-group CFA with mean structure. There are 4 groups. Model of 3 latent factors with 2 indicators each fitted fine for each group when analyzed separately. However, when I ran the baseline model simultaneously across groups, there was an error message �NO CONVERGENCE. NUMBER OF ITERATIONS EXCEEDED.� I appreciate your help. Thank you.
NAMES ARE y1 y2 y3 y4 y5 y6 g;
USEVARIABLES ARE y1 y2 y3 y4 y5 y6;
GROUPING is g (0=NoFM 1=NoFF 2=FM 3 = FF);
Missing=all (999);
f1 BY y1-y2;
f2 BY y3-y4;
f3 BY y5-y6;
MODEL noFF:
f1 BY y1-y2;
f2 BY y3-y4;
f3 BY y5-y6;
f1 BY y1-y2;
f2 BY y3-y4;
f3 BY y5-y6;
f1 BY y1-y2;
f2 BY y3-y4;
f3 BY y5-y6;
Linda K. Muthen
posted on Friday, April 15, 2011 - 6:11 am
You should not mention the first factor indicators in the group-specific MODEL commands. This frees them and makes the model not identified. In stead say:
f1 BY y2;
f2 BY y4;
f3 BY y6;
If you have further problems, please send your full output and your license number to
Johan Korhonen
posted on Wednesday, May 04, 2011 - 3:56 am
I have a question about measurement invariance: In a multigroup CFA (male,female) the factor loadings are invariant but when I add the intercepts they fail to meet this assumption. Examining M.I. => testin partial invariance but still I fail to meet this assumption, x^2diff=10.0019(2)*.
My goal is to examine if there are differences in men and females regression paths from 2 latent variables on some observed variables (GPAswedish on F1; GPAmath on F1 F2; choice on GPAswedish GPAmath;)
Are the interpretations meaningful eventhough the intercepts are not invariant?
Linda K. Muthen
posted on Wednesday, May 04, 2011 - 11:19 am
I would be hesitant to conclude that I had measurement invariance in your case.
Julia Lee
posted on Friday, May 06, 2011 - 10:20 am
I'm running MGCFA with mean structure.
1) Re: test of latent means across groups. I'm been trying to constrain the means to be equal across all groups (to conduct an omnibus test). Can you please give some input regarding the syntax?
2) Re: multiple comparisons of the latent means. What is the syntax for conduct pairwise latent mean comparisons between two groups in each analysis? E.g., NoFF versus FF and NoFM 1versus NoFF
3) Re: control for autoregressors. Is it possible to autoregress T2 latent factor with T1 latent factor? i.e., autoregressors specified as factors based on multiple indicators.
NAMES ARE T2y1 T2y2 T2y3 T2y4 T2y5 T2y6 T1y1 T1y2 T1y5 T1y6 g;
USEVARIABLES ARE T2y1 T2y2 T2y3 T2y4 T2y5 T2y6;
GROUPING is g (0=NoFM 1=NoFF 2=FM 3 = FF);
Missing=all (999);
f1 BY T2y1-T2y2;
f2 BY T2y3-T2y4;
f3 BY T2y5-T2y6;
T1y1 with T2y1;
T1Y2 with T2y2;
T1y5 with T2y5
T1y6 with T2y6
F1 with F2 (1);
F2 with F3 (2);
F1 with F3 (3);
Linda K. Muthen
posted on Friday, May 06, 2011 - 2:50 pm
1. To test the equality of factor means across groups, use the model where factor means are zero in all groups versus the model where factor means are zero in one group and free in the other groups. See the Topic 1 course handout under multiple group analysis for the syntax.
2. There is no syntax to do this. You could use MODEL TEST of difference testing.
3. Factors can be regressed on each other, for example, f2 ON f1.
Julia Lee
posted on Tuesday, May 10, 2011 - 9:45 am
Thank you for directing me to the course handout. This discussion board is a great resource too.
Here's an extension to my earlier question (Q.3) regarding autoregressors. The research questions are concerned with Time2 indicators and factors but not Time 1 indicators and factors.
1. Thus, I don't want to include the Time 1 covariates and related factors in the MGCFA model. However, I do want to control for Time 1 initial skills (autoregressor)when testing for equality of latent means.
a) I tried doing this:
f1 BY Time2y1-Time2y2;
f2 BY Time2y3-Time2y4;
f3 BY Time2y5-Time2y6;
Time2y1 ON Time1y1;
Time2y2 ON Time1y2;
Time2y3 ON Time1y3;
Time2y4 ON Time1y4;
Is this aforementioned syntax a viable step to take?
There's literature on controlling for latent covariates rather than indicators. Is there a way to combine Time1y1 and Time1y2 as a latent covariate (e.g., Time1F1) without making it part of the MGCFA model.
b) After including the ON statement for the Time2 indicators on Time1 indicators, the model-data fit deteriorated greatly (chi-square rose from 52.414 to 377.935 and all other fit indices indicated poor model-data fit). It is likely due to floor effects. I think I should control from Time1 (initial skills) but these are dismal model-data fits. I look forward to your input.
Thank you in advance!
Linda K. Muthen
posted on Tuesday, May 10, 2011 - 9:56 am
This is a general analysis question which is probably best answered on a general discussion forum like SEMNET. Mplus discussion questions should be specific to Mplus.
Garima Sharma
posted on Thursday, May 19, 2011 - 1:23 am
I am trying to run a MACS analysis for two constructs over 3 time periods. After working through the factor and intercept invariance the final outcome is that the loadings and intercepts meet the invariance criteria for the first construct. For the second construct the loadings are invariant for time periods 1 and 2 but for time periods 1 and 3 only some of the loadings are invariant (all item intercepts are invariant). I am trying to estimate the latent means for each construct over the 3 time periods. To accomplish this I am estimating the latent means using the partial invariance model just described. To calculate the latent means I first set time period 1 as the reference group. In this model the latent means for the second time period (estimated) are not significantly different from the first time period (set to 0). However, when I change the reference group to the second time period the latent means for time period 1 (now estimated) become significant for both constructs. Each time when I define a ref group I am fixing the variance of both constructs in that group to 1 (i.e., the variance in time 1 was set to 1 when time period 1 was the reference group and the variance in time 2 was set to 1 when time period 2 was the reference group). My question is -- why do the differences in latent means change from being non sig to sig when I change the ref group from time period 1 to time period 2?
Bengt O. Muthen
posted on Thursday, May 19, 2011 - 9:01 am
Check that you get the same chi-square and df when you have time 1 vs time 2 as the reference point. If not, you are not setting up the models correctly.
Lisa M. Yarnell
posted on Wednesday, August 17, 2011 - 12:35 pm
Hello Drs. Muthen,
If I am estimating a latent variable SEM model with a higher-order structure, where latent variables load onto a higher-order latent variable, and I am estimating means...then does the constant (the triangle in RAM notation) have a direct effect only on the higher-order latent variable, or does it have a direct
effect on all of the latent variables, even the lower-order ones?
I think what I have learned is that when you have one latent variable indicated by other latent variables OR predicting another latent variable, the constant (drawn with the triangle in RAM notation) only is conceptualized to have a direct effect on the first latent variable in the "chain" (the higher order factor or the latent variable that is exogenous). The constant does have an effect on the endogenous latent variables, but only *through* its effect on the exogenous latent variable.
Is my thinking correct? I ask this question because I am estimating a latent variable model with a higher order structure (where five latent variable load onto a higher-order latent variable), and I asked Mplus for means and variances for all of the lower-order factors...but got an error message.
I just wonder I am not supposed to be estimating means for the lower-order factors.
Thank you!
Linda K. Muthen
posted on Wednesday, August 17, 2011 - 1:19 pm
In a cross-sectional study, all factor means are zero. They can be identified only with multiple groups or multiple occasions. In a second-order factor model, residual variances are estimated for the first-order factors and a variance is estimated for the second-order factor.
Sarah Cattan
posted on Thursday, September 15, 2011 - 10:05 am
Dear Linda,
I would like to perform a CFA of different personality measures, allowing a different model between gender AND allowing for a mixture model (with unknown class) for each gender.
I understand that if I specify TYPE=MIXTURE and KNOWNCLASS (female=1 female=0), it will allow me to estimate a different model for each gender. But I am not sure how to specify that the model for each gender should also be a mixture (this time with an unknown class).
Thank you very much for your help. I look forward to hearing from you.
Linda K. Muthen
posted on Thursday, September 15, 2011 - 11:32 am
Example 7.21 has both. It is not a CFA but you can generalize it to that. See Example 7.17.
Sarah Cattan
posted on Friday, September 16, 2011 - 7:44 am
Dear Linda,
Thank you for your answer. If I understand Example 7.21 well though, the model has two latent, categorical factors. The first one corresponds to c(2) and has two unknown classes. The second one corresponds to cg(2) and has to known classes.
What I was asking was how to model a one factor model with mixtures of normals, allowing the mixtures of normals to be different for females and males. Is this possible?
If Example 7.21 does that, could you please explain which specific comments achieve this goal? I am not sure I understand the example well.
Thank you,
Linda K. Muthen
posted on Friday, September 16, 2011 - 3:04 pm
If you use the CLASSES and KNOWNCLASS statement from 7.21 and put use them instead of the CLASSES statement in 7.17, you will have what you want. You can remove the class-specific part of the MODEL command from 7.17 because that is actually the default.
Jan Eichhorn
posted on Sunday, January 15, 2012 - 4:43 am
Dear Drs. Muthen, I am running a MGCFA and want to check the model for metric invariance and enter the commands as usual, freeing the loadings of all but one item for each of my 3 factors. When I run the model however I get the following error without any further specification:
The following MODEL statements are ignored: * Statements in Group AL:
My model input is:
LowCon BY a067 a065 a074 a066 a068 a072;
HigCon BY a077 a070 a076 a069 a073 a071 a064 a075;
General BY GenTru Helpful Fair;
LowCon WITH HigCon; LowCon WITH General;
HigCon WITH General;
With grouping specified for 44 groups all with the commands like:
Model AL: [a065]; [a074]; ... etc.; [Helpful]; [Fair];
(all 'a0' type variable are dummies and declared as categorical)
Any advice from your side what might have gone wrong would be very appreciated.
Best wishes,
Linda K. Muthen
posted on Sunday, January 15, 2012 - 7:23 am
For categorical variables, you should refer to thresholds not intercepts, for example,
Jan Eichhorn
posted on Monday, January 16, 2012 - 9:06 am
Dear Linda,
thank you very much for your help!!
I have a follow-up question I would like to ask: When running the model now (whether it is for configural, metric or scalar equivalence) I am not able to get the model to work properly and to produce standard errors (the model worked fine overall for the whole sample when not running a multi-group analysis).
The key problem seems to be that there are some groups for which some of the categorical indicators making up the factors (3 in total, two of which are made up by binary variables only) only take one value (i.e. no respondent in that country has been classified to belong to this category).
Is there a way of accounting for this in some way and still run the model or does this mean I cannot use those variables as items for my factors in an MGCFA when there are some groups for which all cases take the same value on a binary item?
Thank you for your advice and help!
Best wishes,
Linda K. Muthen
posted on Monday, January 16, 2012 - 1:35 pm
The first step in a multiple group analysis is to establish that the same model fits well in each group. It sounds like you cannot do this because some variables are constants in some groups.
Jan Eichhorn
posted on Tuesday, January 17, 2012 - 6:15 am
Dear Linda,
thank you for your comment. I thought so too and removed the problematic variable, so that there are now items included anymore with this problem.
When running the MGCFA now, I still cannot managed to get the model to converge and standard errors to be estimated though (even for mere configural equivalence). The only error message I get in the output is NO CONVERGENCE. NUMBER OF ITERATIONS EXCEEDED., and as I do not get modification indices, I cannot use those to identify areas of local misfit.
Does that simply mean that the model is not feasible at all for an MGCFA or could there be other reasons in the setup which I could explore?
As always, your help would be very much appreciated. Thank you for all your efforts.
Best wishes,
Linda K. Muthen
posted on Tuesday, January 17, 2012 - 7:41 am
You should try freeing the first factor loading for each factor and fixing the factor variances to one. It may be that the first factor indicator is not estimated close to +1.
f BY y1* y2 y3;
Jan Eichhorn
posted on Tuesday, January 17, 2012 - 8:04 am
Thank you very much! That worked.
I have one more follow up question:
I get a few errors messages like the one below - and I suppose that I should go about looking at the output for the respective items and the respective groups to see what can be improved locally.
However I also get one general error message. And I am wondering whether by resolving the local problems, this might be resolved, or whether this needs dealing with separately:
This here was the message that I got for a few groups as said above (and for which I would go about investigating what the problem with the respective indicator in those groups is):
Thank you for your advice!
Linda K. Muthen
posted on Tuesday, January 17, 2012 - 1:58 pm
Please send the outputs with the error messages and your license to
Jan Eichhorn
posted on Friday, February 24, 2012 - 9:38 am
Dear Drs. Muth�n,
I am running an MGCFA with 3 latent variables and 44 countries. I try to compute a configural equivalence model. After about 1 hour and 15 minutes of estimation I get an error message telling me that there is not enough memory.
However, I have 12GB RAM available, a large harddrive and when checking, only about 10% of the available RAM are actually in use by MPLUS. When I run the analysis with fewer countries (10-12) it works and I get model results - but obviously I would like to run it with all countries included.
Any advice would be much appreciated, as an increase in RAM or harddisk space does not seem to be the way forward I suppose.
Linda K. Muthen
posted on Saturday, February 25, 2012 - 9:13 am
Please send the input, data, and your license number to
posted on Wednesday, February 29, 2012 - 1:12 pm
I'm testing measurement invariance across 2 groups in a CFA using items with a response scale of 0-2. I tried to follow the syntax on the Mplus Short Courses Topic 1 handout to first estimate a free model (pg. 210). I've used the following syntax, specifying categorical indicators:
GROUPING =sexcat(1=FEMALE 2=MALE);
MODEL: f_em BY
e2 e3 e4 e5;
f_cd BY
c2 c3 c4 c5;
f_hy BY
h2 h3 h4 h5;
f_pe BY
p2 p3 p4 p5;
f_ps BY
s2 s3 s4 s5;
f_em BY
e2 e3 e4 e5;
f_cd BY
c2 c3 c4 c5;
f_hy BY
h2 h3 h4 h5;
f_pe BY
p2 p3 p4 p5;
f_ps BY
s2 s3 s4 s5;
However, the Mplus error indicates that the model may not be identified (problem with parameter 171). Any advice would be much appreciated.
Linda K. Muthen
posted on Wednesday, February 29, 2012 - 2:24 pm
You need to also fix the scale factors to one in all groups. See the Topic 2 course handout under multiple group analysis where this is shown.
posted on Thursday, March 01, 2012 - 9:07 am
I fixed scale factors to 0 as shown below, however I'm obtaining the same error that the model may not be identified (problem involving parameter 171).
CLUSTER = Cluster;
IDVARIABLE = Sampleid;
GROUPING =sexcat(1=FEMALE 2=MALE);
MODEL: f_em BY e1-e5;
f_cd BY c1-c5;
f_hy BY h1-h5;
f_pe BY p1-p5;
f_ps BY s1-s5;
f_em BY e1-e5;
f_cd BY c1-c5;
f_hy BY h1-h5;
f_pe BY p1-p5;
f_ps BY s1-s5;
Linda K. Muthen
posted on Thursday, March 01, 2012 - 9:16 am
You should not mention the first factor loading in the group-specific MODEL command. When you do this, it is freed causing the model to be not-identified.
Lin Gu
posted on Wednesday, March 28, 2012 - 1:35 pm
I want to test configural invariance with a mean structure of the following model across two samples. I want to fix the first intercept of each factor to 0 in both groups. I believe this allows me to estimate factor means and the rest of the intercepts in both groups. I used the following syntax but I could not free the factor means in the first group. Could you please help? Thanks.
MODEL: f1 by y1-y6;
f2 by y7-15;
[y1 @ 0 ];
[y7 @ 0 ];
f1 by y2-y6;
f2 by y8-y15;
[y1 @ 0 ];
[y7 @ 0 ];
[y2-y6 y8-y15];
Linda K. Muthen
posted on Wednesday, March 28, 2012 - 1:49 pm
You need to do this in the group-specific model for the first group -- the lowest value of the grouping variable.
Lin Gu
posted on Wednesday, March 28, 2012 - 2:13 pm
I specified freeing factor means and fixing intercepts in the first group only. In group 2, I allow the unfixed factor loadings and intercepts to differ. But the factor means in group one were still fixed to zero. Could you let me know what I did wrong? Thank you very much.
f1 by y1-y6;
f2 by y7-15;
[y1 @ 0 ];
[y7 @ 0 ];
f1 by y2-y6;
f2 by y8-y15;
[y2-y6 y8-y15];
Linda K. Muthen
posted on Wednesday, March 28, 2012 - 3:50 pm
Show me your GROUPING option.
Lin Gu
posted on Wednesday, March 28, 2012 - 3:58 pm
Here is the input with the grouping option. Thanks!
VARIABLE: NAMES ARE g y1-y15;
GROUPING is g (1=no 2=yes);
ANALYSIS: Estimator = MLM;
f1 by y1-y6;
f2 by y7-15;
[y1 @ 0 ];
[y7 @ 0 ];
f1 by y2-y6;
f2 by y8-y15;
[y2-y6 y8-y15];
Linda K. Muthen
posted on Wednesday, March 28, 2012 - 4:33 pm
You need to say:
MODEL no:
[f1* f2*];
Lin Gu
posted on Thursday, March 29, 2012 - 5:39 am
Thanks Linda. I was able to test scalar invariance by inputting the following syntax, in which factor means (in both groups) were estimated and intercepts were either fixed to 0 or fixed to be equal across the groups. I would like to further test mean invariance, in which I want means to be estimated ( not constrained to zero) but have the same estimations across the groups. Could you let me know how to constrain means to be equal based on the scalar invariance model syntax? Thank you!
VARIABLE: NAMES ARE g y1-y15;
GROUPING is g (1=no 2=yes);
ANALYSIS: Estimator = MLM;
f1 by y1-y6;
f2 by y17-y15;
[y1 @ 0];
[y7 @ 0];
MODEL NO: [f1*f2*];
Linda K. Muthen
posted on Thursday, March 29, 2012 - 4:12 pm
MODEL NO: [f1*] (1)
[f2*] (2);
MODEL YES:[f1*] (1)
[f2*] (2);
Lin Gu
posted on Thursday, March 29, 2012 - 6:02 pm
Thanks, Linda. I appreciate your help.
J.D. Haltigan
posted on Wednesday, August 08, 2012 - 10:02 am
I have successfully tested for both metric and scalar invariance of an interview measure across two ethnic groups. I found that the structured means were significantly different. I am wondering if there is a way in MGROUP modeling to examine whether this same difference emerges after controlling for SES (a confound in our data). Can I do this in MGROUP or do I have to turn to MIMIC to explore this question?
Also, is it the case that in MIMIC modeling one can not explore metric invariance (i.e., equality of factor loadings)? Per Brown (2006) using MIMIC one can only explore invariance of indicator intercepts and factor means.
Bengt O. Muthen
posted on Wednesday, August 08, 2012 - 6:59 pm
Q1. You can do this in MGROUP, testing invariance of the factor intercepts.
Q2. It is harder to test equality of factor loadings in MIMIC, so you want to do it in MGROUP.
J.D. Haltigan
posted on Wednesday, August 08, 2012 - 11:25 pm
Thanks. When I regress my latent factor on the covariate, I no longer get estimates for that factor mean in the output. Is there something I am doing wrong? As my model is a 2-factor model, I do get estimates of the factor mean for the other factor, just not the one I regressed the covariate on.
J.D. Haltigan
posted on Wednesday, August 08, 2012 - 11:37 pm
Actually I just realized that since we have the factor regressed onto a covariate that the mean for the factor would now be listed as an intercept in the output (since we have a slope as well). Is my thinking correct? If so, then I think I just answered my own question. Many thanks.
Linda K. Muthen
posted on Thursday, August 09, 2012 - 5:46 am
Yes, in a conditional model an intercept is estimated for a dependent variable not a mean.
J.D. Haltigan
posted on Thursday, August 09, 2012 - 3:15 pm
One follow-up question. What does it mean conceptually if the regression estimate for the covariate on the latent mean is not significant but the intercept is no longer significantly different from the mean of the reference group (that is at zero). Does this suggest that the covariates effect is not significant but that it purges enough variance from the structured mean to nullify the previous significant latent mean differences across groups?
Linda K. Muthen
posted on Friday, August 10, 2012 - 10:19 am
Questions not specific to Mplus are best posted on a general discussion forum like SEMNET.
Scott C. Roesch
posted on Friday, October 11, 2013 - 6:48 am
I am running a basic CFA and finding a different chi-square value depending on whether I use INFORMATION=EXPECTED vs. INFORMATION=OBSERVED. The parameter estimates are the same across these two approaches so I am wondering why the chi-square values are not the same. Thanks!
Linda K. Muthen
posted on Friday, October 11, 2013 - 9:36 am
Your standard errors and fit statistics will vary depending on the information matrix you use. We recommend observed when there is missing data.
Gy�ngyv�r Moln�r
posted on Sunday, October 13, 2013 - 6:56 am
I want to check measurement invariance regarding a skill test used in paper-and-pencil and in computer-based form. I had the same sample; it means each of the students solved the test in both deliveries. I am not sure whether using MGCFA is the best method for doing the analyses as if I had different sample for the PP and CB administration. What would you recommend me? Thank you in advance.
Linda K. Muthen
posted on Monday, October 14, 2013 - 9:41 am
You cannot use multiple group analysis because the groups are not independent. You can test measurement invariance across time in a single group analysis. See the Topic 3 or 4 course handout on the website under multiple indicator growth. The first part of the example shows how to test measurement invariance across time.
Christine Yu
posted on Friday, February 21, 2014 - 2:52 pm
I have a VERY basic question that I have not been able to find the answer for, and I apologize in advance for asking this question.
I am doing a MG SEM, and needing to compare my partial metric invariance to my configural invariance. I cannot remember HOW to do this in Excel using the loglikelihood and df, and my estimator was ML so there is no "correcting the scale" in my output.
Can you direct me on how to do this?
Thank you.
Bengt O. Muthen
posted on Friday, February 21, 2014 - 3:00 pm
2 times the loglikelihood difference with df = the difference in the number of parameters.
Ellen Schaffner
posted on Wednesday, August 13, 2014 - 6:53 am
I want to test measurement invariance across groups. My CFA model has four factors, each measured by 2 or 3 items (categorical data). When I tested the configural model, I used the following constraints to get an identified model: one threshold of each item and two thresholds of each reference item were constrained to equality across groups. In addition, I fixed the latent factor variances to 1 in all groups (in the metric invariance model, the factor variances were freed, except in group 1). Can you tell me, if this is correct? I am not sure about fixing the factor variances to 1 in the configural model, but without doing so, the model was not identified. Thank you in advance!
Linda K. Muthen
posted on Wednesday, August 13, 2014 - 8:36 am
The models we recommend for testing measurement invariance are described in the Version 7.1 Language Addendum on the website with the user's guide. See Multiple group factor analysis: Convenience features.
Ellen Schaffner
posted on Thursday, August 14, 2014 - 7:50 am
Thank you! Now, I used "MODEL = configural metric scalar" to test measurement invariance and the results confirmed scalar invariance across groups. However,in the scalar model, the latent mean differences between groups are different from the observed mean differences between groups (which I computed seperately based on scale scores). How is this possible? And does it mean that the observed mean differences cannot be interpreted even if scalar invariance has been confirmed?
Bengt O. Muthen
posted on Thursday, August 14, 2014 - 1:40 pm
How do you create the observed scale scores?
Ellen Schaffner
posted on Friday, August 15, 2014 - 6:38 am
I summed the coded items belonging to each scale up (and divided the sum through the number of items per scale). The scales are very short (2 or 3 items per scale). Item codings lie in between 1="definitely not true" and 4="definitely true".
Bengt O. Muthen
posted on Friday, August 15, 2014 - 7:49 am
Summing items assumes equal loadings which the scalar model does not. Also, the reliability of the sum is not high with only 2 or 3 items per scale. If the scalar model fits the data well, I would trust it more.
Jiebing Wang
posted on Friday, September 05, 2014 - 6:33 am
Hi Dr. Muthen,
I have conducted a measurement invariance test (group A, B) of a four-factor model of binary items (factor SP, SA, FP, and VSN). In order to find noninvariant items in factor SP, I set equally constraints (both factor loading and threshold) on one item at a time and compared this model 1 to the configural model.
For the syntax of the model 1:
Do I need to set all factor mean to 0 in both group A and B? Or I need to set all factor mean to 0 in group A, but only set factor SA, FP, and VSN to 0 in group B, because this constrained item comes from factor SP?
Many thanks!
Bengt O. Muthen
posted on Friday, September 05, 2014 - 2:04 pm
When you free parameters for one item at a time you shouldn't fix factor means at zero for both groups - the group B mean is identified thanks to the invariance of the other items.
Jiebing Wang
posted on Tuesday, September 09, 2014 - 4:49 pm
Hi Dr. Muthen, for the previous post.
How about I want to constrain one item (in factor SP) at a time and compare this model to the configural model.
Do I still need to set all factor mean to 0 in both groups? Or I need to set all factor mean to 0 in group 1, only set factor SA, FP, and VSN to 0 in group 2 but not SP?
Many thanks!
Bengt O. Muthen
posted on Tuesday, September 09, 2014 - 5:34 pm
One invariant item identifies the factor mean in the second grp.
Jiebing Wang
posted on Wednesday, September 10, 2014 - 7:44 am
Hi Dr. Muthen,
When I only set factor SA, FP, and VSN to 0 in group 2 but not SP, the output said "THE CHI-SQUARE DIFFERENCE TEST COULD NOT BE COMPUTED BECAUSE THE H0 MODEL IS NOT NESTED IN THE H1 MODEL."
But when I set all factor mean to 0 in group 2, the DIFFTEST works. I don't know why.
Thank you!
Bengt O. Muthen
posted on Wednesday, September 10, 2014 - 12:42 pm
There are 2 possible reasons for that message. One is that H1 doesn't have more parameters than H0. The other is that the fitting function value for H1 is not smaller than for H0. You check the latter by asking for TECH5 and looking at the last entry in the left-most column.
If that doesn't help you, send the 2 outputs to support with your license number.
posted on Wednesday, October 14, 2015 - 8:36 am
Hi, I am working on a Multigroup CFA model but it seems that Mplus can't read my summary data since the error message keeps popping up. Would you please take a look at? FYI, I am using a summary data set, which is consisted of means, std, and correlation matrix.
DATA: FILE IS MCLI_SUMMARY.txt;
(Err#: 59)
Error reading summary data
Linda K. Muthen
posted on Wednesday, October 14, 2015 - 2:20 pm
Please send the output, data, and your license number to
Lea H�ltge
posted on Monday, September 05, 2016 - 4:19 am
Dear Drs Muthen,
I have a three-factor CFA model, where each factor represents a facet of self-efficacy.
I would now like to know if the means of the three facets differ from each other.
Is there any way I can compare those means between these three factors in a single group on a latent level?
Thank you!
Linda K. Muthen
posted on Monday, September 05, 2016 - 2:28 pm
In a single-group model, factor means are fixed at zero for purposes of model identification.
Shaobing Su
posted on Monday, June 05, 2017 - 12:23 pm
Hi Dr. Muthen,
I am conducting a multi-group invariance test for a measure with second-order factors. The output shows:
THE STANDARD ERRORS OF THE MODEL ARAMETER ESTIMATES COULD NOT BE COMPUTED. THE MODEL MAY NOT BE IDENTIFIED. CHECK YOUR MODEL. PROBLEM INVOLVING THE FOLLOWING PARAMETER: Parameter 52, Group WHITE: [ COMP ] (equality/label)
Could you help see why this happened?
Bengt O. Muthen
posted on Monday, June 05, 2017 - 3:44 pm
We need to see your output - send to Support along with your license number.
Daria Shamrova
posted on Tuesday, January 09, 2018 - 2:21 pm
I have a question about establishing measurement invariance for the latent construct with dichotomous items. I tried to use Mplus syntax for configural, metric and scalar invariance and I was able to get the configure and scalar one but not metric. How should I make a judgement without having metric invariance? Can fit indices provided by Mplus be used the same way for continuous as we as for binary variables? Can I use CFI change threshold of no more than .01 decrease (Cheung & Rensvold, 2002) to establish invariance and compare configural and scalar invariance only? If I can use .01 as a way to determine invariance, how should I determine the source of non-invariance if I have to compare between 14 different countries? Also, I am wondering if complex data and N=16000 can impact the sensitivity of CFI and make this sample too sensitive for testing invariance?
Thank you
Bengt O. Muthen
posted on Tuesday, January 09, 2018 - 2:35 pm
I would recommend not testing metric invariance for binary items - just do configural and scalar. With as many as 14 countries, I would recommend using the Alignment method - see our special web page:
Daria Shamrova
posted on Wednesday, January 10, 2018 - 8:52 am
Thank you, Dr. Muthen! I appreciate your response and will look more into the alignment method you mentioned.
posted on Tuesday, February 06, 2018 - 4:59 am
I have a question about MG Bifactor-CFA I am working on.How to write if I want to get results on measurement invariance testing(configural,metric,scalar,strict) of MG Bifactor-CFA?
For example:three groups(g1,g2,g3),factor F1 including y1-y5,factor F2 including y6-y14,factor F3 including y15-y19.
Thanks a billion!
Bengt O. Muthen
posted on Tuesday, February 06, 2018 - 3:23 pm
There is not an option to do this automatically. You can however set it up in the Model command using the measurement invariance ideas shown in the UG (see index).
posted on Tuesday, February 06, 2018 - 11:33 pm
Thank you for your guidance,Bengt O. Muthen,I will try to read UG.
posted on Monday, February 12, 2018 - 6:58 pm
Dear all, Could you help me this question?
I used two different ways to get different results on measurement invariance testing of CFA. I am confused if they are right, and the difference between them.
One way:
DATA: FILE IS c.dat;
VARIABLE: Names are group y1-y19;
Grouping is Group ( 1 = G1 2 = G2 3 = G3 );
MODEL: F1 BY y1-y5;
F2 BY y6-y14;
F3 BY y15-y19;
DATA: FILE IS c.dat;
VARIABLE: (same as configural)
MODEL: F1 BY y1-y5;
F2 BY y6-y14;
F3 BY y15-y19;
Model g2:F1 BY y2-y5;
F2 BY y7-y14;
F3 BY y16-y19;
DATA: FILE IS c.dat;
VARIABLE: (same as configural)
MODEL: F1 BY y1-y5;
F2 BY y6-y14;
F3 BY y15-y19;
Model g2:F1 BY y2-y5;
F2 BY y7-y14;
F3 BY y16-y19;
Model g3:[y2-y5 y7-y14 y16-y19]
Another way:
DATA: FILE IS c.dat;
VARIABLE: Names are group y1-y19;
Grouping is Group ( 1 = G1 2 = G2 3 = G3 );
ANALYSIS:estimator = mlr;
model = configural metric scalar;
rotation = geomin;
MODEL:F1 BY y1-y5;
F2 BY y6-y14;
F3 BY y15-y19;
output:standardized modindices
posted on Monday, February 12, 2018 - 7:00 pm
Dear all, Could you help me this question?
We have two groups of data to apply CFA. The sample sizes are 5000 in the first group and 10000 in the second group. Is it necessary for us to narrow the sample sizes of the second group?
Thanks a million!
Bengt O. Muthen
posted on Tuesday, February 13, 2018 - 6:07 pm
No, not necessary.
Bengt O. Muthen
posted on Tuesday, February 13, 2018 - 6:08 pm
Regarding your configural, metric, scalar questions, how to set them up yourself is described in our User's Guide on the web.
posted on Tuesday, February 13, 2018 - 6:22 pm
Thank you for your guidance,Bengt O. Muthen.
Sara Aguilar-Barrientos
posted on Monday, June 25, 2018 - 12:50 pm
I ran a multigroup model with 2 groups :
But I'm getting estimates (unstandardized) that make no sense:
Group GVTHIGH
Group GVTLOW
What can I do?
Bengt O. Muthen
posted on Monday, June 25, 2018 - 1:00 pm
I don't see why you think this makes no sense - if you like, you can send your full output with your question to Support along with your license number.
posted on Thursday, December 06, 2018 - 9:47 am
I am a beginner of Mplus. This may be a basic question, but it would be very helpful to receive your answer.
I ran a 6-group CFA with four factors (two factors for parents and two for peers with the same set of items; the model is below), and confirmed metric and scalar invariances. The homogeneity of variances was confirmed, but not for means and covariations. I am interested in the differences in means and correlations of latent factors among groups. The number of groups is relatively many, so we thought it was better to avoid ominibus tests that might inflate type1 error.
My question;
Does wald test below examine if the covariations are same? Is there any methods for directly comparing latent correlations among groups?
ANALYSIS: ESTIMATOR=ML; Rotation = CF-EQUAMAX;
ccon_p BY Fp1-Fp3 ;
covert_p BY Fp4-Fp6;
ccon_f BY Ff1-Ff3;
covert_f BY Ff4-Ff6 ;
Fp1-Fp6 PWITH Ff1-Ff6;
ccon_p WITH covert_p(c1_m7) ccon_f(c2_m7) covert_f(c3_m7);
covert_p WITH ccon_f(c4_m7) covert_f(c5_m7);
ccon_f WITH covert_f(c6_m7);
Model test:
!m7,m4 and m10 are group specific names.
c6_m4 = c6_m7;
c6_m7 = c6_m10;
Thank you for your help in advance.
Bengt O. Muthen
posted on Thursday, December 06, 2018 - 11:17 am
Your Analysis command uses the Rotation option but that is activated only if you use Type=EFA. You are doing a CFA where no rotation takes place.
You can label only 1 parameter per line or per semi colon. Note also that you are labeling factor covariances not correlations.
You can use Model Constraint to test correlation differences by expressing each group's correlation in terms of model parameters and then express their differences.
posted on Thursday, December 06, 2018 - 1:52 pm
Thank you for your quick answer and advice. This is very helpful.
I would like to confirm one more point. I think I could get the same coefficients calculated by covariances and variances in model results as the ones in TECH4. Is this calculation below correct?
ccon_p BY Fp1-Fp3 ;
covert_p BY Fp4-Fp6;
ccon_f BY Ff1-Ff3;
covert_f BY Ff4-Ff6 ;
Fp1-Fp6 PWITH Ff1-Ff6;
ccon_p (vcp_m7); covert_p (vop_m7);
ccon_f (vcf_m7) ; covert_f (vof_m7);
ccon_p WITH covert_p(c1_m7)
covert_p WITH ccon_f(c4_m7)
ccon_f WITH covert_f(c6_m7);
Model constraint:
!m7,m4 and m10 are model specific.
New(co1_m4 co1_m7 co1_m10);
co1_m4= c1_m4/ SQRT(vcp_m4*vop_m4);
co1_m7=c1_m7/ SQRT(vcp_m7*vop_m7);
co1_m10= c1_m10/ SQRT(vcp_m10*vop_m10);
Model test:
co1_m4 = co1_m7;
co1_m7 = co1_m10;
Back to top
Add Your Message Here
Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Enable HTML code in message
Automatically activate URLs in message
Tree View
Program Credits