Changelog¶
0.2.11¶
This version include the following:
- Simplification of simulator logic inside HSSM random variables (see the ssm-simulators0.11.3release as well)
- Plotting functions now allow prior_predictiveplots wherever suitable.
- A new tutorial on using bayeux for sampling
- Consolidated plottingtutorial
- New tutorial on how to use the do-operatorfrom PyMC to control forward simulations
0.2.8¶
This version of HSSM incorporated the following changes:
- Addition of tutorials for RLSSM paradigms.
- Restructure rldm.pyto make it more template-based to allow easy introduction of new models.
0.2.7¶
This version of HSSM incorporated the following changes:
- Bugfix in mkdocs.yml. No tutorial notebooks should be actively executed when re-building docs.
0.2.6¶
This version of HSSM incorporated the following changes:
- Overhaul of our development infrastructure to depend on uv
- Addition of various new tutorials (highlight: how to fit RL+SSM models)
- New rldmlikelihoods
- Major internal refactor (e.g. DataValidatorclass for pre-processing)
0.2.5¶
This version of HSSM incorporated the following changes:
- We added a new tutorial on how to use custom likelihood functions with HSSM.
- Added convenience function compile_logp()to return a compiled log-likelihood function to be used freely downstream.
- Some improvements to internals to allow for (1.)
- Major improvments to plotting with model_cartoon_plots()
- Refactoring and minor improvements to pre-existing plots
- Added functionality to save and load models with save_model()andload_model().
0.2.4¶
This version of HSSM incorporated the following changes:
- We updated HSSM to be compatible with the major API changes in bambiv0.14.0.
- We fixed various graphing issues in pymc5.16.0+, thanks to the API changes inbambi.
- We added variational inference via native pymc.
- We can now use float64inference.
- We fixed some minor bugs in providing initial values.
- We added a model.dic() convenience function.
- We added a model.restore_traces() convenience function.
- Other minor bug fixes.
0.2.3¶
This is a maintenance release of HSSM, mainly to add a version constraint on bambi in light of the many breaking changes that version 0.1.4 introduces. This version also improved compatibility with PyMC>=5.15 and incorporated minor bug fixes:
- We incorporated a temporary fix to graphing which broke after PyMC>=5.15.
- We deprecated ndimandndim_suppdefinition inSSMRandomVariableinPyMC>-5.16.
- We fixed a bug that prevents new traces from being returned if model.sample()is called again.
0.2.2¶
HSSM is now on Conda! We now recommend installing HSSM through conda install -c conda-forge hssm. For advanced users, we also support installing the GPU version of JAX through pip install hssm[cuda12].
This version incorporates various bug fixes:
- We fixed a major bug that causes divergences for models using approx_differentiableandblackboxlikelihoods. We are still looking into the issues of divergence withanalyticallikelihoods.
- We made the model creation process more robust, fixing errors when categorical variables are used with group identifiers.
- We updated the codebase according to the deprecations in higher versions of JAX.
- We implemented a temporary fix to an issue that might cause the kernel to die due to OOM.
0.2.1¶
We added a few new features in 0.2.1:
- We have finished updating the HSSM code base to support go-nogo data and deadline. We will provide documentation once the networks are added to our huggingface repo.
- We updated hssm.distribution_utilsto streamline the creation ofpm.Distributions.
- We now support response variables other than rtandresponse. They can be specified throughmodel_configvia the newresponsefield.
- We have fixed some of the issues with convergence when using log-logitlink functions and/or safe priors.
Other minor updates
- Fixed an incompatible shape error during posterior predictive sampling when p_outlieris estimated as a parameter.
- Updated documentation for using make_distributionwith PyMC.
Bug fixes:
- Fixed default list of parameters for ddm_fullmodel and the bounds forddm_sdvmodel.
0.2.0¶
This is a major version update! Many changes have taken place in this version:
Breaking changes¶
When hierarchical argument of hssm.HSSM is set to True, HSSM will look into the
data provided for the participant_id field. If it does not exist, an error will
be thrown.
New features¶
- 
Added link_settingsandprior_settingsarguments tohssm.HSSM, which allows HSSM to use intelligent default priors and link functions for complex hierarchical models.
- 
Added an hssm.plottingsubmodule withplot_predictive()andplot_quantile_probabilityfor creating posterior predictive plots and quantile probability plots.
- 
Added an extra_fieldsargument tohssm.HSSMto pass additional data to the likelihood function computation.
- 
Limited PyMC,pytensor,numpy, andjaxdependency versions for compatibility.
0.1.x¶
0.1.5¶
We fixed the errors in v0.1.4. Sorry for the convenience! If you have accidentally downloaded v0.1.4, please make sure that you update hssm to the current version.
- We made Cython dependencies of this package available via pypi. We have also built wheels for (almost) all platforms so there is no need to build these Cython dependencies.
0.1.4¶
- Added support of blackboxlikelihoods forddmandddm_sdvmodels.
- Added support for full_ddmmodels viablackboxlikelihoods.
- Added the ability to use hssm.Paramandhssm.Priorto specify model parameters.
- Added support for non-parameter fields to be involved in the computation of likelihoods.
- Major refactor of the code to improve readability and maintainability.
- Fixed a bug in model.sample_posterior_predictive().
0.1.3¶
- Added the ability to specify infs in bounds.
- Fixed an issue where nuts_numpyrosampler fails with regression and lapse distribution.
- Defaults to nuts_numpyrosampler withapprox_differentiablelikelihoods andjaxbackend.
- Added a hssm.show_defaults()convenience function to print out default configs.
- Added default blackboxlikelihoods forddmandddm_sdvmodels.
- Various under-the-hood documentation improvements.
0.1.2¶
- Improved numerical stability of analyticallikelihoods.
- Added the ability to handle lapse distributions.
- Added the ability to perform prior predictive sampling.
- Improved model information output - now default priors provided by bambiis also printed.
- Added a hierarchicalswitch which turns all parameters into hierarchical whenparticipant_idis provided in data.
- 
Parameters are now named more consistently (group-specific terms are now aliased correctly). 
- 
Fixed a bug where information about which parameter is regression is incorrectly passed. 
- Added links to Colab to try out hssm in Google Colab.
0.1.1¶
- Handle floattypes inPyTensorandJAXmore consistently and explicitly.
- Updated model output format to include likelihood kinds and display bounds more consistently.
- Support for infs in bounds.
- Convenient method for simulating data with ssm_simulators.
- More test coverage.
- CI workflows for publishing package to PyPI.
- Enhancement to documentations.