Mixture CFA (ordinal indicators): Mod... PreviousNext
Mplus Discussion > Latent Variable Mixture Modeling >
Message/Author
 Guido Biele posted on Tuesday, January 28, 2014 - 12:22 pm
Hello,
I am running Mixture CFA models and seem to get non-sensical results.
Each model has 18 ordinal indicator variables:
- 9 for lV A
- 5 for lV B
- 4 for lV C
The 11 different models allow 2-12 latent classes.
Pairwise model comparisons between all models, with the difftest for MLR, result mostly in p=0, with exception of comparisons with one model, where the result is always p=1, I guess due to a high LLCorrectionFactor.

My questions:
1) What could cause this problem?
2) Could my large sample size (over 10000) be the reason that ever more groups lead to ever lower BICs?
3) Which alternative estimator to MLR would you recommend? Could I use Bayes?

Below are key model statistics and an exemplary model.

Regards - Guido Biele


# Parms LL LLCorrectionFactor BIC
1 116 -146530.0 1.69 294150.2
2 112 -146802.2 1.71 294657.0
3 108 -147054.7 1.58 295124.3
4 104 -147382.9 1.69 295743.3
5 100 -147748.5 1.83 296436.8
6 96 -148275.5 2.12 297453.3
7 92 -148928.0 1.41 298720.6
...


VARIABLE:
CATEGORICAL = Att1-Att9 Hyp1-Hyp9;
CLASSES = c(2)
ANALYSIS:
TYPE = MIXTURE;
MODEL:
%OVERALL%
ATT BY Att1-Att9;
HYP BY Hyp1-Hyp5;
IMP BY Hyp6-Hyp9;
%c#1%
[ATT*1 HYP*1 IMP*1];
%c#2%
[ATT*1 HYP*1 IMP*1];
 Bengt O. Muthen posted on Tuesday, January 28, 2014 - 1:59 pm
It sounds like you are doing chi-square difference testing comparing models with different number of latent classes. As the Nylund et al article points out, this is an incorrect use of chi-square.

I am not sure how to read your table

# Parms LL LLCorrectionFactor BIC
1 116 -146530.0 1.69 294150.2
2 112 -146802.2 1.71 294657.0
3 108 -147054.7 1.58 295124.3
4 104 -147382.9 1.69 295743.3
5 100 -147748.5 1.83 296436.8
6 96 -148275.5 2.12 297453.3
7 92 -148928.0 1.41 298720.6
...

What does the 1-7 in your first column refer to - going from a high to a low number of classes? Typically when BIC keeps improving but never showing an optimum the model type is not quite right for the data. For example, your model assumes that the intercepts of the factor indicators are invariant across classes. You can instead fix all factor means to zero and let all intercepts be free. That makes for a more complex model but it may fit much better.
 Guido Biele posted on Wednesday, January 29, 2014 - 3:09 pm
Thanks for the quick response Bengt!

(The column # in the table can be ignored, it is an arbitrary ID used to distinguish models with different number of latent classes).


I tried to implement your suggestion to fix factor means to zero and to let (indicator) intercepts free. however, I seem to be using the wrong syntax and can't figure out what is wrong with this:

MODEL:
%OVERALL%
ATT BY Att1-Att9;
HYP BY Hyp1-Hyp5;
IMP BY Hyp6-Hyp9;
%c#1%
[ATT@0 HYP@0 IMP@0];
[Att1-Hyp9*];
%c#2%
[ATT@0 HYP@0 IMP@0];
[Att1-Hyp9*];

which results in the error message:
The following MODEL statements are ignored:
* Statements in Class 1:
[ ATT1 ]
[ ATT2 ]
[ ATT3 ]
...

1) Can you tell me what's wrong with the following syntax and/or where i could find helpful examples?*
2) Would the model as you describe it insure that the factor loadings are still consistent across groups?

Thanks in advance!
Guido

*(I looked in chapters 5 & 7 of the userguide, but could not use the info there to get the model right)
 Bengt O. Muthen posted on Wednesday, January 29, 2014 - 5:29 pm
Perhaps your items are categorical in wnich case you should say [att1$1] etc.

This model setup makes the factor loadings invariant across groups. This is often good enough.
 Guido Biele posted on Thursday, February 13, 2014 - 11:29 am
Thanks Bengt!

Fixing latent means to 0 and freeing indicator intercepts helped. Comparing BICs now allows me identifying a model with a reasonable number of latent classes.

So here are my hopefully 2 last questions:
1) Is there a way that I can draw class profiles on the level of the latent variables from a mixture CFA with consistent factor loadings, latent means fixed to 0, and freed indicator intercepts?*
2) Should I be able to implement the same analysis as a Bayesian analysis?

Thanks in advance!
Guido


* I thought about using the thresholds to calculate class means or medians of my (ordered ordinal) indicators and then using the factor loadings to calculate average profiles for the classes. However, a colleague told me that the model I have set up implies violation of scale invariance, and that I could thus not compute class-wise means of the latent variables that can be compared.
 Bengt O. Muthen posted on Friday, February 14, 2014 - 4:43 pm
The issue with the free intercepts model is that you don't have measurement invariance for the factor across the classes. So factor levels cannot be compared across classes - if that is what you are asking.

Bayes analysis is more difficult with mixtures given its label switching issue.
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: