Random effects discrete time logit su... PreviousNext
Mplus Discussion > Categorical Data Modeling >
 jsandber posted on Thursday, May 03, 2001 - 6:34 pm
Hi; I'm contemplating running a model as in the subject line, with either a latent class or other latent variable as the random effect(s) to capture heterogeneity. I was wondering if this was possible with Mplus, using a mixture of categorical and continuously measured covariates (this won't work with Jeroen Vermunt's LEM). I don't know how it would work, just hoping. Also, if estimating such a model is possible, is the user manual available for download so I can research how in more detail?
 Bengt O. Muthen posted on Friday, May 04, 2001 - 9:52 am
Yes, you can use Mplus Version 2 to do discrete-time survival analysis with a combination of categorical and continuous covariates. You can use a latent class variable to capture heterogeneity, while random effects (continuous latent variables) are not available in survival analysis with the current Mplus. The User's Guide has an example that shows how to do this. The User's Guide is not available for download. There is a forthcoming paper by Muthen & Masyn on this topic that I'd be happy to send as soon as I put the finishing touches on it.
 jsandber posted on Friday, May 04, 2001 - 8:16 pm
Thanks so much for your response. The latent class approach is what I prefered anyway so this would be ideal. I would definitely like a copy of the paper when it's ready. Thanks again
Jack Sandberg
 Anonymous posted on Saturday, October 27, 2001 - 3:58 am
do you mean the discrete-time survival analysis is not available in version 1?
 Linda K. Muthen posted on Saturday, October 27, 2001 - 8:54 am
Yes. It requires TYPE=MIXTURE MISSING and MISSING was not available for mixture models in Version 1.
 David Bard posted on Sunday, June 18, 2006 - 2:22 am
I have a question related to identification of single-class discrete-time survival analyses. I was playing around with the examples in the manual using trial and error proof of principle to determine identification for various frailty specifications. I was a little confused and amazed that when I estimated an unstructured DTSA (i.e., unique thresholds for each DT variable) without covariates, estimation of a latent variance term appeared to be identified (provided I used threshold starting values that were correctly ordered and of reasonable magnitude). I should mention that while a replicable error variance did converge during estimation of this particular model, it was small and nonsignificant. However, my initial expectation was that the model would not converge at all. I've run some quick simulations and discovered this result is contingent on the presence of left censoring. Is this estimation of latent heterogeneity meaningful in this case or simply an artifact of the left censoring?

In a related question/concern, when left censoring occurs, the Pearson and Likelihood Chi-square values do not equal 0 when estimating the unstructured DTSA without covariates nor latent heterogeneity specified. Are these chi-square values interpretable/meaningful in this situation or should they be adjusted for this type of censoring?

Thank you.
 Linda K. Muthen posted on Monday, June 19, 2006 - 8:07 am
I don't know the answer to this question. I will try to find the answer and post it if I do.
 kanako ishida posted on Wednesday, October 15, 2008 - 10:47 am
I would like to do something very similar to example 3.9 random coefficient regression. Only difference is that Y is binary. But the s with y part doesn't work because they have to be continuous. Is a similar model with binary outcome possible?


Kanako Ishida
 Linda K. Muthen posted on Wednesday, October 15, 2008 - 4:33 pm
Yes, this is possible. See the partial input below that uses Example 3.5:

MODEL: s | u1 ON x1 ;
f BY s@1 u1*; f@1; [f@0];
u1 s ON x3;

The residual covariance between s and u1 is specified using the BY option.
 kanako ishida posted on Thursday, October 16, 2008 - 8:27 am
Thank you, Linda.

I ran the model, but the integration points are 200, it gave me a fatal error message due to memory shortage.

On p.386, it says that integration points of 15 are already very heavy, so unfortunately, it seems that this model is not possible to run. I tried 1. "integration=montecarlo," 2. ignore the complex design of my survey data, 3. considerably reduce the sample size (I have 300,000 observations), and 4. reduce the number of variables to 3 as in the example, just to see if the model works, but none jointly or individually worked.

Is there anything else I can do?
 Linda K. Muthen posted on Thursday, October 16, 2008 - 8:40 am
Please send your input, data, output, and license number to support@statmodel.com. I would have to see exactly what you are doing to comment further.
 kanako ishida posted on Wednesday, October 22, 2008 - 11:52 am
