I'm looking for pointers and recommendations regarding software or software tools that may be suitable for the deployment of large-scale, complex dynamic microsimulation models.
Our basic modelling approach is a form of discrete time simulation - after each "tick" of the clock, a set of processes are run in a pre-ordained order against the sample datasets to model life events and changes in case characteristics - for example ageing, births, deaths, partnering, labour market activity, welfare benefit claiming, savings, retirement, disability - after which the clock "ticks" again and the processes are re-run. The processes are governed by probability equations related to case characteristics. The simulations are not completely untethered - we calibrate the models to various outside-model estimates, for example relating to sub-totals of various kinds of cases. The simulations include the creation of new cases as well as deaths or exits.
Typically our models have base datasets of 50,000 to 300,000 records, with several hundred fields per record [and a variety of subrecords]; they will normally be run for around 100-150 "ticks" with several hundred thousand record updates occuring over the simulation period. The models are currently written in SAS.
Mainly I am interested in software that we could reasonably easily move our models to without a lot of low-level programming being needed to make it serviceable for our purposes, and which ideally will run the models considerably faster than our current approach. Of there are many trade-offs, the devil is in the detail and there are many ways to skin a cat; and we have identified at least one potential piece of software that looks very promising, but I want to find our whether there might be other suitable candidates.
Regards
Joe Bosak
Model Development Division | Department for Work and Pensions | United Kingdom
|