There are 3000 clusters, within each cluster there are 10 subjects . Each subject has a depent variable measured 0 or 1, and each subject has no covariate.
I want to use two level mixture model to analysis this data. The reason is the observed data are grouped into 2 classes. Class one has mean -3 and variance approximately 0; and the second class has mean 0 and variance approcimately 4.Approximately 37.7% subjects are in class 1. The problem is the model never converge. Could someone tells me whether there is mistakes in my program. Thanks. my email email@example.com
I use the following code. Title: Mixture model for breast cancer project-race by age specific poverty two-level logistic regression
Data: !file is C:\xli28\project1\EB\mplus for EB\EB6ageg.dat; file is C:\xli28\project1\EB\sim_age3.dat; !file is F:\xue new\sim_age3.dat; variable: names are ncluster povind int; usevariables are povind; missing are . ; classes = c (2); categorical=povind; cluster=ncluster; analysis: type =twolevel random mixture; algorithm=integration; estimator=ML; integration=GAUSSHERMITE(15); adaptive=on;
Hi, the error message is as follows. Since the data set is created by simulation. The starting value will be plausible. I can't figure out the reason.
Unperturbed starting value run did not converge.
THE ESTIMATED WITHIN COVARIANCE MATRIX IN CLASS 1 COULD NOT BE INVERTED. COMPUTATION COULD NOT BE COMPLETED IN ITERATION 1. CHANGE YOUR MODEL AND/OR STARTING VALUES.
THE ESTIMATED WITHIN COVARIANCE MATRIX IN CLASS 0 COULD NOT BE INVERTED. COMPUTATION COULD NOT BE COMPLETED IN ITERATION 1. CHANGE YOUR MODEL AND/OR STARTING VALUES.
SERIOUS PROBLEM IN THE OPTIMIZATION WHEN COMPUTING THE POSTERIOR DISTRIBUTION. CHANGE YOUR MODEL AND/OR STARTING VALUES. THE LOGLIKELIHOOD DECREASED IN THE LAST EM ITERATION. CHANGE YOUR MODEL, STARTING VALUES AND/OR THE NUMBER OF INTEGRATION POINTS.
THE MODEL ESTIMATION DID NOT TERMINATE NORMALLY DUE TO AN ERROR IN THE COMPUTATION. CHANGE YOUR MODEL AND/OR STARTING VALUES.
I'm running a mixture twolevel model in mplus. However, I would like to define the latent class variable as a between level variable. In other words, I would like to classify 'clusters' (in the mplus multilevel language). How can I do this?
I tried including the statement BETWEEN = c; but it looks as if this statement is being ignored.
The reason why I want to classify at the between level is that my respondents are situated at this level; the within level has 18 ratings of different experimental scenario's by each respondent. I'm not interested in segmenting at this level (because I would probably end up with 18 classes corresponding to the 18 ratings), but at the respondent level. In the previous discussion I found the following statement - has this been implemented? "In future Mplus versions, we will also have a latent class variable varying on the between level. That would be a school-level variable, classifying different schools."
I was wrong. "between=c" is not being ignored, but I misinterpreted the output: it lists the class counts in terms of level 1 (the within level), but I now see that observations from the same cluster are indeed assigned to the same class. Thanks.
M.Heidari posted on Thursday, July 21, 2016 - 9:50 pm
Hi, Is it possible to run multilevel mixture factor models in Mplus? Is it related to example 10.4 & 10.5?
Ryan Marek posted on Friday, August 26, 2016 - 11:12 am
I'm working with some behavioral weight loss data. We have two variables: percent weight loss and a date variable (converted to number of days since starting treatment). We have more data (i.e., baseline lab results, psychosocial measures, etc., that are being entered). We're curious to see at this point if the longitudinal weight loss curves can be clustered into a subset of classes (such as weight losers, weight plateauers, etc.). Because the data were not collected in discrete time intervals, I thought multilevel modeling was the best approach to use. I found a 3 class solution to fit the data best. I wanted to read these classes out to place in our database; however, it appears individuals are being placed in different classes at different time points. For example, case 508 shows that they were classified in class 3 on day 0, but class 2 by day 36. Any idea what may be wrong?
TITLE: LCA for Weight Loss Trajectories; DATA: File is wtloss.dat; VARIABLE: names are caseid wt pwl days;
Usevar = pwl days; Classes = c (3); Cluster = caseid; within = days; missing are all (-999);
I think you want classes of subjects where in this case subjects is level 2. This means that the latent class variable should be put on the Between list. See UG for between-level latent class examples.
Linda Lin posted on Monday, November 14, 2016 - 10:02 am
I'm running a mixture twolevel model in mplus. I tried to let the between level model to be different across classes. However, it seems like the Mplus does not allowed between level parameter to be different across classes. Here is the code and the error message I got:
Model: %within% %Overall% M_w by M1-M8; SS_w by SS1-SS4; M_w (fw); M_w on SS_w; [M_w ]; SS_w; [SS_w];
*** ERROR in MODEL command Parameters involving between-level variables are not allowed to vary across classes. Parameter: M_B ON SS_B *** ERROR in MODEL command Variances of between-level variables are not allowed to vary across classes. Variance of between-level variable: M_B
Does Mplus allow me to fit two different between level models for two different groups?
If the latent class variable is a within level variable it is illogical to expect that it affects these coefficients. It has to be a between level variable. If so that has to be specified in the input. See user's guide example 10.2.