Skip to content

A toolbox for data analysis using the attentional drift-diffusion model.

License

Notifications You must be signed in to change notification settings

manvincent/aDDM-Toolbox

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aDDM Toolbox

This toolbox can be used to perform model fitting and to generate simulations for the attentional drift-diffusion model (aDDM), as well as for the classic version of the drift-diffusion model (DDM) without an attentional component.

Prerequisites

aDDM-Toolbox supports Python 2.7 (and Python 3.6 tentatively -- please report any bugs). The following libraries are required:

  • deap
  • future
  • matplotlib
  • numpy
  • pandas
  • scipy

Installing

$ pip install addm_toolbox

Running tests

To make sure everything is working correctly after installation, try (from a UNIX shell, not the Python interpreter):

$ addm_toolbox_tests

This should take a while to finish, so maybe go get a cup of tea :)

Getting started

To get a feel for how the algorithm works, try:

$ addm_demo --display-figures

You can see all the arguments available for the demo using:

$ addm_demo --help

Here is a list of useful scripts which can be similarly run from a UNIX shell:

  • addm_demo
  • ddm_pta_test
  • addm_pta_test
  • addm_pta_mle
  • addm_pta_map
  • addm_simulate_true_distributions
  • addm_basinhopping
  • addm_genetic_algorithm
  • ddm_mla
  • addm_mla

You can also have a look directly at the code in the following modules:

  • addm.py contains the aDDM implementation, with functions to generate model simulations and obtain the likelihood for a given data trial.
  • ddm.py is equivalent to addm.py but for the DDM.
  • addm_pta_test.py generates an artificial data set for a given set of aDDM parameters and attempts to recover these parameters through maximum a posteriori estimation.
  • ddm_pta_test.py is equivalent to addm_pta_test.py but for the DDM.
  • addm_pta_mle.py fits the aDDM to a data set by performing maximum likelihood estimation.
  • addm_pta_map.py performs model comparison for the aDDM by obtaining a posterior distribution over a set of models.
  • simulate_addm_true_distributions.py generates aDDM simulations using empirical data for the fixations.

Common issues

If you get errors while using the toolbox under Python 3, try it with Python 2.7.

If you get a Python RuntimeError with the message "Python is not installed as a framework.", try creating the file ~/.matplotlib/matplotlibrc and adding the following code:

backend: TkAgg

Authors

License

This project is licensed under the GNU GENERAL PUBLIC LICENSE - see the COPYING file for details.

Acknowledgments

This toolbox was developed as part of a research project in the Rangel Neuroeconomics Lab at the California Institute of Technology.

About

A toolbox for data analysis using the attentional drift-diffusion model.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%