Multiple group CFA when using MIXTURE... PreviousNext
Mplus Discussion > Confirmatory Factor Analysis >
Message/Author
 Arpana posted on Tuesday, May 23, 2006 - 10:54 am
Dear Dr. Muthen,

I want to expand my MIMIC model to a 2-group CFA. I found some DIF and want to examine loadings and thresholds using the 2-group model. However, I'm using NESARC data and need to use MLR for the complex survey design - what is the optimal way to do this as "Grouping is" doesn't work with Algorithm=integration and Knownclass requires a class (and not factor structure)? Thanks!
 Linda K. Muthen posted on Tuesday, May 23, 2006 - 11:04 am
You can use KNOWNCLASS in the same way as you use GROUPING. The classes represent the groups and you can test the equality of factor loadings and intercepts as you would do with GROUPING. Maybe I am missing the issue.
 Arpana posted on Friday, May 26, 2006 - 2:25 pm
Thanks! It seems I had a colinear variable that was throwing off the knownclass statement. It seems to be working now.
 Orla Mc Bride posted on Wednesday, June 06, 2007 - 2:49 am
I am having a similar problem to the comment above.

I am using NESARC data (complex survey design) and so I am using weight stratification and cluster variables and the MLR estimator.

I am attempting to conduct a multiple group CFA. I am specifying type = complex missing and using the grouping variable. When I do this, I get an error message saying:

‘*** ERROR in Analysis command
ALGORITHM = INTEGRATION is not available for multiple group analysis.
Try using the KNOWNCLASS option for TYPE = MIXTURE‘.

Also, in the above comment, Linda suggested using the knownclass variable. However, I do know if it is right to specify type = mixture when I am not using the class variable (i.e., I do not want latent classes).

Any ideas on how I might fix this problem?

Thank you.
 Linda K. Muthen posted on Wednesday, June 06, 2007 - 7:16 am
When you use the KNOWNCLASS option, class membership is based on an observed variable. It is the same as using the GROUPING option.
 Orla Mc Bride posted on Wednesday, June 06, 2007 - 8:07 am
Thank you for your response. I am conducting a multiple group CFA model not a LCA model. I have observed groups of individuals. I do not want to create latent classes. Is there any other way to conduct a multiple group analysis using the MLR estimator?

Thank you
 Linda K. Muthen posted on Wednesday, June 06, 2007 - 8:15 am
Yes, by using the KNOWNCLASS option. You cannot do what you want without going through the mixture track. KNOWNCLASS and multple group analysis are the same. The classes are defined using an observed variable.
 Orla Mc Bride posted on Wednesday, June 06, 2007 - 8:49 am
Thank you Linda. I understand now. I was a little confused. Thanks for clearing things up for me.
 Leah Rohlfsen posted on Saturday, January 17, 2009 - 7:19 am
My question pertains to using the stratification command to correct for the complex sampling design when doing two-part semicontinuous latent growth curve analysis for multiple groups.

I get an error that says stratification can be used with type=complex only. When I change type=mixture to type=complex, I get an error that says "knownclass" can be used with type=mixture only. When I try to use "Grouping" instead of "knownclass" I get the following error: "ALGORITHM = INTEGRATION is not available for multiple group analysis. Try using the KNOWNCLASS option for TYPE = MIXTURE." When I try to take 'algorithm = integration out, it says: "Use the ESTIMATOR option in the ANALYSIS command to change the estimator to ML, MLF or MLR." So it seems I can't use the stratification command when using the grouping command or the knownclass command. Is this correct? Any suggestions on how to use the stratification command while doing multiple group analysis.
 Linda K. Muthen posted on Saturday, January 17, 2009 - 9:22 am
Have you tried TYPE= MIXTURE COMPLEX with KNOWNCLASS?
 Daniel Arad posted on Tuesday, October 06, 2009 - 2:05 pm
Dear Dr. Muthen,

My model has MIMIC configuration with a continuous latent variable that is a function of both categorical and continuous variables (observables). Some of these varibles indicate class membership (they are dummies).
When I try GROUPING I get the message described above.
When I try KNOWNCLASS I get:

*** ERROR in VARIABLE command
CLASSES option not specified. Mixture analysis requires one categorical
latent variable.

My interest is not in a latent class but in the relation between the continuous latent factor and the observables.

What would be the simplest way to define this in Mplus?
 Linda K. Muthen posted on Tuesday, October 06, 2009 - 2:38 pm
