Logistic growth curve model problem

Welcome to the forum for runmlwin users. Feel free to post your question about runmlwin here. The Centre for Multilevel Modelling take no responsibility for the accuracy of these posts, we are unable to monitor them closely. Do go ahead and post your question and thank you in advance if you find the time to post any answers!

Go to runmlwin: Running MLwiN from within Stata >> http://www.bristol.ac.uk/cmm/software/runmlwin/
Post Reply
Eagg1986
Posts: 14
Joined: Fri Apr 05, 2013 3:24 pm

Logistic growth curve model problem

Post by Eagg1986 »

Hi there,
I am trying to run a three-level logistic growth curve model. For some reason this works fine for one outcome (health_bin) but not for another (Kess_bin)

Using the following syntax I obtain the following model output for binary-self-rated health:

runmlwin health_bin cons E_D E_E W_A W_D S_A S_D NI_A NI_D hiinc_lowocc hiocc_lowinc gm_age, level3(mcsid: cons) level2(urn: cons gm_age) level1(time) discrete(distribution(binomial) link(logit) denominator(cons)) nopause
Binary health.docx
(295.5 KiB) Downloaded 587 times

However if I specify the same model using binary Kessler scores then the slope variance and covariance are both estimated as zero:

runmlwin Kess_bin cons E_D E_E W_A W_D S_A S_D NI_A NI_D hiinc_lowocc hiocc_lowinc gm_age, level3(mcsid: cons) level2(urn: cons gm_age) level1(time) discrete(distribution(binomial) link(logit) denominator(cons)) nopause
Binary Kess.docx
(297.72 KiB) Downloaded 614 times

I'm really struggling to see why this would be the case and wondered if you could offer any possible explanations?

Many thanks,
Elisabeth
StuRussell
Posts: 2
Joined: Wed Aug 19, 2015 2:20 pm

Re: Logistic growth curve model problem

Post by StuRussell »

Hi Elisabeth,

I'm certainly no expert here, but you could try using pql2 instead. Either way, you should probably follow each model by an MCMC run using the initsprevious option. e.g.

runmlwin Kess_bin cons E_D E_E W_A W_D S_A S_D NI_A NI_D hiinc_lowocc hiocc_lowinc gm_age, level3(mcsid: cons) level2(urn: cons gm_age) level1(time) discrete(distribution(binomial) link(logit) denominator(cons) pql2) nopause

Then

runmlwin Kess_bin cons E_D E_E W_A W_D S_A S_D NI_A NI_D hiinc_lowocc hiocc_lowinc gm_age, level3(mcsid: cons) level2(urn: cons gm_age) level1(time) discrete(distribution(binomial) link(logit) denominator(cons)) mcmc(orthogonal) initsprevious nopause

Good luck!

Stuart
GeorgeLeckie
Site Admin
Posts: 432
Joined: Fri Apr 01, 2011 2:14 pm

Re: Logistic growth curve model problem

Post by GeorgeLeckie »

Hi Elisabeth,

MQL1 estimates of variance components are biased downwards and this bias can be strong when there is severe clustering, as for example with repeated measures data which is what you have. This might be one reason why your slope variance is stuck on zero. So moving to PQL2 and especially MCMC may well help as Stuart suggests.

However, more fundamentally, while for some individuals you have 3 measurements, on average you only have 2 measurements per individual. You are trying to fit a random-intercept variance, a random-slope variance and their covariance. This is very demanding even if you had continuous response data (which carry more information), but you have binary data, and repeated measures binary data at that. In some ways it is more surprising that your first model "worked", than your second model "not working"! I would be inclined to stick with a random-intercept model for these data, or only put the random slope in at level-3 (if that makes substantive sense), as I don't think you really have enough data to be able to estimate random-slopes at the individual level.

Best wishes

George
Post Reply