Changelog¶
0.2.x¶
0.2.4¶
This version of HSSM incorporated the following changes:
- We updated HSSM to be compatible with the major API changes in
bambi
v0.14.0. - We fixed various graphing issues in
pymc
5.16.0+, thanks to the API changes inbambi
. - We added variational inference via native
pymc
. - We can now use
float64
inference. - 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
ndim
andndim_supp
definition inSSMRandomVariable
inPyMC>-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_differentiable
andblackbox
likelihoods. We are still looking into the issues of divergence withanalytical
likelihoods. - 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_utils
to streamline the creation ofpm.Distribution
s. - We now support response variables other than
rt
andresponse
. They can be specified throughmodel_config
via the newresponse
field. - We have fixed some of the issues with convergence when using
log-logit
link functions and/or safe priors.
Other minor updates
- Fixed an incompatible shape error during posterior predictive sampling when
p_outlier
is estimated as a parameter. - Updated documentation for using
make_distribution
with PyMC.
Bug fixes:
- Fixed default list of parameters for
ddm_full
model and the bounds forddm_sdv
model.
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_settings
andprior_settings
arguments tohssm.HSSM
, which allows HSSM to use intelligent default priors and link functions for complex hierarchical models. -
Added an
hssm.plotting
submodule withplot_posterior_predictive()
andplot_quantile_probability
for creating posterior predictive plots and quantile probability plots. -
Added an
extra_fields
argument tohssm.HSSM
to pass additional data to the likelihood function computation. -
Limited
PyMC
,pytensor
,numpy
, andjax
dependency 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
blackbox
likelihoods forddm
andddm_sdv
models. - Added support for
full_ddm
models viablackbox
likelihoods. - Added the ability to use
hssm.Param
andhssm.Prior
to 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
inf
s in bounds. - Fixed an issue where
nuts_numpyro
sampler fails with regression and lapse distribution. - Defaults to
nuts_numpyro
sampler withapprox_differentiable
likelihoods andjax
backend. - Added a
hssm.show_defaults()
convenience function to print out default configs. - Added default
blackbox
likelihoods forddm
andddm_sdv
models. - Various under-the-hood documentation improvements.
0.1.2¶
- Improved numerical stability of
analytical
likelihoods. - Added the ability to handle lapse distributions.
- Added the ability to perform prior predictive sampling.
- Improved model information output - now default priors provided by
bambi
is also printed. - Added a
hierarchical
switch which turns all parameters into hierarchical whenparticipant_id
is 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
float
types inPyTensor
andJAX
more consistently and explicitly. - Updated model output format to include likelihood kinds and display bounds more consistently.
- Support for
inf
s in bounds. - Convenient method for simulating data with
ssm_simulators
. - More test coverage.
- CI workflows for publishing package to PyPI.
- Enhancement to documentations.