It sounds like you are using maximum likelihood estimation with categorical outcomes. The GROUPING option is not available in this case. Instead you use the KNOWNCLASS option with TYPE=MIXTURE. When the only class variable is for known classes, this is identical to multiple group analysis. You need to use the CLASSES and KNOWNCLASS option to define the observed groups. See the user's guide for further information.
 Daniel Arad posted on Wednesday, October 07, 2009 - 2:40 pm
Thanks,

I used both, CLASSES and KNOWNCLASS, with ALGORITHM = INTEGRATION like explaind in Example 7.21 (p.166 in the manual) and it worked!

The results are somewhat different from what I got using previous specifications: i.e. MIMIC with continuous latent var and covariates, some of the covariates being dummies indicating group membership.

What is the suggested method?
 Linda K. Muthen posted on Wednesday, October 07, 2009 - 2:44 pm
With MIMIC, only differences in factor means and outcomes intercepts can be examined. With multiple group analysis, in addition to factor means and outcome intercepts, differences in factor loadings, outcome residual variances, factor variances, and factor covariances can be examined. See the Topic 1 course handout and the Topic 1 course video for a full discussion.
 Jaime Horton posted on Friday, January 08, 2010 - 9:41 am
Hello,

I am trying to use ANALYSIS: Type=MIXTURE to find latent class assignments in my longitudinal data. I keep receiving this error:
***ERROR in ANALYSIS command
TYPE = MIXTURE is not available for multiple group analysis.

Here is the code I submitted:

DATA:
FILE IS "C:\lgmm.dat";

VARIABLE: NAMES ARE studyid sex rceth3 ptsd1-ptsd3;
USEVARIABLES ARE ptsd1 ptsd2 ptsd3 ;
MISSING ARE ALL (-99.00);
CLASSES = c(1);

ANALYSIS:
TYPE = MIXTURE;
ESTIMATOR IS MLR;
ITERATIONS = 1000;
CONVERGENCE = 0.00005;
COVERAGE = 0.10;
STARTS = 200 20;
MODEL:
%OVERALL%
I S | ptsd1@0 ptsd2@1 ptsd3@2;
I@0;
S@0;

Do you know what's going wrong? Do you have any suggestions?

Thanks in advance!
 Linda K. Muthen posted on Friday, January 08, 2010 - 9:49 am
With mixture, you need to use the KNOWNCLASS option instead of the GROUPING option. See Example 8.8 in the Mplus User's Guide.
 mpduser1 posted on Tuesday, July 27, 2010 - 8:50 am
I am having some difficulty running multigroup models in Mplus using the KNOWNCLASS option. Basically I want to see if there are differences in Y across classes cg (before proceeding to advanced modeling, etc.). My setup is based on example 7.21 in the Mplus UG.

Is there something wrong with the way I've set this up?

.
.
.
USEVARIABLES ARE Y;
CLASSES = cg(2);
KNOWNCLASS = cg (w2Treat = 0 w2Treat = 1);
ANALYSIS:
TYPE=MIXTURE;
MODEL:
%OVERALL%
Y
;

MODEL cg:
%cg#1%
Y;

%cg#2%
Y;
.
.
.



The error I'm getting is:
*** ERROR in MODEL command
Unknown class model name CG specified in C-specific MODEL command.
 mpduser1 posted on Tuesday, July 27, 2010 - 11:36 am
Thank you.

If this model was re-parameterized such that Y was specified as having a negative binomial distribution, which of the Mplus parameter arrays would contain the dispersion parameter?

Would it be the NU(P) array?
 Linda K. Muthen posted on Tuesday, July 27, 2010 - 12:35 pm
I believe the dispersion parameters should be in psi.
 mpduser1 posted on Tuesday, July 27, 2010 - 1:46 pm
A portion of my output specifies "PARAMETER SPECIFICATION FOR THE CENSORED/NOMINAL/COUNT MODEL PART" and contains, for each of the two classes in my model:

NU(P)
KAPPA(P)
THETA(C).

None of these appears to be explicitly noted in the v.6 Mplus UG (i.e., pp. 660-663).

The KAPPA(P) appear to be regression coefficients.

If I understand the Mplus conventions correctly, NU(P) pertains to the intercept of the continuous dependent variable, which in my case is distributed as NegBin (and which is estimated and returned via the Mplus output).

So, by elimination, the THETA, which appears to usually contain the variances/covariances of the observed dependent variable (although none are estimated for the NegBin Y) must pertain to the dispersion parameter (and the "(C)" must designate the fact that it is class-specific, which is exactly how I attempted to set up my model).