I know that 1 and 2 work individually, but 3, which is the combination of 1 and 2 doesn't work. I am not sure if I did wrong, or it is not possible to do it in mplus.

1. introduce random slope for x1 and residual covariance.
s1 | u1 ON x1;
f BY s@1 u1*; f@1;[f@0];
u1 ON x2 x3 z1 z2;
s1 ON x3 z1;

2. introduce random slope for X3 and two-level structure
WITHIN are x2 x3 x1;
u1 ON x1 x2;
s2 | u1 ON x3;
u1 ON z1;
s2 on z2;

3. 1&2
s1 | u1 on x1;
f by s1@1 u1*;f@1;[f@0];
u1 ON x2 x3;
s1 ON x3;
s2 | u1 on x3;
u1 ON z1;
s1 ON z1;
s2 ON z2;

Except X1 and Z2, all variables are dichotomous.

The error messages that I get from 3 are;
1.u1 is a within-level variable and cannot be used on the between level variables. 2.s1 is a between-level variable and cannot be used on the within-level variables. 3.The regression of u1 on X3 cannot be estimated because it defines random effect s2.

 Bengt O. Muthen posted on Wednesday, October 22, 2008 - 12:14 pm
1. This should not happen unless u1 is on the within = list.

2. A random slope can vary on both within and between if you use the * approach described in the V5 UG in the random slope section of chapter 16 on pages 548-549.

3. You cannot define a regression coefficient both as random and as fixed.
 Diego Carrasco posted on Tuesday, February 11, 2020 - 4:23 pm
Hi, I'm trying to fit a discrete time survival model, and want to separate person variance from cluster variance. I assume this can be done with a cross classified model.

The example data I have are students nested in schools, recording school changes. The event, is leaving education altogether. Thus, the events variables are cross classified on person and schools.

Do you have any pointers regarding how this model could be setup? I'm assuming this problem could be similar to an IRT model with cross classification. Let me know if you have any suggestions.
 Tihomir Asparouhov posted on Wednesday, February 12, 2020 - 8:35 am
If I am understanding the description correctly, this should be a two-level discrete time survival. The person variance is on the within level and the school variance is on the between level. You can see how to setup discrete time survival in User's Guide example 6.19 but you will need to convert that into a two-level example.
 Diego Carrasco posted on Wednesday, February 12, 2020 - 9:31 am
Hi Tihomir,

Many thanks for your response. Originally, my data has de following structure.

i j e t
1 1 0 1
1 1 0 2
1 2 0 3
1 2 1 4
1 2 . 5
2 2 0 1
2 2 0 2
2 2 1 3
2 2 . 4
2 2 . 5

Where i denotes subjects, j denotes schools, e denotes event, and t denotes time.

I think these two source of variance, subjects and schools could be tease out as in random LLTM models as in De Boeck (2008). Using lme4 in R would be similar to this:

glmer(response ~ -1 + (1 | person) + (1 | item), family = binomial, data = data_frame)

Do you think the following MPLUS code express a similar model?




%BETWEEN id_i%

%BETWEEN id_j%
 Tihomir Asparouhov posted on Wednesday, February 12, 2020 - 10:13 am
I see what you mean. I don't think this is a viable model because this will not be identified

%BETWEEN id_i%

You can see in 6.19 that the variance is not identified (you basically don't have enough information from the event data 0 0 0 1 to build subject specific frailty, you need at least two survival variables, see for example http://www.statmodel.com/bmuthen/articles/Article_108.pdf )

But the main problem I think is still the fact that the basehazard model is independent of T. I don't think you want to have that. Like in discrete time survival you would want to have 5 thresholds - not one. So I would recommend using wide modeling like in 6.19

I think it will have to go to two-level models and you can still accommodate the cross classification but you will have to change the records that appear in two schools like this

1 1 0 1
1 1 0 2
1 2 0 3
1 2 1 4
1 2 . 5

would go to

u1 u2 u3 u4 u5 school

0 0 . . . 1
. . 0 1 . 2

and then but the model 6.19 (with free variance) on the between level.
 Diego Carrasco posted on Wednesday, February 12, 2020 - 10:24 am
I'll try that! Many thanks Tihomir!
Back to top
Add Your Message Here
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Options: Enable HTML code in message
Automatically activate URLs in message