New features
- Use fastprogress instead of tqdm #3693.
DEMetropolis
can now tune bothlambda
andscaling
parameters, but by default neither of them are tuned. See #3743 for more info.DEMetropolisZ
, an improved variant ofDEMetropolis
brings better parallelization and higher efficiency with fewer chains with a slower initial convergence. This implementation is experimental. See #3784 for more info.- Notebooks that give insight into
DEMetropolis
,DEMetropolisZ
and theDifferentialEquation
interface are now located in the Tutorials/Deep Dive section. - Add
fast_sample_posterior_predictive
, a vectorized alternative tosample_posterior_predictive
. This alternative is substantially faster for large models. - GP covariance functions can now be exponentiated by a scalar. See PR #3852
sample_posterior_predictive
can now feed onxarray.Dataset
- e.g. fromInferenceData.posterior
. (see #3846)SamplerReport
(MultiTrace.report
) now has propertiesn_tune
,n_draws
,t_sampling
for increased convenience (see #3827)pm.sample(..., return_inferencedata=True)
can now directly return the trace asarviz.InferenceData
(see #3911)pm.sample
now has support for adapting dense mass matrix usingQuadPotentialFullAdapt
(see #3596, #3705, #3858, and #3893). Useinit="adapt_full"
orinit="jitter+adapt_full"
to use.Moyal
distribution added (see #3870).pm.LKJCholeskyCov
now automatically computes and returns the unpacked Cholesky decomposition, the correlations and the standard deviations of the covariance matrix (see #3881).pm.Data
container can now be used for index variables, i.e with integer data and not only floats (issue #3813, fixed by #3925).pm.Data
container can now be used as input for other random variables (issue #3842, fixed by #3925).- Allow users to specify coordinates and dimension names instead of numerical shapes when specifying a model. This makes interoperability with ArviZ easier. (see #3551)
- Plots and Stats API sections now link to ArviZ documentation #3927
- Add
SamplerReport
with propertiesn_draws
,t_sampling
andn_tune
to SMC.n_tune
is always 0 #3931. - SMC-ABC: add option to define summary statistics, allow to sample from more complex models, remove redundant distances #3940
Maintenance
- Tuning results no longer leak into sequentially sampled
Metropolis
chains (see #3733 and #3796). - We'll deprecate the
Text
andSQLite
backends and thesave_trace
/load_trace
functions, since this is now done with ArviZ. (see #3902) - ArviZ
v0.8.3
is now the minimum required version - In named models,
pm.Data
objects now get model-relative names (see #3843). pm.sample
now takes 1000 draws and 1000 tuning samples by default, instead of 500 previously (see #3855).- Moved argument division out of
NegativeBinomial
random
method. Fixes #3864 in the style of #3509. - The Dirichlet distribution now raises a ValueError when it's initialized with <= 0 values (see #3853).
- Dtype bugfix in
MvNormal
andMvStudentT
(see 3836). - End of sampling report now uses
arviz.InferenceData
internally and avoids storing
pointwise log likelihood (see #3883). - The multiprocessing start method on MacOS is now set to "forkserver", to avoid crashes (see issue #3849, solved by #3919).
- The AR1 logp now uses the precision of the whole AR1 process instead of just the innovation precision (see issue #3892, fixed by #3899).
- Forced the
Beta
distribution'srandom
method to generate samples that are in the open interval $(0, 1)$, i.e. no value can be equal to zero or equal to one (issue #3898 fixed by #3924). - Fixed an issue that happened on Windows, that was introduced by the clipped beta distribution rvs function (#3924). Windows does not support the
float128
dtype, but we had assumed that it had to be available. The solution was to only supportfloat128
on Linux and Darwin systems (see issue #3929 fixed by #3930).
Deprecations
- Remove
sample_ppc
andsample_ppc_w
that were deprecated in 3.6. - Deprecated
sd
has been replaced bysigma
(already in version 3.7) in continuous, mixed and timeseries distributions and now raisesDeprecationWarning
whensd
is used. (see #3837 and #3688). - We'll deprecate the
Text
andSQLite
backends and thesave_trace
/load_trace
functions, since this is now done with ArviZ. (see #3902) - Dropped some deprecated kwargs and functions (see #3906)
- Dropped the outdated 'nuts' initialization method for
pm.sample
(see #3863).