Can you confirm that this is indeed the case?
 Linda K. Muthen posted on Tuesday, July 27, 2010 - 4:33 pm
I would think this is true that the dispersion parameter is in Theta given that it was in Psi in the simpler example that I ran. The matrices used for various parameters are a convenience for model estimation. Which matrix a parameter is in does not change what the parameter estimate is.
 mpduser1 posted on Wednesday, July 28, 2010 - 6:20 am
Thanks.

In my situation, I'm concerned about correctly identifying the corresponding parameter matrix since I'm interested in extracting cross-group parameter covariances.
 Linda K. Muthen posted on Wednesday, July 28, 2010 - 10:29 am
The dispersion parameters will be in Theta or Psi depending on the model.
 Scott R. Colwell posted on Thursday, December 15, 2011 - 7:33 am
Do you have an example of a Multiple Group CFA Mixture Model that combines Example 7.17 with the idea in 7.21?

Thank you.
 Linda K. Muthen posted on Thursday, December 15, 2011 - 8:29 am
No. Just add KNOWNCLASS to 7.17.
 J Owens posted on Thursday, January 03, 2013 - 4:37 pm
Dear Dr. Muthen:

I am trying to conduct a multiple group path analysis (no latent variable) with a categorical endogenous variable. When I use the CLASSES and KNOWNCLASS options with TYPE=MIXTURE (see below), I receive the following error message:
*** ERROR in VARIABLE command
Mixture analysis requires one categorical latent variable.

Is there a way to conduct the multiple group analysis with path analysis (no latent variables)?

Many thanks!

VARIABLE:
CLASSES=race (1=white 2=asian 3=black 4=hispanic);

KNOWNCLASS=race (1=white 2=asian 3=black 4=hispanic);


ANALYSIS: TYPE=MIXTURE;
 Bengt O. Muthen posted on Thursday, January 03, 2013 - 5:01 pm
You should say

CLASSES = race(4);

etc
 J Owens posted on Thursday, January 03, 2013 - 5:12 pm
Thank you! I'm sorry to clarify again, but I'm now getting the following error and I'm sure it's just something with my code, but I'm not clear on how to specify the classes (my code is below):

*** ERROR in VARIABLE command
Class membership must be specified using the same variable.
Invalid variable used in KNOWNCLASS specification: ASIAN


Thank you!

VARIABLE:
CLASSES=race (1=white 2=asian 3=black 4=hispanic);

KNOWNCLASS=race (1=white 2=asian 3=black 4=hispanic);


ANALYSIS: TYPE=MIXTURE;

MODEL:

[specify model for whites]

Model asian:

[specify model for asians]

Model black:

[specify model for blacks]

Model hispanic:

[specify model for hispanics]
 J Owens posted on Thursday, January 03, 2013 - 5:13 pm
Note: I did change to CLASSES=race(4);
 Linda K. Muthen posted on Thursday, January 03, 2013 - 6:10 pm
See Example 7.21 where the CLASSES and KNOWNCLASS option are shown. Classes names a categorical latent variable. KNOWNCLASS assigns values of an observed variable to the classes.
 J Owens posted on Friday, January 04, 2013 - 10:11 pm
Dear Dr. Muthen:

Thanks very much. I've set up the mixture model as you suggest immediately above, but I'm still receiving the following error message and am not sure how to proceed because I do in fact specify the %overall% model but for some reason it is ignored. Can you advise?

*** ERROR
The following MODEL statements are ignored:
* Statements in Class %OVERALL% of MODEL:
COLLGPA ON C#1
COLLGPA ON C#2
COLLGPA ON C#3
*** ERROR
One or more MODEL statements were ignored. Note that ON statements must
appear in the OVERALL class before they can be modified in class-specific
models.

Many thanks!
 Linda K. Muthen posted on Saturday, January 05, 2013 - 6:30 am
Please send the output and your license number to support@statmodel.com.
 Mark LaVenia posted on Wednesday, June 22, 2016 - 7:58 am
I've fit a Bayes cfa to estimate approximate invariance in factor loadings using the mixture knownclass functions. I used model constraints/new to calculate differences between groups on item thresholds, which were freely estimated. My groups are grade 1 and grade 2 students and the data are correct/incorrect-scored math items completed in common by both groups. Do I understand correctly that I can interpret the threshold group-difference as a log odds (reference: Muthen et al., 2002, Biostatistics 3(4) on general growth mixture modeling)?

