PyMC v3.11.2 Release Notes
Release Date: 2021-03-14 // almost 4 years ago-
๐ New Features
- ๐
pm.math.cartesian
can now handle inputs that are themselves >1D (see #4482). - ๐ Statistics and plotting functions that were removed in
3.11.0
were brought back, albeit with deprecation warnings if an old naming scheme is used (see #4536). In order to future proof your code, rename these function calls:pm.traceplot
โpm.plot_trace
pm.compareplot
โpm.plot_compare
(here you might need to rename some columns in the input according to thearviz.plot_compare
documentation)pm.autocorrplot
โpm.plot_autocorr
pm.forestplot
โpm.plot_forest
pm.kdeplot
โpm.plot_kde
pm.energyplot
โpm.plot_energy
pm.densityplot
โpm.plot_density
pm.pairplot
โpm.plot_pair
๐ง Maintenance
- ๐ โ Our memoization mechanism wasn't robust against hash collisions (#4506), sometimes resulting in incorrect values in, for example, posterior predictives. The
pymc3.memoize
module was removed and replaced withcachetools
. Thehashable
function andWithMemoization
class were moved topymc3.util
(see #4525). pm.make_shared_replacements
now retains broadcasting information which fixes issues with Metropolis samplers (see #4492).
๐ Release manager for 3.11.2: Michael Osthege (@michaelosthege)
- ๐
Previous changes from v3.11.1
-
๐ New Features
- ๐ Automatic imputations now also work with
ndarray
data, not justpd.Series
orpd.DataFrame
(see#4439). pymc3.sampling_jax.sample_numpyro_nuts
now returns samples from transformed random variables, rather than from the unconstrained representation (see #4427).
๐ง Maintenance
- ๐ We upgraded to
Theano-PyMC v1.1.2
which includes bugfixes for...- โ a problem with
tt.switch
that affected the behavior of several distributions, including at least the following special cases (see #4448) -
Bernoulli
when all the observed values were the same (e.g.,[0, 0, 0, 0, 0]
). -
TruncatedNormal
whensigma
was constant andmu
was being automatically broadcasted to match the shape of observations. - Warning floods and compiledir locking (see #4444)
- โ a problem with
- ๐
math.log1mexp_numpy
no longer raises RuntimeWarning when given very small inputs. These were commonly observed during NUTS sampling (see #4428). - ๐
ScalarSharedVariable
can now be used as an input to other RVs directly (see #4445). - ๐
pm.sample
andpm.find_MAP
no longer change thestart
argument (see #4458). - ๐ Fixed
Dirichlet.logp
method to work with unit batch or event shapes (see #4454). - ๐ Bugfix in logp and logcdf methods of
Triangular
distribution (see #4470).
๐ Release manager for 3.11.1: Michael Osthege (@michaelosthege)
- ๐ Automatic imputations now also work with