Page 1 of 1

Logistic growth curve model problem

Posted: Mon Aug 10, 2015 12:02 pm
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

Re: Logistic growth curve model problem

Posted: Wed Aug 19, 2015 5:15 pm
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

Re: Logistic growth curve model problem

Posted: Thu Aug 20, 2015 1:02 pm
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