Skip to main content

HDDM is a python module that implements Hierarchical Bayesian estimation of Drift Diffusion Models.

Project description

https://secure.travis-ci.org/hddm-devs/hddm.png?branch=develop

Purpose

HDDM is a python toolbox for hierarchical Bayesian parameter estimation of the Drift Diffusion Model (via PyMC). Drift Diffusion Models are used widely in psychology and cognitive neuroscience to study decision making.

Features

  • Uses hierarchical Bayesian estimation (via PyMC) of DDM parameters to allow simultaneous estimation of subject and group parameters, where individual subjects are assumed to be drawn from a group distribution. HDDM should thus produce better estimates when less RT values are measured compared to other methods using maximum likelihood for individual subjects (i.e. DMAT or fast-dm).
  • Heavily optimized likelihood functions for speed (Navarro & Fuss, 2009).
  • Flexible creation of complex models tailored to specific hypotheses (e.g. estimation of separate drift-rates for different task conditions; or predicted changes in model parameters as a function of other indicators like brain activity).
  • Estimate trial-by-trial correlations between a brain measure (e.g. fMRI BOLD) and a diffusion model parameter using the HDDMRegression model.
  • Built-in Bayesian hypothesis testing and several convergence and goodness-of-fit diagnostics.

Quick-start

The following is a minimal python script to load data, run a model and examine its parameters and fit.

import hddm

# Load data from csv file into a NumPy structured array
data = hddm.load_csv('simple_difficulty.csv')

# Create a HDDM model multi object
model = hddm.HDDM(data, depends_on={'v':'difficulty'})

# Create model and start MCMC sampling
model.sample(2000, burn=20)

# Print fitted parameters and other model statistics
model.print_stats()

# Plot posterior distributions and theoretical RT distributions
model.plot_posteriors()
model.plot_posterior_predictive()

For more information about the software and theories behind it, please see the main publication.

Installation

The easiest way to install HDDM is through Anaconda (available for Windows, Linux and OSX):

  1. Download and install Anaconda.
  2. In a shell (Windows: Go to Start->Programs->Anaconda->Anaconda command prompt) type:
conda install -c pymc pymc
conda install -c twiecki hddm

Note that you only have to do this once. When a new HDDM version is available, conda update will automatically update HDDM.

If you want to use pip instead of conda, type:

pip install pandas
pip install pymc
pip install kabuki
pip install hddm

This might require super-user rights via sudo. Note that this installation method is discouraged as it leads to all kinds of problems on various platforms.

If you are having installation problems please contact the mailing list.

How to cite

If HDDM was used in your research, please cite the publication:

Wiecki TV, Sofer I and Frank MJ (2013). HDDM: Hierarchical Bayesian estimation of the Drift-Diffusion Model in Python. Front. Neuroinform. 7:14. doi: 10.3389/fninf.2013.00014

Getting started

Check out the tutorial on how to get started. Further information can be found in howto and the documentation.

Join our low-traffic mailing list.

Project details


Release history Release notifications

History Node

0.6.1

History Node

0.5.5

History Node

0.5.4

This version
History Node

0.5.3

History Node

0.5.2

History Node

0.5.2.beta

History Node

0.5

History Node

0.5beta2

History Node

0.5beta

History Node

0.4.1

History Node

0.4

History Node

0.4RC5

History Node

0.4RC4

History Node

0.4RC3

History Node

0.4RC2

History Node

0.4RC1

History Node

0.3.1

History Node

0.3

History Node

0.3RC4

History Node

0.3RC3

History Node

0.3RC2

History Node

0.3RC1

History Node

0.2

History Node

0.2RC6

History Node

0.2RC5

History Node

0.2RC4

History Node

0.2RC3

History Node

0.2RC2

History Node

0.2RC1

History Node

0.1.1

History Node

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
HDDM-0.5.3.tar.gz (993.1 kB) Copy SHA256 hash SHA256 Source None Mar 3, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page