Dear all,
I am running a two-level logistic regression (random intercept model) in MLwiN and got basically the same results as in gllamm (stata), except the level 2 variance (the U-part) that came out zero in MLwiN (indicating no level two-variance, and hence nothing to explain?). Gllamm reported a level 2 variance of 0.235 (0.0360). In spite of this, my level 2 covariates in MLwiN came out statistical significant and substantially meaningful.
Being a new user of MLwiN, I suspect the reason to be trivial and due to my lack of experience, although I carefully specified the model in accordance with the MLwiN manual. Any ideas?
Best wishes,
Kjetil van der Wel
Zero level2 variance. Really?
Re: Zero level2 variance. Really?
One possibility is that the level 2 variance could be negative, or could need to go negative during estimation before finally emerging as positive. The default in MLwiN is that when a variance goes negative, it's reset to 0 for the next iteration. You can change this by clicking the Estimation Control button, and under 'Allow negative variances' at the right, click on the 'At level two' row. You should see the 'NO' change to a 'YES'. Sometimes though when you allow negative variances you find things just don't converge, particularly if you do it at more than one level - but fingers crossed for your case!
Re: Zero level2 variance. Really?
Many thanks Lydia,
The variance changes, but only a tiny bit. The same model (individual covariates, one level 2 covariate and a cross-level interaction term) ran in gllamm and in MLwiN still produces very different level two variances, .142(.048) and .017(.042) respctively. The coefficients, though, are fairly similar in MLwiN, gllamm and xtlogit. It's quit a mystery to me. Do the two programs calculate the variance in different ways?
Best wishes,
Kjetil van der Wel
The variance changes, but only a tiny bit. The same model (individual covariates, one level 2 covariate and a cross-level interaction term) ran in gllamm and in MLwiN still produces very different level two variances, .142(.048) and .017(.042) respctively. The coefficients, though, are fairly similar in MLwiN, gllamm and xtlogit. It's quit a mystery to me. Do the two programs calculate the variance in different ways?
Best wishes,
Kjetil van der Wel
Re: Zero level2 variance. Really?
Yes, for binary (and other discrete response) models MLwiN uses a different estimation procedure to gllamm in Stata: MLwiN uses quasi-likelihood estimation whereas gllamm uses maximum likelihood (via quadrature). Quasi-likelihood estimation is known to give results for higher level variances (level 2 and up) that are biased downwards; see this FAQ on the CMM website: http://www.cmm.bristol.ac.uk/MLwiN/tech ... entresults. For that reason, when you have a discrete response you should use IGLS estimation in MLwiN only for model exploration, and for final results you should use MCMC (which is not biased downwards). MCMC doesn't, I believe, allow negative variances, but it seems to work fine (not estimate the variance as 0) where IGLS needs the variance to go negative during the estimation process before becoming positive, so you should be ok.
Re: Zero level2 variance. Really?
I have the same problem, but allowing for negative numbers did not solve it because the model did not converge. I have a repeated measures model with time as level 1 and participant as level 2. I started with an intercept that is random at both levels, then I added age as predictor with a random slope at level 2. Finally, I added age squared with a random slope at level 2 as well. Both terms are significant and increase the model-fit, but after adding age squared the level 2 variance turns zero. The problem does only occur when age squared has a random slope at level 2 and not if it has a fixed effect. Does somebody know what I should do?
Re: Zero level2 variance. Really?
btw, I centered both age terms around their minimum. when doing this there is zero intercept variance at level 2. I just tried what happens when I center around the grand mean: suddenly there is level 2 and level 1 intercept variance, but the slope variances turn zero. It's a mystery to me.