Run model run (Reducing model runs with Prior distributions and Markov chains)

7 views
Skip to first unread message

Will Sones

unread,
May 3, 2013, 12:40:51 PM5/3/13
to modell...@googlegroups.com
I was thinking about the technique you used to explore changing parameters in the predator-prey example workshop you showed us on Wed, and it occurred to me that there were a couple of tricks used in Bayesian Monte Carlo Markov Chain statistics which could be used to reduce the number of runs needed to get a decent estimate. I was wondering if you had the ability to implement them in modelling4all software.

In the workshop you looked at values for some parameter starting at a minimum value and increasing uniformly to a maxima. If you have a pretty good idea of what the value would be then you could apply a distribution to these values, something akin to taking larger steps at the extremities and smaller ones about the anticipated value. Statisticians call this using a prior distribution. Another concept which would reduce the number of runs is the use of Markov Chains (random or drunken walk). A small change is applied to a starting value. If the output is within some boundary condition, then the starting value+small change is taken as the inital value for the next loop, otherwise that loop is rejected and the starting value taken as the initial value for the next loop.

Cheers and I really enjoyed the workshop!

Will

Ken Kahn

unread,
May 3, 2013, 1:18:15 PM5/3/13
to Modelling4All
Hi Will,

Interesting comment. The BehaviorSpace doesn't directly support non-uniform distributions of parameters but it does accept a list of any values. It would be easy to generate those values using another program (even NetLogo itself) and then paste the values in. E.g.

["parameter-1" 1 5 9 9.1 9.2 14 20]

or whatever

Regarding dynamically stopping the exploration of a parameter based on prior experiments BehaviorSpace doesn't support that. (But it is open source and can be enhanced by anyone.)

Also BehaviorSearch.org has a genetic algorithm for searching NetLogo parameters.

Best,

-ken



Will

--
You received this message because you are subscribed to the Google Groups "The Modelling4All project" group.
To unsubscribe from this group and stop receiving emails from it, send an email to modelling4al...@googlegroups.com.
To post to this group, send email to modell...@googlegroups.com.
Visit this group at http://groups.google.com/group/modelling4all?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Will Sones

unread,
May 7, 2013, 7:44:00 AM5/7/13
to modell...@googlegroups.com
Check out the RNetLogo package http://cran.r-project.org/web/packages/RNetLogo/

Will

Ken Kahn

unread,
May 7, 2013, 9:11:15 AM5/7/13
to Modelling4All
Will has a good point about more flexible alternatives to BehaviorSpace. One can run NetLogo experiments as Will says in R using the package linked to. Or if one prefers one can do the same in Mathematica or Java. It is even possible to use NetLogo itself to do experiments with a model and to produce comma separated values. But the BehaviorSpace is the easiest to use and requires very little programming experience.

Best,

-ken
Reply all
Reply to author
Forward
0 new messages