Hi Guys,
I am running a simulation, and sometimes the model doesnt fit. I expect this to happen on the odd occasion. However it would be nice if MLwiN didn't exit with an error and stop the simulation running.
What would be nice if there was stored local macro saying if the model had converged and everything went ok i.e. 1 and returned 0 if it had not.
Obviously this functionality is really only appropriate for simulation type studies as you want people to be aware of when the model hasn't fitted.
i.e. a similar function to statas capture command.
The error code i get is :
******************************************************
error while obeying batchfile mypath
@ line 59 CALC c502 = sqrt(c502)
999 numeric error in calc command
first 20 entries affected listed
Affected entries replace with system missing
******************************************************
This error relates to the generation of the residual standard errors.
Model Failure, exiting procedure

 Posts: 1193
 Joined: Mon Oct 19, 2009 10:34 am
Re: Model Failure, exiting procedure
You can check whether (R)IGLS models have converged by looking in e(converged), although if the macro doesn't finish running this might not be filled in. There is already an MLwiN macro command to ignore errors in macros (ERRO 0) which is sometimes used in simulations. We shall investigate whether this can be used by the macros generated by runmlwin (the danger is that important messages may be missed). In the mean time, could you let me know whether the simulation is still aborted if you put a capture command in front of the runmlwin?
Re: Model Failure, exiting procedure
Hi Chris,
If you capture runmlwin it still stops working.
I agree. missing important error messages is a problem, but in a simulation as long as you know which ones failed you can knock them out at the end.
Many thanks for the quick response.
Cheers
Adrian
If you capture runmlwin it still stops working.
I agree. missing important error messages is a problem, but in a simulation as long as you know which ones failed you can knock them out at the end.
Many thanks for the quick response.
Cheers
Adrian

 Site Admin
 Posts: 430
 Joined: Fri Apr 01, 2011 2:14 pm
Re: Model Failure, exiting procedure
Hi Adrian,
The cause of your error message is that some of the posterior variances of your residuals are negative. MLwiN attempts to take the square root of these posterior variances in order to calculate the posterior standard errors. You can't square root negative numbers hence the MLwiN error message that you received.
We will add a variances suboption to the residuals option to allow the return of the posterior variances instead of the posterior standard errors. Sometimes one wants the posterior variances directly rather than the posterior standard errors so this is a useful option to have in its own right. Adding this option should also solve your problem as when specified MLwiN will no longer attempt to calculate the square root of the negative numbers.
Why you get negative posterior variances is a separate problem and not one I want to get into here! Broadly, these negative posterior variances probably reflects the fact that the estimation model that you are specifying is rather different from the data generating model or that the parameters or data structure of the data generating model are in some way peculiar or extreme.
We will announce on this thread once we have implemented the variances sub option to the residuals option.
Best wishes
George
The cause of your error message is that some of the posterior variances of your residuals are negative. MLwiN attempts to take the square root of these posterior variances in order to calculate the posterior standard errors. You can't square root negative numbers hence the MLwiN error message that you received.
We will add a variances suboption to the residuals option to allow the return of the posterior variances instead of the posterior standard errors. Sometimes one wants the posterior variances directly rather than the posterior standard errors so this is a useful option to have in its own right. Adding this option should also solve your problem as when specified MLwiN will no longer attempt to calculate the square root of the negative numbers.
Why you get negative posterior variances is a separate problem and not one I want to get into here! Broadly, these negative posterior variances probably reflects the fact that the estimation model that you are specifying is rather different from the data generating model or that the parameters or data structure of the data generating model are in some way peculiar or extreme.
We will announce on this thread once we have implemented the variances sub option to the residuals option.
Best wishes
George

 Site Admin
 Posts: 430
 Joined: Fri Apr 01, 2011 2:14 pm
Re: Model Failure, exiting procedure
Hi Adrian,
We have now implemented the variances sub option to the residuals option. This new option allows users to request the posterior variances for their residuals rather than the default of the posterior standard deviations.
Using this option will also get around the error which you ran into previously, though I encourage you to work out what the root cause of the original error was. (Check that the way you are simulating data makes sense)
To get the latest version of runmlwin, simply type the following in a netaware version of Stata:
. adoupdate runmlwin, update
Best wishes
George
We have now implemented the variances sub option to the residuals option. This new option allows users to request the posterior variances for their residuals rather than the default of the posterior standard deviations.
Using this option will also get around the error which you ran into previously, though I encourage you to work out what the root cause of the original error was. (Check that the way you are simulating data makes sense)
To get the latest version of runmlwin, simply type the following in a netaware version of Stata:
. adoupdate runmlwin, update
Best wishes
George