Hi,
We're not sure why you are getting this message. We also get these messages when using mi estimate to fit a twolevel continuous response model to five imputed datasets.
"number of groups varies among imputations" suggests that the number of level2 units varies across the imputed datasets, but we have checked in our example and this is not the case.
"number of observations per group varies among imputations" suggest that the number of level1 units per level2 unit variances across the imputed datasets, but this is also not the case.
I think all you can do is to test out mi estimate with a simpler model which you can fit using both mixed and runmlwin. If you get the same combined results, then I think you can safely ignore the error message. In which case you can proceed to use mi estimate with runmlwin to fit the actual more complex model of interest which can't be fitted using mixed.
I hope that helps
George
Best wishes
George
3 level multilevel data, multiple imputation, stata, runmlwi

 Site Admin
 Posts: 430
 Joined: Fri Apr 01, 2011 2:14 pm
Re: 3 level multilevel data, multiple imputation, stata, run
I tried to use mi est with both xtmixed and runmlwin to fit an unconditional model, but the results are very different for the random part. See below.
Code: Select all
mi est: xtmixed POST PRE_all:R.PIDSCHID:,mle var
Multipleimputation estimates Imputations = 5
Mixedeffects ML regression Number of obs = 3340

 No. of Observations per Group
Group Variable  Groups Minimum Average Maximum
+
_all  1 3340 3340.0 3340
SCHID  995 1 3.4 42

Average RVI = 0.0094
Largest FMI = 0.0421
DF adjustment: Large sample DF: min = 2347.85
avg = 1.31e+07
max = 5.21e+07
Model F test: Equal FMI F( 1, 5.2e+07) = 520.26
Prob > F = 0.0000

POST  Coef. Std. Err. t P>t [95% Conf. Interval]
+
PRE  .2491975 .0109253 22.81 0.000 .2277842 .2706107
_cons  .2916921 .0198699 14.68 0.000 .2527277 .3306565


Randomeffects Parameters  Estimate Std. Err. [95% Conf. Interval]
+
_all: Identity 
sd(R.PID)  .1457662 .0189869 .1129231 .1881615
+
SCHID: Identity 
sd(_cons)  .1165825 .0150739 .0904846 .1502077
+
sd(Residual)  .5065082 .0067258 .4934958 .5198636

Code: Select all
runmlwin POST cons PRE, level3(SCHID: cons) level2(PID: cons) level1(TID: cons) nopause mlwinpath(C:\mlwin.exe)
estimates store m1igls
mi est,cmdok:runmlwin POST cons PRE, level3(SCHID: cons) level2(PID: cons) level1(TID: cons) mcmc(cc) initsmodel(m1igls) nopause mlwinpath(C:\mlwin.exe)
Multipleimputation estimates Imputations = 5
Normal response model Number of obs = 3340
Average RVI = 0.0098
Largest FMI = 0.0442
DF adjustment: Large sample DF: min = 2132.40
avg = 1.41e+07
max = 5.62e+07

 Coef. Std. Err. t P>t [95% Conf. Interval]
+
FP1 
cons  .2903538 .0194282 14.94 0.000 .2522536 .328454
PREELNCO  .2494761 .0110894 22.50 0.000 .2277413 .2712109
+
RP3 
var(cons)  .0134291 .0035455 3.79 0.000 .0064801 .020378
+
RP2 
var(cons)  .022174 .005766 3.85 0.000 .0108729 .0334751
+
RP1 
var(cons)  .2571338 .0069217 37.15 0.000 .2435675 .2707

Note: number of groups varies among imputations.
Note: number of observations per group varies among imputations.

 Site Admin
 Posts: 430
 Joined: Fri Apr 01, 2011 2:14 pm
Re: 3 level multilevel data, multiple imputation, stata, run
Hi,
That's mainly because you are comparing estimated standard deviations (fitted using xtmixed) to estimated variances (runmlwin). If you compare the estimated variances from the two commands they are effectively the same.
There will always be small differences between your two models as you are fitting your xtmixed model my ML, while you are fitting your runmlwin model by MCMC.
You might want to first try establishing that a twolevel model fitted using xtmixed and runmlwin using ML and IGLS respectively give the same combined results.
Best wishes
George
That's mainly because you are comparing estimated standard deviations (fitted using xtmixed) to estimated variances (runmlwin). If you compare the estimated variances from the two commands they are effectively the same.
There will always be small differences between your two models as you are fitting your xtmixed model my ML, while you are fitting your runmlwin model by MCMC.
You might want to first try establishing that a twolevel model fitted using xtmixed and runmlwin using ML and IGLS respectively give the same combined results.
Best wishes
George

 Posts: 4
 Joined: Fri Jan 24, 2014 1:59 pm
Re: 3 level multilevel data, multiple imputation, stata, run
This suggestion looks promising but I don't have access to the runmlwin.ado file myself (I'm working remotely on a secure setting). Is there a way to get round it to stop the 'model did not converge' error happening in mcmc?
ChrisCharlton wrote:I suspect that the cause of this error is that you are estimating your model of interest with MCMC which doesn't set e(converged) to 1 when it has finished iterating. The mi estimate command checks this returned value before carrying on with running the models. You should be able to work around this by searching for the following line in runmlwin.ado:and changing it to:Code: Select all
ereturn scalar mcmcdiagnostics = ("`diagnostics'"~="nodiagnostics")
Code: Select all
ereturn scalar mcmcdiagnostics = ("`diagnostics'"~="nodiagnostics") ereturn scalar converged = 1

 Posts: 2
 Joined: Fri May 29, 2020 1:25 pm
Re: 3 level multilevel data, multiple imputation, stata, run
Hi George,GeorgeLeckie wrote: ↑Mon Feb 10, 2014 12:01 pm Dear Zahra,
Yes, you can use runmlwin with the mi combine prefix in the same way as you would for any other Stata estimation command
The Stata Multiple Imputation manual provides full details
http://www.stata.com/manuals13/mi.pdf
Best wishes
George
Sorry to dig up an old thread, but I have been recently confronted with the same issue. I have a 3level design with repeated measures of individuals that are grouped into higherlevel clusters. I have two outcomes which are continuous they are the only variable with missingness. How would I do a multiple imputation given the nature of this design? Where in that manual does it give examples of how to tackle this?
Thank you!