I have a 3-level nested dataset where level-1 is time (Year), level-2 is patient, and level-3 is physician. I am interested in comparing thresholds and factor loadings across two groups with respect to the dependent variable.
Is it possible to do Multi-Level Multi-Group Path Analysis in Mplus?
Thanks. I tried to run the following code, but I got the error message saying, "Grouping label has no corresponding value: PRACTICE". The grouping label has two values: FAMILY PRACTICE, and GENERAL INTERNAL MEDICINE. I am not sure why I am getting this error?
DATA: FILE IS ...; DATA LONGTOWIDE: LONG = BP; WIDE = BP1-BP5; IDVARIABLE = Patient_Key; REPITITION = Year;
NAMES = Patient_Key Year Provider_Key Phy_Prim_BA Female AsianPI Black NHW Latino Othrace Age DM BP;
USEVAR = Patient_Key Year Provider_Key Phy_Prim_BA Female AsianPI Black NHW Latino Age DM BP1-BP5;
GROUPING = Phy_Prim_BA (1 = FAMILY PRACTICE 2 = GENERAL INTERNAL MEDICINE);
I am trying to run three versions of Multi-Level Multi-Group Model. Model 1A is the unrestrictive model where I am estimating all the model parameters. Model 1B is the same as Model 1A, except that the between-level slope factor variance and covariance is fixed to zero. Model 1C adds one additional restriction by fixing the residual variance to zero. All three models ran successfully. However, I noticed that as I add constraints to the model, df should goes *up* rather than going down, that is:
1A: df = 16 1B: df = 14 1C: df = 9
The chi-square difference between the first two models, IA and IB is:
-2lnL0 + 2lnL1
...where "0" refers to the more constrained model. For models 1A and 1B,
You don't give enough information to answer the question. Please send the three outputs and your license number to email@example.com.
Nidhi Kohli posted on Thursday, November 10, 2011 - 12:18 pm
My apologies for not giving more information. I am trying to fit three different versions (basically, minor differences in constraints) of a Multi-Group Multi-Level Growth Model on 3-level nested dataset where level-1 is time (Year), level-2 is patient, and level-3 is physician. I am interested in comparing thresholds and factor loadings across two groups with respect to the dependent variable.
The log-likelihood keeps going up as I add constraints to the model when in fact the opposite should happen. I want to understand why this is happening? Thanks.
I am trying to fit a multi-level growth mixture model with known classes. The best log-likelihood for the model replicated 4 times so it seems that the model is converging well. However, I am getting the following error message:
THE STANDARD ERRORS OF THE MODEL PARAMETER ESTIMATES MAY NOT BE TRUSTWORTHY FOR SOME PARAMETERS DUE TO A NON-POSITIVE DEFINITE FIRST-ORDER DERIVATIVE PRODUCT MATRIX. THIS MAY BE DUE TO THE STARTING VALUES BUT MAY ALSO BE AN INDICATION OF MODEL NONIDENTIFICATION. THE CONDITION NUMBER IS -0.419D-21. PROBLEM INVOLVING PARAMETER 23.
ONE OR MORE PARAMETERS WERE FIXED TO AVOID SINGULARITY OF THE INFORMATION MATRIX. THE SINGULARITY IS MOST LIKELY BECAUSE THE MODEL IS NOT IDENTIFIED, OR BECAUSE OF EMPTY CELLS IN THE JOINT DISTRIBUTION OF THE CATEGORICAL VARIABLES IN THE MODEL. THE FOLLOWING PARAMETERS WERE FIXED: 24
Can you please tell me what these error messages mean and what can I do to fix these errors?
Hello, I am running a multilevel multigroup analyses with known groups (observations nested within individuals). My main question involves group differences in the within-level part. However, I am also in testing group differences in the between-level too. The model runs fine when the dependent variables are continuous (using grouping option). However, when I add a dependent variable that is binary, I am asked to use knownclass and mixture modeling. I managed to fit the model at the within-person and get group-specific estimates. However, it doesn't see possible to get group specific estimates at the between-level. The output produces estimates that are identical for both groups. I tried specifying 2 "latent" classes at the between-level. But, while the within-level solution is similar to the solution of the model with one between-level group and while I also get group-specific estimates at the between-level, the model takes a long time to converge and there seems to be more patterns than I expect. It would be immensely helpful to learn how to run a multigroup model with binary and continuous outcomes. IS there any example I could follow? I read Henry & Muthen paper, but still couldn't figure out how to get a proper solution. Many thanks in advance for your reply!
Asparouhov & Muthen (2012). Multiple group multilevel analysis. Web note 16.
which you find through our home page (see Latest News).
If that doesn't help, send to Support.
Fritz posted on Wednesday, March 20, 2013 - 8:59 am
I'm working on the question if instructors' feedback has differential effects on male and female trainees' performance at T2 controlling for performance at T1 and IQ. Since every instructor has male and female trainees, I have a group variable at level 1, which cannot be tested too easy as I understood. I tried the following workaround:
within = IQ t1perf; between = feedb; cluster is instr; classes = c(2); knownclass = c(sex=0 sex=1);
model: %within% %overall% t2perf on IQ t1perf; %between% %overall% t2perf on feedb; %between% %c#1% t2perf on feedb; %c#2% t2perf on feedb;
This model works and the results seem to corroborate my hypotheses. However, I've just seen the new web note 16 and the models presented there look quite different. Thus, I was wondering if my model is appropriate or just wrong? Any advice is appreciated. Thanks in advance!
Fritz posted on Wednesday, March 20, 2013 - 9:05 am
Just to clarify: Feedback is an overall feedback for the whole group of trainees and as such it is a indeed a between variable. Sorry!
For multiple group analysis when the grouping variable is not a between variable, you need to use the approach given in Web Note 16.
Fritz posted on Thursday, March 21, 2013 - 1:53 am
thank you. Actually, I find the Web note quite hard to understand since I'm not a statistician. And - as far as I've seen it, there is no example including predictors at the between level. So, maybe you can give me a hint, which of the many models presented in the Web note is a good starting point. And two additional questions: Is there any applied example (like a full paper) for the models presented in the Web note? And would it be possible to explain, what exactly was wrong about my approach? Thanks again!
The reason you can't use a within-level variable are a grouping variable is because the groups are not independent. They consist of members of the same cluster, for example, males and females from the same cluster are in different groups.
I know that this was not possible with the "grouping" command. That is why I tried a workaround treating males and females as classes as presented in my syntax. As I wrote, the presented model worked fine and thus, I was (and still am) wondering what was wrong about the idea of using the "knownclass" option.
Anyway, I'm going to read the Web note in more detail and hope to comprehend what is presented there and to adapt it to my research.
In addition to using the mixture knownclass feature, you need to include the ksi_jg of equation (13) in your model to properly account for correlation among subjects within a class/group that can be different across classes/groups. Here, the subscript "j" refers to cluster j.
Fritz posted on Thursday, April 04, 2013 - 9:38 am
Dear Bengt and Linda,
thanks for your patience and the great support the Mplus team provides. I read the Web Note again and learned from the text and your comments that I have to account for the dependency between members from different groups in one cluster. However, I'm afraid that I'm still not sure how to implement this in my syntax.
The zero correlation is not a problem. This is in factor Model H3 discussed at the bottom of page 10 and on page 11 in Web Note 16. Just report it, saying that the contributions from the clusters are uncorrelated for the two groups. See discussion on page 11. This shows that we need not have worried.
Fritz posted on Wednesday, April 10, 2013 - 1:30 am
I have one final question: The results in my model provide a significant relation for 't2perf on feedb;' for males but not for females. Should I test if these parameters differ? And if so, would the Wald test as provided in the 'model test' option be appropriate? I Understood that something is difficult about the loglikelihoods from your Web Note. Thanks again!
Dear Linda, dear Bengt, I'm interessted in testing a pathmodel. My data consits of employees nested within supervisors. However, my model is on the WITHIN-Level only (no BETWEEN-Level-Predictors included). I was hoping to simply adjust the standard errors using "TYPE=Complex", however my grouping-variable is on the WITHIN-Level, too. When reading about it, I found out that this might be an issue. I guess I can't simply use "Type=COMPLEX" in combination with the SUBPOPULATION command but need to apply your approach outlined in webnote 16? Thank you for your help!
Sanne Smith posted on Thursday, October 31, 2013 - 2:11 am
Dear Linda, Bengt and/or Tihomir,
With the help of web note 16 I can model a multiple group multilevel analysis where the grouping variable is on the within-level and where y is an observed variable.
I have some trouble, however, to replicate this when the dependent variable is a latent variable and I did not find an example in the webnote. Should I just make my latent variable an observed variable or is there another way?
It should work the same with a latent variable. Send the files you have created and your license number to firstname.lastname@example.org.
Anonymous posted on Wednesday, December 04, 2013 - 7:33 pm
Dear Linda, dear Bengt, I unterstand that for running a multilevel multigroup analysis I should use the models from webnote 16.
For models with a within-level group-variable: Is it basically possible to model random slopes predicted by between-level variables? I want (1) to model random slopes that are allowed to vary between the groups and (2) the impact of the level-2 predictor on the random slopes should be allowed to vary between the groups.
It is possible. Your starting point would be Appendix E, model H1. Try this first with random intercept.
Anonymous posted on Thursday, December 05, 2013 - 3:17 pm
Thank you, Tihomir!
Just to understand appendix E correctly: (1) Why did you set the starting values? (2) How do I know the exact value to set my starting values? (3) And why did you put several parameters in brackets, what does this exactly mean? Didn't brackets mean that the parameters would be estimated with the default starting values? So why use brackes + set the starting values by myself?
I am a novice in MLM and I still do not fully understand the logic of this.
And just to make sure I got it right: I have to define an overall-model that applies to the whole data set. Additionally I have to define the models for my subgroups (like %c#1% and %c#2%) for the part of the overall-model in which the specific subgroup differs from the overall-model. So, if I assume that the two subgroups vary in several parameters from each other + from the whole data set, I have to define group-specific models for both of them. (4) When would I only define a group-specific model for one of my subgroups? Does this mean this subgroup varies from the other + from the overall-model, but the model for second subgroup is identical with the overall-model?
(1-2) you don't need starting values. (3)  parameters are mean parameters, for example
is the mean of y in class 1.
Also H1 is the most advanced model. Consider all the models H1-H7 - some of these are simpler to understand. In fact support for H1 requires good amount of data. You have to also understand the difference between
- subgroups vary in several parameters
v.s. the more advanced concept of
- subgroups vary in random effects (not just the parameters)
(4) Mplus has certain defaults about how the overall impacts the group specific parameters. If you are unsure about what those defaults are it is best to specify the entire model for each class and specify all the parameters and if you want them to be different or equal across the groups. If you are unsure what to put as your overall model, just copy the model from class 1 in the overall section. Also familiarize yourself with OUTPUT:TECH1; option which gives complete details on which parameters are estimated etc and if the aye equal across group or not.
Anonymous posted on Monday, December 09, 2013 - 4:00 pm
Thank you very much, Tihomir!
One further question: When I run a model similar to your H1-model but with fixed slopes, using the KNOWNCLASS-option (I have 2 groups with CVARIABLE = 0, 1): Why does Mplus give me this in the output:
Means CVARIABLE#1 -0.162 0.019 -8.403 0.000 __________
Doesn't this suggest that the latent class variable is estimated (by default?), although I sepcified a KNOWNCLASS variable?
Thanks again for your help!
Anonymous posted on Monday, December 09, 2013 - 4:02 pm