Benjamin's (2010) DRYAD model
- Aaron Benjamin, University of Illinois at Urbana-Champaign
Citation:
While the goal is to provide an implementation of DRYAD that highly accessible and relatively free of dependencies, there are a few that are required to run this simulation.
- REQUIRED
- Python 3.5+
- NumPy (available through Anaconda suite or through Python;
pip install numpy
orpip3 install numpy
- OPTIONAL
- Progress Bar (
conda install progressbar2
,pip install progressbar2
, orpip3 install progressbar2
)
- Progress Bar (
- Code was continuing to under-estimate hit rate, but this error has been fixed. The code was only handling up to 6 context nodes - it can now handle much more than that.
- I am pretty confident that this is the final round of major code changes. Will be running Markov Chain analyses to compare to MATLAB output.
- Finished annotating the helper functions in
dryad_modules.py
. They will continue to be revised in order to better reflect what they are doing. - Pushed changes to the
response
module indryad_modules.py
. It was under-estimating the hit rate due to a coding error in which it was evaluating hits to the second context - not the first.
- Modified the program to perform a grid search (i.e. loop through parameters). Also added a progress bar that shows how much time has elapsed as well as the approximate time left in the simulation. The progress bar can be suppressed by setting
see_progress_bar
to0
. - The progress bar requires installation of some outside packages. If you running the Anaconda/Spyder suite (which is recommended), pull up the Anaconda prompt and type in
conda install progressbar2
. If you are running Python, pull up a Python prompt window and type in eitherpip install progressbar2
orpip3 install progressbar1
, depending on which version of Python you are running.
- Finsihed what I believe is a full representation of the DRYAD model. This includes a main file by which parameters can be "tuned", and a second file that holds all helper functions (represented by different MATLAB files in Benjamin's original code).
- Still need to annotate the helper functions in order for coders to line up the original code with the new Python code.