If so, do I have to do anything special to get the scaling right, such as "Link IS Logit" or D(1.7)?

Gratefully yours.
 Bengt O. Muthen posted on Wednesday, June 22, 2016 - 10:24 am
With Bayes, only link=probit is available so thresholds do not translate to log odds. But you can translate the threshold difference into probability differences.
 Mark LaVenia posted on Wednesday, June 22, 2016 - 10:52 am
Thank you for your prompt reply and correction to my understanding. I apologize for the basic follow-up, but what is the formula (or Mplus constraint) for translating the threshold difference into the difference in probability?
 Bengt O. Muthen posted on Wednesday, June 22, 2016 - 5:09 pm
I would have to see your specific model to be able to answer - please send output to Support along with your license number.
 Stephanie S posted on Saturday, July 22, 2017 - 10:40 am
Dr. Muthen,
I am attempting to evaluate measurement invariance across 2 groups (gender) with ordered cateogorical indicators (items have 4 point likert scale). In one group, not all 4 points were observed. I attempted to use the (*) categorical command with the MLR estimator for type = mixture, but I get this error:
ALGORITHM=INTEGRATION is not available for multiple group analysis. Try using the KNOWNCLASS option for TYPE=MIXTURE.

I attempted to use the KNOWNCLASS option to define my groups, which required me to add a CLASSES option and that I needed at least one categorical latent variable. However, I don't have latent classes so I am unsure of how to use the CLASSES options. Here is what I have:

VARIABLE:
NAMES ARE ID gender grade bim1-bim16;
USEVARIABLES ARE gender bim1-bim16;
CATEGORICAL ARE bim1-bim16 (*);
KNOWNCLASS = gender (0 = boys 1 = girls);

MISSING ARE ALL (-99);

ANALYSIS:
TYPE = MIXTURE;
ESTIMATOR IS MLR;
ITERATIONS = 1000;
CONVERGENCE = 0.00005;
PARAMETERIZATION=THETA;

Thank you for your help.
 Bengt O. Muthen posted on Sunday, July 23, 2017 - 5:24 pm
See UG ex 5.33. The Classes = option is still needed.
 Stephanie S posted on Thursday, July 27, 2017 - 6:20 am
Dr. Muthen,
Thank you for your help. I have added the Classes and Knownclass options; however, it is now ignoring my model statements. I think it is because I have included the categorical labels for the indicators. The model runs if I have the indicators as continuous. But they are ordered categorical, so I do not trust the output.

I omitted the model statements below to shorten this message, but you can see the error messages. Thank you for your help!

VARIABLE:
NAMES ARE ID gender grade bim1-bim16;
USEVARIABLES ARE gender bim1-bim16;
CLASSES = g (2);
KNOWNCLASS = g(gender = 0 1);

MISSING ARE ALL (-99);

ANALYSIS:
TYPE = MIXTURE;
ESTIMATOR IS MLR;
ALGORITHM=INTEGRATION;

*** ERROR
The following MODEL statements are ignored:
* Statements in the OVERALL class:
[ BIM1$3 ]
[ BIM2$2 ]
[ BIM2$3 ]
[ BIM3$2 ]
[ BIM3$3 ]

*** ERROR
One or more MODEL statements were ignored. These statements may be incorrect.
 Linda K. Muthen posted on Thursday, July 27, 2017 - 6:57 am
You need to use the CATEGORICAL option to specify that the variables are categorical.
 Anna Brown posted on Thursday, April 04, 2019 - 7:57 am
Dear Dr Muthen,
I am estimating quite a simple factor model with continuous indicators across 5 groups, assuming full measurement invariance.
Is there any reason why the loglikelihood, AIC and BIC are substantially different (better) when estimating this as a multiple-group model (via GROUPING) compared to a mixture model (via KNOWNCLASS)? This worries me. I am confident that the parameter constraints are set up correctly, and the estimated parameters are very close but not identical. The KNOWNCLASS model has 4 more parameters - class intercepts.
Is this normal, or am I doing something wrong?
Many thanks,
Anna Brown
 Bengt O. Muthen posted on Thursday, April 04, 2019 - 5:37 pm
You can re-calculate BIC using 4 fewer parameters.
 Anna Brown posted on Friday, April 05, 2019 - 3:36 am
Thank you Bengt!
Back to top
Add Your Message Here
Post:
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Password:
Options: Enable HTML code in message
Automatically activate URLs in message
Action: