Print

Print


Oliver Mannion wrote:
> Hi there,
>
> We would be grateful for any responses to the following questions:
>
> 1) Has anyone used Ascape for microsimulation? Is it widely used? Was it a
> good fit for your project?
> 2) What tool kits, if any, have you used for microsimulation? Or have you
> written your microsimulation without the use of a 3rd party tool kit/package?
> 3) If you have used Repast for microsimulation, what has been your
> experience with it?
>
> Thanks and regards,
>
> Oliver Mannion
>
>   
Interesting question.

You should consider choosing a language and framework for longevity.  
I've used Swarm, a pre-Ascape simulation library in Objective C.  
Objective C has been revitalized somewhat by Apple in the last 5 years 
or so, but it is not growing so much as other languages.  Swarm can be 
accessed from models in Java as well, but if you want Java you should 
look at  Ascape, RePast, and Mason.  Mason is newer, presumably it 
learns from the experience of others, but perhaps it is not as widely used.

I'm not sure any of these will integrate well with actual longitudinal 
data, but I've recently learned about a program called Siena, which is 
for  social network modeling and simulation.  It is able to simulate the 
behavior of lots of interacting agents and it forces "real data" into 
the simulation.  It has some pretty complicated possibiltiies for 
"embedding" parameters into the behavior of the agents and then 
estimating the parameters from data.  It is designed for a very specific 
kind of modeling--a closed set of agents all of whom know each other.

You don't need network modeling, perhaps, but you might study how they 
introduce the covariates and conduct estimation, then follow that 
approach.  Siena 3 has been widely used, and a new version of Siena for 
R is almost ready now, and that opens up tons of possibility for you.

http://stat.gamma.rug.nl/siena.html

As you observe, using a commercial package will limit your options and 
tie you down badly. 

If you have a mathematical model  you want to test with your 
microsimulation data, I'd consider using R as the organizing framework 
and then write the model components in C++ or C.  You have to specify an 
individual behavior model at the core of your project, and you have not 
told us what kind of model that might be.  The extent of the 
interactions among agents and the way you 'schedule' them will be a big 
factor.   Also, you need to tell us a bit about what kinds of estimates 
you want in the end.  If you have some complicated model that needs some 
parameter estimates that are based on a non-standard approach, you 
should lean toward something written in R because that's become the 
lingua franca of statistics.

If you have to hire a programmer, you might as well get something clever 
out of it. 

pj

-- 
Paul E. Johnson                       email: [log in to unmask]
Professor, Political Science          http://pj.freefaculty.org
1541 Lilac Lane, Rm 504                              
University of Kansas                  Office: (785) 864-9086
Lawrence, Kansas 66044-3177           FAX: (785) 864-5700