The future of HDDM has arrived: HSSM

1,220 views
Skip to first unread message

Michael J Frank

unread,
Jul 24, 2023, 7:39:22 PM7/24/23
to hddm-...@googlegroups.com


We are excited to announce an alpha release of our new HSSM python-based software toolbox! HSSM (hierarchical sequential sampling modeling) is a completely overhauled package, replacing HDDM as a much more general and computationally efficient successor, adding many new functionalities (see below for current list) and a fully modernized backend and eco-system. HSSM will facilitate flexible model fitting and evaluation for a range of models beyond DDM and can include many alternative, continually expanding, SSMs (and ultimately RL and other models of cognition and behavior).  HSSM is a BRAINSTORM project in collaboration with the Center for Computation and Visualization and the Center for Computational Brain Science within the Carney Institute for Brain Science at Brown University. Project leads are Alexander Fengler, Paul Xu and Aisulu Omar, who have done all the hard software engineering and technical developments, in collaboration with Thomas Capreto (core developer of the Bambi python package), and myself. 

 

New features included with this alpha release:


  • Updated PyMC-backend. Installation locally or using Google colab is now very straightforward. Benefits from all the advances in recent versions of PyMC: NUTS sampler, integration with Arviz for plotting and more rigorous model selection metrics (WAIC and LOO instead of DIC)


  • Integration with BAMBI, enabling:

    Between and within-subject (mixed effects) models with full hierarchical estimation (HDDM only supported between or within subject models, not mixed). 


            Any combination of trial-by-trial regressions (e.g., neural measures) and of individual differences (e.g., due to age) on model parameters  


Flexible  control over hierarchical models via ‘formula syntax’ used commonly in mixed models, eg. lmer in R (user can choose to have only some parameters estimated as random effects) 


      - Prior-predictive and posterior-predictive simulations for any model


  • Access and contribute to expandable model-reservoir on hugging-face

  • Test new custom models trivially with Blackbox likelihoods (any Python function)!

  • Run inference in parallel with full control over #cores / #chains

  • Flexible user control over priors for any model, including ability to fix any parameter values to constants 

  • Flexible user control over lapse distributions (“outliers”)

  • Flexible use of centered vs non-centered parameterizations to escape the ‘‘funnel of hell’  


Features to come in subsequent release: 

  • Addition of reinforcement learning (RL) models that can be estimated with all same functionality with or without SSMs as choice function. Users will be able to configure any RL model in combination with any SSM. (HDDM version only included a few RL models and did not allow flexible model specification)


  • Extending the regression backend to RLSSM settings. This allows joint estimation of RLSSM parameters alongside regression parameters for trial-by-trial covariates (from neural or physiological data of any sort, including spikes, LFPs, fMRI, EEG, eye-tracking, etc.) in fully hierarchical settings.


  • Many more relevant  SSMs applicable to other cognitive domains (e.g., circular diffusion model for continuous report tasks such as visual working memory)


  • Variational Inference


  • Closer integration with support packages to allow simplified likelihood amortization workflows: Simulator to Inference with HSSM


Help us improve HSSM and/or get engaged with the community:

  • To report bugs and ask for enhancements, please contribute an issue on github


  • For general discussions / questions about usage of the toolbox, please use the new discussion forum on github (which is more commonly used these days for software packages), rather than this HDDM listserv forum. We will try to continue to respond to questions about HDDM here for the time being while we have just made the alpha release, but encourage you to transition to HSSM as it will include all the same features and many more, while HDDM has become deprecated. 


Finally, I would like to personally thank all of you for making HDDM the success it has been. It's been more than 10 years since we released the initial package, thanks largely to Thomas Wiecki who invested considerable efforts into making the package useful not just for his own modeling questions in my lab's papers but for the field more broadly to investigate decision dynamics and how they are altered with varying neural processes and in disorders. HDDM has been widely used in more than 700 papers affording various neuroscientific and clinical insights, including superior diagnostic classification based on computational biomarkers compared to using the raw behavioral and brain data (e.g., Pedersen et al, 2021 but there are many others) . We are excited that the next generation tools will allow us to build and extend on this promise.  Thanks also to the many other contributors to HDDM, including Mads Pedersen, who incorporated simultaneous estimation of RL and DDM, Krishn Bera, who facilitated the combination of RL and arbitrary SSMs, and Alex Fengler who developed the LAN extension and many additional features that are now enhanced in HSSM. Besides those in my group, others in the community have also contributed updates and solutions to technical hurdles. HSSM is designed to make such contributions more natural and flexible and I hope you will continue to engage with us as we launch HSSM.


Michael J Frank, PhD | Edgar L. Marston Professor
Brown University
website 

Thomas Wiecki

unread,
Jul 25, 2023, 4:02:03 AM7/25/23
to hddm-...@googlegroups.com
Congratulations to everyone involved in this amazing effort!

Back when HDDM was written, PyMC 2 was state-of-the-art, which used a Fortran backend which made compilation and installation notoriously difficult. Currently we're on PyMC 5.6 which has the NUTS sampler as well as modern computational backends like JAX. Also, tools like Bambi didn't exist which allow for much more user-friendly model specification of complex hierarchies. The SSM likelihoods are also much faster and now come with gradients.

Over the years, reflecting on how I'd rewrite HDDM today (not that I ever seriously planned to do so), I'm happy to see the authors of HSSM made all the choices I would have made (and added great new ideas as well).

I'd like to encourage everyone to upgrade and start contributing to HSSM, which is the future. 

Thanks for using HDDM all these years, it lived on much longer than I expected it to (largely thanks to its current maintainers).

-Thomas

--
You received this message because you are subscribed to the Google Groups "hddm-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hddm-users+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/hddm-users/CAGYaZ%2BeqiRVbJkYfD9rgJ5zPCedbeeC_cH2ty%3D07%3DNTsUGZzog%40mail.gmail.com.

Michael J Frank

unread,
Jul 25, 2023, 9:22:36 AM7/25/23
to hddm-...@googlegroups.com
 ps. for a quick intro, getting started and tutorials, see this docs page instead of the github repo I posted in the first message


Reply all
Reply to author
Forward
0 new messages