Recent Releases of pymc
pymc - v5.25.1
What's Changed
Documentation π
- Fix
release_notes_to_discoursescript by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7862 - fix ICAR docstring latex by @williambdean in https://github.com/pymc-devs/pymc/pull/7865
- Use latex for LKJCorr docstrings by @williambdean in https://github.com/pymc-devs/pymc/pull/7866
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.25.0...v5.25.1
- Python
Published by ricardoV94 5 months ago
pymc - v5.25.0
What's Changed
New Features π
- Add experimental
dimsmodule with objects that follow dim-based semantics (like xarray without coordinates) by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7820 ### Documentation π - Small tweaks to Matern Covariance Documentation by @elc45 in https://github.com/pymc-devs/pymc/pull/7859
- Add workflow to publish release notes directly to discourse by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7860
New Contributors
- @elc45 made their first contribution in https://github.com/pymc-devs/pymc/pull/7859
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.24.1...v5.25.0
- Python
Published by ricardoV94 5 months ago
pymc - v5.24.1
What's Changed
Bugfixes πͺ²
- Do not fail with zero-sized arrays in
dataset_to_point_listby @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7856 - Fix bug with pickling PointFunc by @jessegrabowski in https://github.com/pymc-devs/pymc/pull/7858
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.24.0...v5.24.1
- Python
Published by jessegrabowski 5 months ago
pymc - v5.24.0
What's Changed
Major Changes π
- Remove deprecated functionality by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7822
- Among others,
MutableData,ConstantData,coords_mutable. ### New Features π
- Among others,
- Implement specialized Hurdle distribution by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7810
- Model to mermaid diagram with
model_to_mermaidby @williambdean in https://github.com/pymc-devs/pymc/pull/7826 - Add
vectorize_over_posteriortopymc.sampling.forwardby @lucianopaz in https://github.com/pymc-devs/pymc/pull/7841 - Allow censoring Categorical distributions by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7662 ### Bugfixes πͺ²
- Only add
dim_lengthshared variable when adding a new coordinate by @lucianopaz in https://github.com/pymc-devs/pymc/pull/7809 - Fix issues with model graph by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7844
- Fix progressbar with nested compound step samplers by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7776 ### Documentation π
- Mention pymc-marketing in README by @williambdean in https://github.com/pymc-devs/pymc/pull/7853 ### Maintenance π§
- Allow accessing wrapped function attributes in PointFunc by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7823
- implement display method for
pm.Modelfor builtin marimo support by @williambdean in https://github.com/pymc-devs/pymc/pull/7830 - Allow
var_namesto be propagated to nutpie sampler by @PabloRoque in https://github.com/pymc-devs/pymc/pull/7850 - Better guesses for why logp has RVs by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7663
- Allow debug evaling IR logp graphs by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7666
New Contributors
- @PabloRoque made their first contribution in https://github.com/pymc-devs/pymc/pull/7850
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.23.0...v5.24.0
- Python
Published by ricardoV94 5 months ago
pymc - v5.23.0
What's Changed
Major Changes π
- Bump PyTensor dependency by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7792
- This release raises error for some forms of runtime broadcasting in advanced set_subtensor operations that were previously allowed.
New Features π
- Transform to remove Minibatch from model by @zaxtax in https://github.com/pymc-devs/pymc/pull/7746
- Implement reversed and strictly positive ordered transform by @velochy in https://github.com/pymc-devs/pymc/pull/7759
- Add public testing function to mock
sampleby @williambdean in https://github.com/pymc-devs/pymc/pull/7761
Bugfixes πͺ²
- Default to SVD for MvNormal in Latent GP conditionals by @michaelosthege in https://github.com/pymc-devs/pymc/pull/7755
Documentation π
- Add gp util module to docs by @williambdean in https://github.com/pymc-devs/pymc/pull/7763
- Update docs theme by @OriolAbril in https://github.com/pymc-devs/pymc/pull/7781
- Tweak Model.profile docstring and type hint by @williambdean in https://github.com/pymc-devs/pymc/pull/7795
Maintenance π§
- Do not include rvs in symbolic normalizing constant by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7787
New Contributors
- @star1327p made their first contribution in https://github.com/pymc-devs/pymc/pull/7650
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.21.2...v5.23.0
- Python
Published by ricardoV94 7 months ago
pymc - v5.22.0
What's Changed
Major Changes π
- Bump PyTensor dependency by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7740
- This release changes how JAX dispatch of random variables are implemented. Custom dispatches will have to be updated ### Documentation π
- Add return type overload for
sample_posterior_predictiveby @nataziel in https://github.com/pymc-devs/pymc/pull/7710 - Replaced "log-likelihood" with "distribution" in for all the classes where distributions is more appropriate rather than log-likelihood. by @tanishy7777 in https://github.com/pymc-devs/pymc/pull/7573 ### Maintenance π§
- Allow passing graph level attributes to graphviz by @zaxtax in https://github.com/pymc-devs/pymc/pull/7741
- Add warning if a Minibatched variable is used without total_size by @zaxtax in https://github.com/pymc-devs/pymc/pull/7742
New Contributors
- @tanishy7777 made their first contribution in https://github.com/pymc-devs/pymc/pull/7573
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.21.1...v5.22.0
- Python
Published by maresb 9 months ago
pymc - v5.21.1
What's Changed
New Features π
- Support PyTensor deterministic operations as observations by @wd60622 in https://github.com/pymc-devs/pymc/pull/7656
- Allow draws from
Weibull,MvStudentT,LKJCorrandLKJCholeskyCovRVin alternative backends by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7685 ### Maintenance π§ - Make do interventions shared variables by default by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7596
- Remove setupegg.py by @Armavica in https://github.com/pymc-devs/pymc/pull/7697
- Expand logging test cases for samplepriorpredictive and add return type overloads by @nataziel in https://github.com/pymc-devs/pymc/pull/7707
- Allow compilekwargs in samplesmc by @jessegrabowski in https://github.com/pymc-devs/pymc/pull/7702
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.21.0...v5.21.1
- Python
Published by ricardoV94 10 months ago
pymc - v5.21.0
What's Changed
Major Changes π
- Bump PyTensor and support numpy>2.0 and Python 3.13 by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7688
- Note: Checking
if variable:, equivalent tobool(variable)now raises for PyMC variables. Useif variable is not Noneor whatever is appropriate in your context.
- Note: Checking
- Remove deprecated generator data by @wd60622 in https://github.com/pymc-devs/pymc/pull/7664
Bugfixes πͺ²
- Fix bug with chained CustomSymbolicDists by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7690
- Fix bug when reusing jax logp for initial point generation by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7695 ### Maintenance π§
- Relax
observeto allow observing already observed variables by @zaxtax in https://github.com/pymc-devs/pymc/pull/7679 - Reuse jaxified logp when sampling via jax by @nataziel in https://github.com/pymc-devs/pymc/pull/7681
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.20.1...v5.21.0
- Python
Published by ricardoV94 10 months ago
pymc - v5.20.1
What's Changed
New Features π
- Add ZarrTrace by @lucianopaz in https://github.com/pymc-devs/pymc/pull/7540 ### Bugfixes πͺ²
- fix: deep copy nutssamplerkwarg to prevent
.popside effects by @inclinedadarsh in https://github.com/pymc-devs/pymc/pull/7652 ### Documentation π - Adds shape/rate info to Gamma docs by @Dpananos in https://github.com/pymc-devs/pymc/pull/7625
- Probability distributions guide update by @fonnesbeck in https://github.com/pymc-devs/pymc/pull/7671 ### Maintenance π§
- Foward
compile_kwargsto ADVI wheninit = "advi+..."by @jessegrabowski in https://github.com/pymc-devs/pymc/pull/7640 - Check for observed variables in the trace by @zaxtax in https://github.com/pymc-devs/pymc/pull/7641
- Use jaxified logp for initial point evaluation when sampling via Jax by @nataziel in https://github.com/pymc-devs/pymc/pull/7610
- Show one progress bar per chain when sampling by @jessegrabowski in https://github.com/pymc-devs/pymc/pull/7634
- Ignore inner unused RNG inputs in
collect_default_updatesby @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7658
New Contributors
- @nataziel made their first contribution in https://github.com/pymc-devs/pymc/pull/7610
- @inclinedadarsh made their first contribution in https://github.com/pymc-devs/pymc/pull/7652
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.20.0...v5.20.1
- Python
Published by ricardoV94 11 months ago
pymc -
What's Changed
Major Changes π
- Rename
compile_pymctocompileby @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7606 ### Bugfixes πͺ² - Fix MCMC non-deterministic seeding with Generators by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7637 ### Documentation π
- Fix error in docstring example for MatrixNormal by @roesta07 in https://github.com/pymc-devs/pymc/pull/7599
New Contributors
- @roesta07 made their first contribution in https://github.com/pymc-devs/pymc/pull/7599
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.19.1...v5.19.2
- Python
Published by ricardoV94 12 months ago
pymc - v5.19.1
What's Changed
Bugfixes πͺ²
- Bump numpy version due to use of
Generator.spawnonly available in>=1.25by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7607 ### Maintenance π§ - Exponential scale default to 1.0 by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7604
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.19.0...v5.19.1
- Python
Published by ricardoV94 about 1 year ago
pymc - v5.19.0
What's Changed
Major Changes π
- Speedup
sampleand allow specifyingcompile_kwargsby @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7578. This introduces several major changes related to step samplers:- internal uses of
logp_dlogp_functionnow work with raveled inputs. External use will issue a warning unlessravel_inputsis specified explicitly. Eventually it will only be possible to useravel_inputs=True. - Step samplers arguments besides vars must be passed by keyword
RaveledVars.point_map_infois now a 4-n tuple, with size introduced.assign_step_methoddoes not callinstantiate_steppers, but returns arguments needed for the latter.- Allow passing
compile_kwargstosamplewhich is then forwarded to the step samplers functions
- internal uses of
Bugfixes πͺ²
- Fix error in
find_measurable_bitwiseby @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7585 ### Documentation π - Explain difference between
BinaryMetropolisandBinaryGibbsMetropolisby @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7586 - Add example on
freeze_data_and_dimsby @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7594 ### Maintenance π§ - Register the overloads added by
CustomDistso it works with multiprocess with SMC by @EliasRas in https://github.com/pymc-devs/pymc/pull/7241
New Contributors
- @EliasRas made their first contribution in https://github.com/pymc-devs/pymc/pull/7241
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.18.2...v5.19.0
- Python
Published by ricardoV94 about 1 year ago
pymc - v5.18.1
What's Changed
Bugfixes πͺ²
- Harmonize HSGP.prior dimension names and order by @juanitorduz in https://github.com/pymc-devs/pymc/pull/7562
- Fix bug in
implicit_size_from_paramsby @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7564 - Do not mutate Scan inner graph when deriving logprob by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7575 ### Maintenance π§
- Make
pytensorf.constant_foldunconditional by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7568
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.18.0...v5.18.1
- Python
Published by ricardoV94 about 1 year ago
pymc - v5.18.0
What's Changed
Major Changes π
- Add step method state and make step results deterministic with respect to it by @lucianopaz in https://github.com/pymc-devs/pymc/pull/7508
- Remove deprecated features by @Armavica in https://github.com/pymc-devs/pymc/pull/7533 ### New Features π
- Allow copy and deepcopy of PYMC models by @Dekermanjian in https://github.com/pymc-devs/pymc/pull/7492
- Add mean dispatch for pymc distributions by @lucianopaz in https://github.com/pymc-devs/pymc/pull/7530
- Allow for passing of backend and gradient_backend to nutpie by @fonnesbeck in https://github.com/pymc-devs/pymc/pull/7535
- Derive logprob of matmul by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7542 ### Maintenance π§
- Simplify Model new and metaclass by @thomasaarholt in https://github.com/pymc-devs/pymc/pull/7473
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.17.0...v5.18.0
- Python
Published by ricardoV94 about 1 year ago
pymc - v5.17.0
What's Changed
Major Changes π
- Cleanup logprob module by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7443
- Deprecation warning for
find_constrained_priorby @aloctavodia in https://github.com/pymc-devs/pymc/pull/7458 - Remove deprecated Distribution kwargs by @thomasaarholt in https://github.com/pymc-devs/pymc/pull/7488
- Allow Minibatch of derived RVs and deprecate generators as data by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7480 ### New Features π
- Implement specialized MvNormal density based on precision matrix by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7345
- Infer logcdf of discrete transformations by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7444
- Allow more distributions to be truncated by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7476
- Add multi-output support to GP Latent by @AlexAndorra in https://github.com/pymc-devs/pymc/pull/7471 ### Bugfixes πͺ²
- Workaround PyTensor bug in vectorize of logp graph by @ferrine in https://github.com/pymc-devs/pymc/pull/7415
- Print OP name for unnamed RVs instead of raising AssertionErrors by @lucianopaz in https://github.com/pymc-devs/pymc/pull/7428
- Introduce value variables in logprob IR by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7491
- Fix latex rendering of variables with underscore in name by @Dekermanjian in https://github.com/pymc-devs/pymc/pull/7501 ### Documentation π
- Update Twitter Link to X by @Demon-Sheriff in https://github.com/pymc-devs/pymc/pull/7451
- Changed PytTensor import alias to pt in PyMC overview by @Krupakar-Reddy-S in https://github.com/pymc-devs/pymc/pull/7452
- Clarified 0-based indexing requirement for OrderedLogistic and OrderedProbit by @kdotmanoj in https://github.com/pymc-devs/pymc/pull/7457
- Fix typo in the docstring of the Beta distribution by @erik-werner in https://github.com/pymc-devs/pymc/pull/7469
- Update GLM_linear.ipynb to correct the URL for statsmodels by @seyedrezamirkhani in https://github.com/pymc-devs/pymc/pull/7490 ### Maintenance π§
- Reduce blackjax sampling memory usage by @junpenglao in https://github.com/pymc-devs/pymc/pull/7407
- Enforce custom
initvalin SMC by @tvwenger in https://github.com/pymc-devs/pymc/pull/7439 - Blackjax sampler fix for breaking change / enable progress bar under parallel chain_method by @andrewdipper in https://github.com/pymc-devs/pymc/pull/7453
- Add ability to set mode in
check_start_valsby @lucianopaz in https://github.com/pymc-devs/pymc/pull/7482 - Add compilekwargs to `computelog_density` functions by @lucianopaz in https://github.com/pymc-devs/pymc/pull/7483
- Make zip strict in
apply_function_over_datasetby @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7485 - Return InferenceData when there are no variables sampled and extend=True by @OriolAbril in https://github.com/pymc-devs/pymc/pull/7509
- Build the package with python -m build by @Armavica in https://github.com/pymc-devs/pymc/pull/7522
New Contributors
- @Demon-Sheriff made their first contribution in https://github.com/pymc-devs/pymc/pull/7451
- @Krupakar-Reddy-S made their first contribution in https://github.com/pymc-devs/pymc/pull/7452
- @kdotmanoj made their first contribution in https://github.com/pymc-devs/pymc/pull/7457
- @seyedrezamirkhani made their first contribution in https://github.com/pymc-devs/pymc/pull/7490
- @Dekermanjian made their first contribution in https://github.com/pymc-devs/pymc/pull/7501
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.16.2...v5.17.0
- Python
Published by ricardoV94 about 1 year ago
pymc - v5.16.2
What's Changed
Bugfixes πͺ²
- Do not consider dims without coords volatile if length has not changed by @JasonTam in https://github.com/pymc-devs/pymc/pull/7381
- Fix bug with multiple minibatch variables by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7408 ### Documentation π
- Add Myst cross reference link example to Jupyter style guide by @AlexAndorra in https://github.com/pymc-devs/pymc/pull/7235 ### Maintenance π§
- Add Conda Downloads Badge by @PatriceJada in https://github.com/pymc-devs/pymc/pull/7378
- Refactor model graph and allow suppressing dim lengths by @wd60622 in https://github.com/pymc-devs/pymc/pull/7392
- Reduce JAX post-processing memory usage by @andrewdipper in https://github.com/pymc-devs/pymc/pull/7311
New Contributors
- @PatriceJada made their first contribution in https://github.com/pymc-devs/pymc/pull/7378
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.16.1...v5.16.2
- Python
Published by ricardoV94 over 1 year ago
pymc - v5.16.1
What's Changed
Bugfixes πͺ²
- Avoid spurious deprecation warning in CustomDist by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7391
- Assert ndim and number of dims match by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7390
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.16.0...v5.16.1
- Python
Published by ricardoV94 over 1 year ago
pymc - v5.16.0
What's Changed
Major Changes π
- Standardize
drawsas parameter insample_prior_predictiveby @wd60622 in https://github.com/pymc-devs/pymc/pull/7366 - Allow opting out of model nesting by setting
model=Noneby @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7352 - Bump PyTensor dependency (which changes signature of RandomVariables) by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7370
- Move CustomDist logic to dedicated module and docs section by @markgreene74 in https://github.com/pymc-devs/pymc/pull/7363 ### New Features π
- HSGP improvements by @AlexAndorra in https://github.com/pymc-devs/pymc/pull/7335
- Add more idata attributes for JAX samplers by @osyuksel in https://github.com/pymc-devs/pymc/pull/7360 ### Bugfixes πͺ²
- Fix bug with
compute_pfor partially observed OrderedLogistic and OrderedProbit variables by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7349 - Avoid repeated status polling in smc by @aseyboldt in https://github.com/pymc-devs/pymc/pull/7351
- Fix bug when freezing model with partially observed RVs by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7388 ### Documentation π
- Fix broken links by @Armavica in https://github.com/pymc-devs/pymc/pull/7347 ### Maintenance π§
- Allow customizing truncation maxnsteps in Hurdle Mixtures by @tjburch in https://github.com/pymc-devs/pymc/pull/7339
- Add refresh call to progress bar in applyfunctionover_dataset by @fonnesbeck in https://github.com/pymc-devs/pymc/pull/7343
- HSGP misc fixes by @bwengals in https://github.com/pymc-devs/pymc/pull/7342
- Fixed myst version to less than 1.0.0 (fixes graph squashing) by @hevansDev in https://github.com/pymc-devs/pymc/pull/7356
- Update readme example by @kiramclean in https://github.com/pymc-devs/pymc/pull/7358
- Fix
import pymc.testingby @bomtall in https://github.com/pymc-devs/pymc/pull/7357 - Minor text improvements to the Introductory Overview of PyMC notebook (pymc_overview.ipynb) by @alimanfoo in https://github.com/pymc-devs/pymc/pull/7361
- Remove default initval for Flat variables by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7379
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pymc-devs/pymc/pull/7371
New Contributors
- @hevansDev made their first contribution in https://github.com/pymc-devs/pymc/pull/7356
- @kiramclean made their first contribution in https://github.com/pymc-devs/pymc/pull/7358
- @bomtall made their first contribution in https://github.com/pymc-devs/pymc/pull/7357
- @alimanfoo made their first contribution in https://github.com/pymc-devs/pymc/pull/7361
- @osyuksel made their first contribution in https://github.com/pymc-devs/pymc/pull/7360
- @markgreene74 made their first contribution in https://github.com/pymc-devs/pymc/pull/7363
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.15.1...v5.16.0
What's Changed
Major Changes π
- Rename
samplesargument todrawsinsample_prior_predictiveby @wd60622 in https://github.com/pymc-devs/pymc/pull/7366 - Allow opting out of model nesting by setting
model=Noneby @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7352 - Bump PyTensor dependency (which changes signature of RandomVariables) by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7370
- Move CustomDist logic to dedicated module and docs section by @markgreene74 in https://github.com/pymc-devs/pymc/pull/7363 ### New Features π
- HSGP improvements by @AlexAndorra in https://github.com/pymc-devs/pymc/pull/7335
- Add more idata attributes for JAX samplers by @osyuksel in https://github.com/pymc-devs/pymc/pull/7360 ### Bugfixes πͺ²
- Fix bug with
compute_pfor partially observed OrderedLogistic and OrderedProbit variables by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7349 - Avoid repeated status polling in smc by @aseyboldt in https://github.com/pymc-devs/pymc/pull/7351
- Fix bug when freezing model with partially observed RVs by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7388 ### Documentation π
- Fix broken links by @Armavica in https://github.com/pymc-devs/pymc/pull/7347
- Fixed myst version to less than 1.0.0 (fixes graph squashing) by @hevansDev in https://github.com/pymc-devs/pymc/pull/7356
- Minor text improvements to the Introductory Overview of PyMC notebook (pymc_overview.ipynb) by @alimanfoo in https://github.com/pymc-devs/pymc/pull/7361 ### Maintenance π§
- Allow customizing truncation maxnsteps in Hurdle Mixtures by @tjburch in https://github.com/pymc-devs/pymc/pull/7339
- Add refresh call to progress bar in applyfunctionover_dataset by @fonnesbeck in https://github.com/pymc-devs/pymc/pull/7343
- HSGP misc fixes by @bwengals in https://github.com/pymc-devs/pymc/pull/7342
- Update readme example by @kiramclean in https://github.com/pymc-devs/pymc/pull/7358
- Fix
import pymc.testingby @bomtall in https://github.com/pymc-devs/pymc/pull/7357 - Remove default initval for Flat variables by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7379
New Contributors
- @hevansDev made their first contribution in https://github.com/pymc-devs/pymc/pull/7356
- @kiramclean made their first contribution in https://github.com/pymc-devs/pymc/pull/7358
- @bomtall made their first contribution in https://github.com/pymc-devs/pymc/pull/7357
- @alimanfoo made their first contribution in https://github.com/pymc-devs/pymc/pull/7361
- @osyuksel made their first contribution in https://github.com/pymc-devs/pymc/pull/7360
- @markgreene74 made their first contribution in https://github.com/pymc-devs/pymc/pull/7363
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.15.1...v5.16.0
- Python
Published by ricardoV94 over 1 year ago
pymc - v3.11.6
What's Changed
- Add legacy messages to PyMC3 by @aloctavodia in https://github.com/pymc-devs/pymc/pull/7338
- Bump release pymc3 by @aloctavodia in https://github.com/pymc-devs/pymc/pull/7340
Full Changelog: https://github.com/pymc-devs/pymc/compare/v3.11.5...v3.11.6
- Python
Published by aloctavodia over 1 year ago
pymc - v5.15.1
What's Changed
Bugfixes πͺ²
- Allow mutable shape in partially imputed variables by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7314
- Fix bug in Truncated with Deterministic inputs by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7315
- Fix spurious inputs failure when building Truncated variables by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7328 ### Documentation π
- Add docstring to pymc.sampling.jax.samplejaxnuts by @andrewdipper in https://github.com/pymc-devs/pymc/pull/7313
- Updated pymc.step_methods.slicer.Slice docstring by @ksk-17090k1 in https://github.com/pymc-devs/pymc/pull/7322
- Fix error in logcdf example by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7336 ### Maintenance π§
- Add blas_cores argument to pm.sample by @aseyboldt in https://github.com/pymc-devs/pymc/pull/7318
- Update pymc.sample docstring to fix incorrect property name by @treszkai in https://github.com/pymc-devs/pymc/pull/7321
- Implement CustomProgress that does not output empty divs when disabled by @tomicapretto in https://github.com/pymc-devs/pymc/pull/7290
- Use more numerically stable function in TruncatedNormal area computation by @velochy in https://github.com/pymc-devs/pymc/pull/7305
- Get rid of most intX usages by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7330
- Fix typing in multiple places by @michaelosthege in https://github.com/pymc-devs/pymc/pull/7333
- Split convert observed data by @michaelosthege in https://github.com/pymc-devs/pymc/pull/7334
- Add test for
freeze_rv_and_dimsin JAX backend by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7324
New Contributors
- @andrewdipper made their first contribution in https://github.com/pymc-devs/pymc/pull/7313
- @ksk-17090k1 made their first contribution in https://github.com/pymc-devs/pymc/pull/7322
- @lhelleckes made their first contribution in https://github.com/pymc-devs/pymc/pull/7299
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.15.0...v5.15.1
- Python
Published by ricardoV94 over 1 year ago
pymc - v5.15.0
What's Changed
Major Changes π
- Add warning about change of sign in hessian functions by @aseyboldt in https://github.com/pymc-devs/pymc/pull/6312 ### New Features π
- Skewed Student-T distribution by @fonnesbeck in https://github.com/pymc-devs/pymc/pull/7252
- Allow customizing style of model_graph nodes by @wd60622 in https://github.com/pymc-devs/pymc/pull/7302 ### Bugfixes πͺ²
- Fix bug when
freezing_rv_and_dimsafter a model transformation by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7296 - Fix need for dummy data in
sample_posterior_predictiveby @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7265 ### Maintenance π§ - Suggest
var_nameswhen using deprecated API for partial traces by @lancechua in https://github.com/pymc-devs/pymc/pull/7289
New Contributors
- @lancechua made their first contribution in https://github.com/pymc-devs/pymc/pull/7289
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.14.0...v5.14.1
- Python
Published by ricardoV94 over 1 year ago
pymc - v5.14.0
What's Changed
Major Changes π
- Implement
default_transformandtransformargument for distributions by @aerubanov in https://github.com/pymc-devs/pymc/pull/7207 ### New Features π - Allow freezing only subset of data and dims by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7248 ### Bugfixes πͺ²
- Fix gradient bug in models with max operation by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7261
- Convert random variables to value variables so
pm.sample(var_names)works correctly by @tomicapretto in https://github.com/pymc-devs/pymc/pull/7284 - Fix draws of Weibull when alpha and beta implicitly define size by @tomicapretto in https://github.com/pymc-devs/pymc/pull/7288 ### Documentation π
- Add introduction section to Transformations API page to document role of Transforms by @mkusnetsov in https://github.com/pymc-devs/pymc/pull/7232
- Fix link to API quick start. Closes #7266. by @twiecki in https://github.com/pymc-devs/pymc/pull/7275 ### Maintenance π§
- Fix typo in progressbar message by @zaxtax in https://github.com/pymc-devs/pymc/pull/7271
- Add time remaining column to progress bars by @fonnesbeck in https://github.com/pymc-devs/pymc/pull/7273
New Contributors
- @mkusnetsov made their first contribution in https://github.com/pymc-devs/pymc/pull/7232
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.13.1...v5.14.0
- Python
Published by ricardoV94 over 1 year ago
pymc - v5.13.1
What's Changed
New Features π
- Implement several RandomVariables as SymbolicRandomVariables by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7239
### Bugfixes πͺ² - Fix bug in
compute_deterministicsby @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7249 - Fix typo of Data containers in model graph by @tomicapretto in https://github.com/pymc-devs/pymc/pull/7250 ### Maintenance π§
- Fix DOI visibility badge in README by @AndreaBlengino in https://github.com/pymc-devs/pymc/pull/7245
New Contributors
- @AndreaBlengino made their first contribution in https://github.com/pymc-devs/pymc/pull/7245
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.13.0...v5.13.1
- Python
Published by ricardoV94 over 1 year ago
pymc - v5.13.0
What's Changed
Major Changes π
- Make coords and data always mutable by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7047
- Bump PyTensor dependency and drop support for python 3.9 by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7227 ### New Features π
- Add
compute_deterministicshelper by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7238 - Allow Truncation of CustomDist by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6947 ### Bugfixes πͺ²
- Fix join logp for multivariate RVs by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7215 ### Documentation π
- Add HSGPPeriodic to Docs by @juanitorduz in https://github.com/pymc-devs/pymc/pull/7230
- Add graphic for contributors. by @twiecki in https://github.com/pymc-devs/pymc/pull/7229
- Fix link and typo in developer_guide.md by @pipme in https://github.com/pymc-devs/pymc/pull/7219
- Fix type-hint typo in CustomDist docs by @hchen19 in https://github.com/pymc-devs/pymc/pull/7243 ### Maintenance π§
- Use exponentially scaled modified Bessel function in periodic HSGPs by @dehorsley in https://github.com/pymc-devs/pymc/pull/7228
- Replace fastprogress progress bars with rich by @fonnesbeck in https://github.com/pymc-devs/pymc/pull/7233
- Make default STEP_METHODS a list that can be modified by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7231
New Contributors
- @pipme made their first contribution in https://github.com/pymc-devs/pymc/pull/7219
- @hchen19 made their first contribution in https://github.com/pymc-devs/pymc/pull/7243
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.12.0...v5.13.0
- Python
Published by ricardoV94 over 1 year ago
pymc - v5.12.0
What's Changed
Major Changes π
- Bump PyTensor dependency and support Python 3.12 by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7203 ### New Features π
- Add
_print_nameto Truncated and CustomDists by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7205 - Add icdf functions for Beta, Gamma, Chisquared and StudentT distributions by @amyoshino in https://github.com/pymc-devs/pymc/pull/6845
- Add
var_namesargument to sample by @fonnesbeck in https://github.com/pymc-devs/pymc/pull/7206 ### Bugfixes πͺ² - add
_momentfunction for bacward backward compatibility by @aerubanov in https://github.com/pymc-devs/pymc/pull/7216 ### Documentation π - Fix expression for the variance in ZINB docstring by @aloctavodia in https://github.com/pymc-devs/pymc/pull/7200
- List more math function in API docs by @brandonhorsley in https://github.com/pymc-devs/pymc/pull/7211
- Improve example on expanded sampleposteriorpredictive by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7222 ### Maintenance π§
- Removing unnecessary
comp_shapefrom class NormalMixture by @mohammed052 in https://github.com/pymc-devs/pymc/pull/7098
New Contributors
- @mohammed052 made their first contribution in https://github.com/pymc-devs/pymc/pull/7098
- @brandonhorsley made their first contribution in https://github.com/pymc-devs/pymc/pull/7211
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.11.0...v5.12.0
- Python
Published by ricardoV94 over 1 year ago
pymc - v5.11.0
What's Changed
Major Changes π
- Rename
momenttosupport_pointby @aerubanov in https://github.com/pymc-devs/pymc/pull/7166 - Remove
intXandfloatXcalls from distributions by @aerubanov in https://github.com/pymc-devs/pymc/pull/7114 - Remove deprecated
Bounddistribution by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7176 - Remove deprecated
sample_posterior_predictive_wby @aloctavodia in https://github.com/pymc-devs/pymc/pull/7179 ### New Features π - Add option to save model graph to an image by @aloctavodia in https://github.com/pymc-devs/pymc/pull/7158
- Run convergence checks when using JAX samplers by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7165 ### Bugfixes πͺ²
- Fix
compute_log_priorin models withDeterministicsby @OriolAbril in https://github.com/pymc-devs/pymc/pull/7168 - Fix error in warn_treedepth when using multiple NUTS samplers by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7182
- Fix error in
dataset_to_point_listwhen chain, draw are not the leading dims by @OriolAbril in https://github.com/pymc-devs/pymc/pull/7180 - Refactor
get_tau_sigmaand support lists of variables by @tvwenger in https://github.com/pymc-devs/pymc/pull/7185 ### Documentation π - Update link of Bayesian Analysis with Python book to third edition by @aloctavodia in https://github.com/pymc-devs/pymc/pull/7161
- Fix typo in developer guide by @erik-werner in https://github.com/pymc-devs/pymc/pull/7170
- Add examples explaining advanced applications of
sample_posterior_predictiveby @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7014 - Updated docstrings in pymc.model.core.Model by @apalermo01 in https://github.com/pymc-devs/pymc/pull/7118
- Explain how to obtain the model graphviz in a non-Ipython environment by @Armavica in https://github.com/pymc-devs/pymc/pull/7181
- Improve HSGP and ZeroInflated / Hurdle distributions docs by @AlexAndorra in https://github.com/pymc-devs/pymc/pull/7189 ### Maintenance π§
- Reduce number of minimum draw in warning message by @aloctavodia in https://github.com/pymc-devs/pymc/pull/7163
- Add sitemap to docs by @OriolAbril in https://github.com/pymc-devs/pymc/pull/7171
- Add gufunc signature to SymbolicRandomVariables by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7159
New Contributors
- @apalermo01 made their first contribution in https://github.com/pymc-devs/pymc/pull/7118
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.10.4...v5.11.0
- Python
Published by ricardoV94 almost 2 years ago
pymc - v5.10.4
What's Changed
New Features π
- Add a flag to LKJCorr to return the unpacked correlation matrix by @velochy in https://github.com/pymc-devs/pymc/pull/7100
- Allow jitter boolean to be set through
nuts_sampler_kwargsby @VMBoehm in https://github.com/pymc-devs/pymc/pull/7083 - Logprob derivation of Min for Discrete IID distributions by @Dhruvanshu-Joshi in https://github.com/pymc-devs/pymc/pull/6968
- Implement
compute_log_priorutility by @aloctavodia in https://github.com/pymc-devs/pymc/pull/7149 ### Bugfixes πͺ² - GP do not fail when xdims cannot be constant folded by @bwengals in https://github.com/pymc-devs/pymc/pull/7111
- Fix copying of shared variables in
fgraph_from_modelby @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7153 ### Documentation π - Suppressed pip install bambi output in GLM core notebook by @jaharvey8 in https://github.com/pymc-devs/pymc/pull/7090
- Gitpod instructions: use latest version of pymc by @reshamas in https://github.com/pymc-devs/pymc/pull/7106
- Moved 'Implementing a Random Variable' to the last position in 'How To' section by @OmGhadge in https://github.com/pymc-devs/pymc/pull/7108
- Add Google Scholar link for newest article by @aloctavodia in https://github.com/pymc-devs/pymc/pull/7156 ### Maintenance π§
- Extend
dataset_to_point_dictto accept both dataset and dict of dataarray by @OriolAbril in https://github.com/pymc-devs/pymc/pull/7097 - Fix progressbar bug for parallel SMC sampling by @jucor in https://github.com/pymc-devs/pymc/pull/7079
- Rectify return type hints in logprob module rewrites by @AryanNanda17 in https://github.com/pymc-devs/pymc/pull/7125
- Deprecate
block_diagfrom math module in favor of PyTensor by @AryanNanda17 in https://github.com/pymc-devs/pymc/pull/7132
New Contributors
- @jucor made their first contribution in https://github.com/pymc-devs/pymc/pull/7079
- @pre-commit-ci made their first contribution in https://github.com/pymc-devs/pymc/pull/7110
- @velochy made their first contribution in https://github.com/pymc-devs/pymc/pull/7100
- @VMBoehm made their first contribution in https://github.com/pymc-devs/pymc/pull/7083
- @OmGhadge made their first contribution in https://github.com/pymc-devs/pymc/pull/7108
- @AryanNanda17 made their first contribution in https://github.com/pymc-devs/pymc/pull/7125
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.10.3...v5.10.4
- Python
Published by ricardoV94 almost 2 years ago
pymc - v5.10.3
What's Changed
New Features π
- Implement logcdf for TruncatedNormal by @LukeLB in https://github.com/pymc-devs/pymc/pull/7034 ### Bugfixes πͺ²
- Fix issue with sampling of PartialObservedRVs by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7071
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.10.2...v5.10.3
- Python
Published by ricardoV94 about 2 years ago
pymc - v5.10.2
What's Changed
New Features π
- Allow batched scalar sigma in
ZeroSumNormalby @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7063 ### Bugfixes πͺ² - Fix failing default transform for
LKJCorrby @juanitorduz in https://github.com/pymc-devs/pymc/pull/7065
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.10.1...v5.10.2
- Python
Published by ricardoV94 about 2 years ago
pymc - v5.10.1
What's Changed
New Features π
- Implement periodic kernel for HSGP by @theorashid in https://github.com/pymc-devs/pymc/pull/6877 ### Bugfixes πͺ²
- Avoid inplace mutation in
replace_rvs_by_valuesby @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7055 ### Documentation π - Reorganize docs API entries by @kataev in https://github.com/pymc-devs/pymc/pull/7030
- Remove message about JAX not being supported on Windows in installation instructions by @jackhenderson101 in https://github.com/pymc-devs/pymc/pull/7039 ### Maintenance π§
- Better float32 sampling support for TruncatedNormal by @JasonTam in https://github.com/pymc-devs/pymc/pull/7026
New Contributors
- @jackhenderson101 made their first contribution in https://github.com/pymc-devs/pymc/pull/7039
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.10.0...v5.10.1
- Python
Published by ricardoV94 about 2 years ago
pymc - v5.10.0
What's Changed
Major Changes π
- ChiSquared now returns a Gamma random variable by @wd60622 in https://github.com/pymc-devs/pymc/pull/7007
- Remove several deprecated model properties and deprecate new ones by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7033
- Bump Pytensor dependency to
>=2.18.1,<2.19by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7020 ### New Features π - Default
momentforCustomDistprovided with adistfunction by @aerubanov in https://github.com/pymc-devs/pymc/pull/6873 ### Documentation π - Fix docs formatting in
shape_utilsby @kataev in https://github.com/pymc-devs/pymc/pull/7025 ### Maintenance π§ - Update CODEOFCONDUCT.md by @fonnesbeck in https://github.com/pymc-devs/pymc/pull/7012
- Update devcontainer by @maresb in https://github.com/pymc-devs/pymc/pull/7017
- Merge redundant code across
logprob,pytensorfanddistributions/transformby @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6976 - Use PyTensor StudentT RV by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7028
- Update GOVERNANCE.md by @canyon289 in https://github.com/pymc-devs/pymc/pull/7031
New Contributors
- @kataev made their first contribution in https://github.com/pymc-devs/pymc/pull/7025
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.9.2...v5.10.0
- Python
Published by ricardoV94 about 2 years ago
pymc - v5.9.2
What's Changed
New Features π
- Recognize alternative form of sigmoid in logprob inference by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6978
- Allow IntervalTransform to handle dynamic infinite bounds by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7001 ### Bugfixes πͺ²
- Fix computetestvalue error when creating observed variables by @vandalt in https://github.com/pymc-devs/pymc/pull/6982
- Fix memory leak in logp of transformed variables by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6991 ### Documentation π
- fix typo in notebook about Distribution Dimensionality by @nicrie in https://github.com/pymc-devs/pymc/pull/7005 ### Maintenance π§
- Add more missing functions to math module by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6979
New Contributors
- @vandalt made their first contribution in https://github.com/pymc-devs/pymc/pull/6982
- @nicrie made their first contribution in https://github.com/pymc-devs/pymc/pull/7005
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.9.1...v5.9.2
- Python
Published by ricardoV94 about 2 years ago
pymc - v5.9.1
What's Changed
New Features π
- Allow batched parameters in MvNormal and MvStudentT distributions by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6897
- Logprob derivation of Max for Discrete IID distributions by @Dhruvanshu-Joshi in https://github.com/pymc-devs/pymc/pull/6790
- Support logp derivation of
power(base, rv)by @LukeLB in https://github.com/pymc-devs/pymc/pull/6962 ### Bugfixes πͺ² - Make
Model.str_reprrobust to variables without monkey-patch by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6942 - Fix bug in GP Periodic and WrappedPeriodic kernel full method by @lucianopaz in https://github.com/pymc-devs/pymc/pull/6952
- Fix rejection-based truncation of scalar variables by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6923 ### Documentation π
- Add expression for NegativeBinomial variance by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6957 ### Maintenance π§
- Add constant and observed data to nutpie idata by @Y0dler in https://github.com/pymc-devs/pymc/pull/6943
- Improve multinomial moment by @aerubanov in https://github.com/pymc-devs/pymc/pull/6933
- Fix HurdleLogNormal Docstring by @amcadie in https://github.com/pymc-devs/pymc/pull/6958
- Use numpy testing utilities instead of custom close_to* by @erik-werner in https://github.com/pymc-devs/pymc/pull/6961
- Include more PyTensor functions in math module by @jaharvey8 in https://github.com/pymc-devs/pymc/pull/6956
- Improve blackjax sampling integration by @junpenglao in https://github.com/pymc-devs/pymc/pull/6963
New Contributors
- @Y0dler made their first contribution in https://github.com/pymc-devs/pymc/pull/6943
- @amcadie made their first contribution in https://github.com/pymc-devs/pymc/pull/6958
- @erik-werner made their first contribution in https://github.com/pymc-devs/pymc/pull/6961
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.9.0...v5.9.1
- Python
Published by ricardoV94 about 2 years ago
pymc - v5.9.0
What's Changed
Major Changes π
- Update Gamma Distribution to support new pytensor GammaRV reparameterization by @tvwenger in https://github.com/pymc-devs/pymc/pull/6934 ### Bugfixes πͺ²
- Fix fgraphfrommodel with multivariate transformed variables by @ferrine in https://github.com/pymc-devs/pymc/pull/6924 ### Documentation π
- Update case study to match blog post by @thompsonjjet23 in https://github.com/pymc-devs/pymc/pull/6930
- Fix do/conditioning model docs by @juanitorduz in https://github.com/pymc-devs/pymc/pull/6936 ### Maintenance π§
- Fix typo in pymc_overview.ipynb by @thompsonjjet23 in https://github.com/pymc-devs/pymc/pull/6925
- Default to Scan in postprocessing of jax samplers by @ferrine in https://github.com/pymc-devs/pymc/pull/6922
New Contributors
- @thompsonjjet23 made their first contribution in https://github.com/pymc-devs/pymc/pull/6925
- @tvwenger made their first contribution in https://github.com/pymc-devs/pymc/pull/6934
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.8.2...v5.9.0
- Python
Published by ricardoV94 about 2 years ago
pymc - v5.8.1
What's Changed
New Features π
- Logprob derivation for Min of continuous IID variables by @Dhruvanshu-Joshi in https://github.com/pymc-devs/pymc/pull/6846
- Derive logprob for exp2, log2, log10, log1p, expm1, log1mexp, log1pexp (softplus), and sigmoid transformations by @LukeLB in https://github.com/pymc-devs/pymc/pull/6826 ### Bugfixes πͺ²
- Fix wrong ZeroSumNormal logp expression by @lucianopaz in https://github.com/pymc-devs/pymc/pull/6872
- Fix bug in univariate Ordered and SumTo1 transform logp by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6903 ### Documentation π
- Link to updated PyMC port of DBDA in README by @cluhmann in https://github.com/pymc-devs/pymc/pull/6890 ### Maintenance π§
- Reject logp derivation of binary operations with broadcasted measurable input by @shreyas3156 in https://github.com/pymc-devs/pymc/pull/6893
- Cast
ZeroSumNormalshape operations toconfig.floatXby @thomasjpfan in https://github.com/pymc-devs/pymc/pull/6889 - Bump docker/build-push-action from 4.1.1 to 4.2.1 by @dependabot in https://github.com/pymc-devs/pymc/pull/6900
- Bump pytensor by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6910
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.8.0...v5.8.1
- Python
Published by ricardoV94 over 2 years ago
pymc - v5.8.0
What's Changed
New Features π
- Port
doandobservefunctions from PyMC-Experimental by @juanitorduz in https://github.com/pymc-devs/pymc/pull/6879 - Add
ICARdistribution by @daniel-saunders-phil in https://github.com/pymc-devs/pymc/pull/6831 - Add JAX implementation fol
MatrixIsPositiveDefiniteOpby @juanitorduz in https://github.com/pymc-devs/pymc/pull/6853 ### Bugfixes πͺ² - Fix logcdf and icdf derivations for non-monotonically increasing transformations by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6850 ### Documentation π
- Adding description to
GumbelDistribution by @amyoshino in https://github.com/pymc-devs/pymc/pull/6810 - Update library citation by @aloctavodia in https://github.com/pymc-devs/pymc/pull/6861
- Add install instructions for nutpie by @daniel-saunders-phil in https://github.com/pymc-devs/pymc/pull/6862 ### Maintenance π§
- Add
Model.to_graphvizshortcut by @juanitorduz in https://github.com/pymc-devs/pymc/pull/6865 - Remove experimental warning from external nuts samplers. by @twiecki in https://github.com/pymc-devs/pymc/pull/6887
- Bump PyTensor dependency by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6881
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.7.2...v5.8.0
- Python
Published by ricardoV94 over 2 years ago
pymc - v5.7.2
What's Changed
Bugfixes πͺ²
- Do not use
seeded_testfixture in exportedBaseTestDistributionRandomby @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6848 ### Documentation π - Use
ordered_univariatein documentation example of NormalMixture by @mrpg in https://github.com/pymc-devs/pymc/pull/6842
New Contributors
- @mrpg made their first contribution in https://github.com/pymc-devs/pymc/pull/6842
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.7.1...v5.7.2
- Python
Published by ricardoV94 over 2 years ago
pymc - v5.7.1
What's Changed
Bugfixes πͺ²
- Fix regression #6840 by @michaelosthege in https://github.com/pymc-devs/pymc/pull/6843 ### Maintenance π§
- Remove
SeededTestclass by @aerubanov in https://github.com/pymc-devs/pymc/pull/6799
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.7.0...v5.7.1
- Python
Published by ricardoV94 over 2 years ago
pymc - v5.7.0
What's Changed
Major Changes π
- Drop support for Python 3.8 by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6832
- Bump PyTensor dependency by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6830
- PyTensor no longer allows runtime broadcasting. If you want a
MutableDatatensor to broadcast along an existing dimension, specify it's static shape as(1,)along the relevant axis. Example:pm.MutableData("x", np.ones((1, 10)), shape=(1, None)). ### New Features π
- PyTensor no longer allows runtime broadcasting. If you want a
- Add GP Wrapped Periodic Kernel by @jahall in https://github.com/pymc-devs/pymc/pull/6742
- Logprob derivation for Max of continuous IID variables by @Dhruvanshu-Joshi in https://github.com/pymc-devs/pymc/pull/6769 ### Bugfixes πͺ²
- Fixes for the McBackend adapter by @michaelosthege in https://github.com/pymc-devs/pymc/pull/6835 ### Documentation π
- Don't use size and simplify dims example in dimensionality notebook by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6829 ### Maintenance π§
- GP Covariance Function Type Hints by @jahall in https://github.com/pymc-devs/pymc/pull/6740
- Restrict domain on alpha in the CAR distribution by @daniel-saunders-phil in https://github.com/pymc-devs/pymc/pull/6801
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.6.1...v5.7.0
- Python
Published by ricardoV94 over 2 years ago
pymc - v5.6.1
What's Changed
Bugfixes πͺ²
- Allow creating CustomDist inside another CustomDist by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6822 ### Documentation π
- Fix mathematical notation in conditional_logprob docstrings by @amyoshino in https://github.com/pymc-devs/pymc/pull/6821 ### Maintenance π§
- replacing pytensor-devs for aesara-devs by @amyoshino in https://github.com/pymc-devs/pymc/pull/6817
- Prevent unbound trace due to type hints by @thomasaarholt in https://github.com/pymc-devs/pymc/pull/6809
- Update hyperlinks in GLM core notebook by @daniel-saunders-phil in https://github.com/pymc-devs/pymc/pull/6824
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.6.0...v5.6.1
- Python
Published by ricardoV94 over 2 years ago
pymc - v5.6.0
What's Changed
Major Changes π
- Rewrite logp graph before taking the gradient by @dehorsley in https://github.com/pymc-devs/pymc/pull/6736
- Support automatic imputation for multivariate and symbolic distributions by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6797 ### New Features π
- Probabilty inference for arc transformations by @LukeLB in https://github.com/pymc-devs/pymc/pull/6775
- Add icdf function for Cauchy and Logistic distributions by @amyoshino in https://github.com/pymc-devs/pymc/pull/6747
- Add icdf functions for Lognormal, Half Cauchy and Half Normal distributions by @amyoshino in https://github.com/pymc-devs/pymc/pull/6766
- Add icdf functions for Moyal, Gumbel, Triangular and Weibull distributions by @amyoshino in https://github.com/pymc-devs/pymc/pull/6802
- Allow non-scalar measurable switch mixtures by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6796 ### Bugfixes πͺ²
- squeeze dim_0 dimensions for scalars away by @TimOliverMaier in https://github.com/pymc-devs/pymc/pull/6764
- NotImplementedError for icdf of non-injective MeasurableTransforms by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6793 ### Documentation π
- Logprob docs by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6762
- Simplify Potential docstrings and examples by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6772
- Fix broken link by @eeriksp in https://github.com/pymc-devs/pymc/pull/6767
- speed-up doc building and fix several issues by @OriolAbril in https://github.com/pymc-devs/pymc/pull/6781 ### Maintenance π§
- Removed **kwargs from samplenumpyronuts and sampleblackjaxnuts by @fonnesbeck in https://github.com/pymc-devs/pymc/pull/6768
- Sponsor: add ODSC logo to README.rst by @reshamas in https://github.com/pymc-devs/pymc/pull/6770
- Fix typos in PolyaGamma's docstring by @aleicazatti in https://github.com/pymc-devs/pymc/pull/6672
- fixing links to images in the pymc_pytensor.ipynb notebook by @jaharvey8 in https://github.com/pymc-devs/pymc/pull/6739
- Better coverage for float32 tests by @ferrine in https://github.com/pymc-devs/pymc/pull/6780
- Allow creating
SymbolicRandomVariables insideCustomDistby @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6805
New Contributors
- @jaharvey8 made their first contribution in https://github.com/pymc-devs/pymc/pull/6739
- @eeriksp made their first contribution in https://github.com/pymc-devs/pymc/pull/6767
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.5.0...v5.6.0
- Python
Published by ricardoV94 over 2 years ago
pymc - v5.5.0
What's Changed
Major Changes π
- Rename basic "jointlogprob" functions to "conditionallogp" by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6760 ### New Features π
- Allow CustomDist with inferred logp in Mixture by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6746 ### Bugfixes πͺ²
- Fix bug in switch mixture logp by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6765 ### Maintenance π§
- Version change in the docs installation command by @error9098x in https://github.com/pymc-devs/pymc/pull/6752
- uncommented bambi lines by @GeoffNordling in https://github.com/pymc-devs/pymc/pull/6749
- More informative error message for unused step sampler arguments by @jahall in https://github.com/pymc-devs/pymc/pull/6738
New Contributors
- @error9098x made their first contribution in https://github.com/pymc-devs/pymc/pull/6752
- @GeoffNordling made their first contribution in https://github.com/pymc-devs/pymc/pull/6749
- @jahall made their first contribution in https://github.com/pymc-devs/pymc/pull/6738
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.4.1...v5.5.0
- Python
Published by ricardoV94 over 2 years ago
pymc - v5.4.1
What's Changed
Bugfixes πͺ²
- Fix minibatch bugs by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6730
- Fix bug when compiling logp with
mode="FAST_COMPILE"by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6735 - Ignore named variables that are not traceable in
get_vars_in_point_listby @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6741 ### Maintenance π§ - Fix small typing error in
sampleoverload by @thomasaarholt in https://github.com/pymc-devs/pymc/pull/6743
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.4.0...v5.4.1
- Python
Published by ricardoV94 over 2 years ago
pymc - v5.4.0
What's Changed
Major Changes π
- Change logger names from all
pymcto module name by @pdb5627 in https://github.com/pymc-devs/pymc/pull/6712 ### New Features π - Add logcdf implementation for Truncated distributions by @shreyas3156 in https://github.com/pymc-devs/pymc/pull/6690
- Improve numerical precision of discrete uniform and geometric ICDFs by @gokuld in https://github.com/pymc-devs/pymc/pull/6671
- Derive logprob for hyperbolic and error transformations by @LukeLB in https://github.com/pymc-devs/pymc/pull/6664
- Add logprob inference for
notoperations by @shreyas3156 in https://github.com/pymc-devs/pymc/pull/6689 - Added scale parameterization to Exponential by @manulpatel in https://github.com/pymc-devs/pymc/pull/6677
- Speedup Slice sampler by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6711
- Add Hurdle distributions by @tomicapretto in https://github.com/pymc-devs/pymc/pull/6688
- Implement ICDF for Laplace and Pareto distributions by @james-2001 in https://github.com/pymc-devs/pymc/pull/6707
- Support Scans in
CustomDistby @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6696 ### Bugfixes πͺ² - Rename
_replace_rvs_in_graphsand fix bug when replacing input by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6720 ### Documentation π - Update gaussian processes guide by @daniel-saunders-phil in https://github.com/pymc-devs/pymc/pull/6693
- Add redirects from old v3 notebooks by @OriolAbril in https://github.com/pymc-devs/pymc/pull/6719 ### Maintenance π§
- Type overloading for
return_inferencedatainsampleby @thomasaarholt in https://github.com/pymc-devs/pymc/pull/6709 - Remove
joint_logprobfunction fromtests.logprob.utilsby @shreyas3156 in https://github.com/pymc-devs/pymc/pull/6650
New Contributors
- @manulpatel made their first contribution in https://github.com/pymc-devs/pymc/pull/6692
- @tomicapretto made their first contribution in https://github.com/pymc-devs/pymc/pull/6688
- @james-2001 made their first contribution in https://github.com/pymc-devs/pymc/pull/6707
- @pdb5627 made their first contribution in https://github.com/pymc-devs/pymc/pull/6712
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.3.1...v5.4.0
- Python
Published by ricardoV94 over 2 years ago
pymc - v5.3.1
What's Changed
New Features π
- Derive logprob of
<and>operations by @shreyas3156 in https://github.com/pymc-devs/pymc/pull/6662 - Derive logprob of
>=and<=operations by @shreyas3156 in https://github.com/pymc-devs/pymc/pull/6680 ### Bugfixes πͺ² - Fix
WhiteNoiseCovariance bug by @dehorsley in https://github.com/pymc-devs/pymc/pull/6674 ### Documentation π - Link to PyMC v5 port of DBDA book by @cluhmann in https://github.com/pymc-devs/pymc/pull/6681 ### Maintenance π§
CustomDistandSimulatorno longer requireclass_namewhen creating adistby @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6668- Make metropolis elemwise updates independent of each other by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6678
- Make logprob inference for binary ops independent of order of inputs by @shreyas3156 in https://github.com/pymc-devs/pymc/pull/6682
- Rectify type-hints for
set_databy @Dhruvanshu-Joshi in https://github.com/pymc-devs/pymc/pull/6676
New Contributors
- @PlayingData made their first contribution in https://github.com/pymc-devs/pymc/pull/6683
- @dehorsley made their first contribution in https://github.com/pymc-devs/pymc/pull/6674
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.3.0...v5.3.1
- Python
Published by ricardoV94 over 2 years ago
pymc - v5.3.0
What's Changed
Major Changes π
- Bump Pytensor dependency by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6665
- Latex and string representation of variables now uses long Distribution names
x ~ N(0, 1) -> x ~ Normal(0, 1)### New Features π
- Latex and string representation of variables now uses long Distribution names
- Implement
Model.debug()helper by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6634 - Added ICDF for the exponential distribution by @gokuld in https://github.com/pymc-devs/pymc/pull/6641
- Issue warning if RVs are present in derived probability graphs by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6651 ### Bugfixes πͺ²
- Fix bug in random function of HalfStudent by @Dhruvanshu-Joshi in https://github.com/pymc-devs/pymc/pull/6658
- Fix dtype casting bug in icdf function by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6669 ### Documentation π
- Fix docstrings formatting and add
unnamed_distributionto glossary by @alporter08 in https://github.com/pymc-devs/pymc/pull/6638 - Add Gitpod video to contributing page by @reshamas in https://github.com/pymc-devs/pymc/pull/6646
- Add timestamps to list of possible contributions by @reshamas in https://github.com/pymc-devs/pymc/pull/6623
- Improve docstrings in GP module by @daniel-saunders-phil in https://github.com/pymc-devs/pymc/pull/6652
- Arrange distributions and sub-contents alphabetically by @Dhruvanshu-Joshi in https://github.com/pymc-devs/pymc/pull/6653 ### Maintenance π§
- Update links to sponsor images by @reshamas in https://github.com/pymc-devs/pymc/pull/6643
- Add type hints to distribution parameters by @iykat in https://github.com/pymc-devs/pymc/pull/6635
New Contributors
- @alporter08 made their first contribution in https://github.com/pymc-devs/pymc/pull/6638
- @iykat made their first contribution in https://github.com/pymc-devs/pymc/pull/6635
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.2.0...v5.3.0
- Python
Published by ricardoV94 over 2 years ago
pymc - v5.2.0
What's Changed
Major Changes π
- Rename
logprob/joint_logptologprob/basicand movelogcdfandicdffunctions there by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6599
New Features π
- Add HSGP Latent GP approximation by @bwengals in https://github.com/pymc-devs/pymc/pull/6458
- Allow logcdf and icdf inference by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6597
- Implement icdf for the uniform distribution by @michaelraczycki in https://github.com/pymc-devs/pymc/pull/6528
- Implement icdf for the discrete uniform distribution. by @gokuld in https://github.com/pymc-devs/pymc/pull/6617
- Infer logprob of scans with carried auxiliary states by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6582
- Infer logprob of
IfElsegraphs by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6529 - Infer logprob of elemwise transformations of multivariate variables by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6607
- Infer logprob of SpecifyShape and CheckandRaise by @Dhruvanshu-Joshi in https://github.com/pymc-devs/pymc/pull/6538
Documentation π
- Add definition of B in documentation for
Betadistribution by @JoKeyser in https://github.com/pymc-devs/pymc/pull/6604 - Fix a typo in the docstring for
OrderedLogisticby @NathanielF in https://github.com/pymc-devs/pymc/pull/6611 - Improved docstring for predictions argument in
sample_posterior_predictiveby @fonnesbeck in https://github.com/pymc-devs/pymc/pull/6616
Maintenance π§
- Renamed internal
ataliases toptby @shreyas3156 in https://github.com/pymc-devs/pymc/pull/6577 - Remove
autoargument frompm.Deterministicdocstring by @shreyas3156 in https://github.com/pymc-devs/pymc/pull/6592 - Remove shape helper functions by @symeneses in https://github.com/pymc-devs/pymc/pull/6556
- Give more readable error message when checking the starting values for MCMC by @Dhruvanshu-Joshi in https://github.com/pymc-devs/pymc/pull/6632
- Improve
collect_default_updatesby @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6620 - Minor improvements to GitPod by @maresb in https://github.com/pymc-devs/pymc/pull/6618
New Contributors
- @shreyas3156 made their first contribution in https://github.com/pymc-devs/pymc/pull/6577
- @NathanielF made their first contribution in https://github.com/pymc-devs/pymc/pull/6611
- @gokuld made their first contribution in https://github.com/pymc-devs/pymc/pull/6617
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.1.2...v5.2.0
- Python
Published by ricardoV94 over 2 years ago
pymc - v5.1.2
What's Changed
New Features π
- Allow passing dims to
PotentialandDeterministicby @Raj-Parekh24 in https://github.com/pymc-devs/pymc/pull/6576 - Add
nuts_sampler_kwargsandnuts_kwargstosampleby @fonnesbeck in https://github.com/pymc-devs/pymc/pull/6581 - Implement
check_icdfhelper to test icdf implementations by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6583 ### Bugfixes πͺ² - Fix
warn_treedepthlooking at the wrong stat by @michaelosthege in https://github.com/pymc-devs/pymc/pull/6591 ### Documentation π - Gitpod instructions by @reshamas in https://github.com/pymc-devs/pymc/pull/6549 ### Maintenance π§
- Add explicit support for Python 3.11 by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6584
- Fix typos in
Potentialdocstring by @chriswmann in https://github.com/pymc-devs/pymc/pull/6575 - Fix typo in
ZeroInflatedNegBinomialby @aleicazatti in https://github.com/pymc-devs/pymc/pull/6585
New Contributors
- @Raj-Parekh24 made their first contribution in https://github.com/pymc-devs/pymc/pull/6576
- @chriswmann made their first contribution in https://github.com/pymc-devs/pymc/pull/6575
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.1.1...v5.1.2
- Python
Published by ricardoV94 almost 3 years ago
pymc - v5.1.1
While this release carries a minor-version number increase, it is actually a major release (5.1). 5.1.0 was skipped due to a packaging issue.
What's Changed
Major Changes π
- Access to external NUTS samplers (
nutpie,blackjax,numpyro) with newsample()kwarg callednuts_samplerwhich often provide huge speed-ups and improved convergence by @twiecki and @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6422 - Enforce
dimselements to be strings by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6470 - Align DEMetropolis defaults with literature recommendations by @gbrunkhorst in https://github.com/pymc-devs/pymc/pull/6488
- Tests are no longer part of the package by @Armavica in https://github.com/pymc-devs/pymc/pull/6540
- Replace rvstototal_sizes mapping by MinibatchRandomVariables by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6523 ### New Features π
- Use separate argument in
CustomDistfor functions that return symbolic representations by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6462 - Add nu parametrization to beta distribution by @alekracicot in https://github.com/pymc-devs/pymc/pull/6344
- Preregister shapes of sampler stats by @michaelosthege in https://github.com/pymc-devs/pymc/pull/6517
- Optional McBackend support by @michaelosthege in https://github.com/pymc-devs/pymc/pull/6510
- Make VI (posterior) mean and std accessible as a structured xarray by @fonnesbeck in https://github.com/pymc-devs/pymc/pull/6387
- Add mutable coords to Model by @Dhruvanshu-Joshi in https://github.com/pymc-devs/pymc/pull/6515
- Allow Scan logprob inference of non-pure RandomVariable outputs by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6578
- Public test utilities can now be found in
testingmodule by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6571 ### Bugfixes πͺ² - Fix bug in transformed scan variables by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6573 ### Maintenance π§
- Fix some UserWarnings by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6407
- Decouple convergence checking from
SamplerReportby @michaelosthege in https://github.com/pymc-devs/pymc/pull/6453 - Updated LICENSE to include AePPL license info by @fonnesbeck in https://github.com/pymc-devs/pymc/pull/6474
- Fix typo in model comparison notebook by @Mikhail-Naumov in https://github.com/pymc-devs/pymc/pull/6480
- Add devcontainer Docker image by @maresb in https://github.com/pymc-devs/pymc/pull/6482
- Update GitPod base image to use pymc-built image by @maresb in https://github.com/pymc-devs/pymc/pull/6483
- Register Op as subclass of Distributions with
rv_typedefined by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6493 - Refactoring towards
IBaseTraceinterfaces by @michaelosthege in https://github.com/pymc-devs/pymc/pull/6475 - Fix some type issues related to retrieving stats from traces by @michaelosthege in https://github.com/pymc-devs/pymc/pull/6504
- Move pymc/distributions/logprob.py to pymc/logprob/ by @Armavica in https://github.com/pymc-devs/pymc/pull/6441
- Update GLM_linear.ipynb by @bsenst in https://github.com/pymc-devs/pymc/pull/6519
- Fix plot in HyperGeometric docstring by @aleicazatti in https://github.com/pymc-devs/pymc/pull/6513
- Build docs in simplified environment by @michaelosthege in https://github.com/pymc-devs/pymc/pull/6537
- BetaBinomial variance is not correctly described by @soma2000-lang in https://github.com/pymc-devs/pymc/pull/6516
- Rename
zerosum_axeston_zerosum_axesby @michaelraczycki in https://github.com/pymc-devs/pymc/pull/6522 - issue #5791, dims & cords inference from xarray by @michaelraczycki in https://github.com/pymc-devs/pymc/pull/6514
- Fix some code lints found with ruff by @Armavica in https://github.com/pymc-devs/pymc/pull/6545
- Add check for variables in step samplers by @michaelraczycki in https://github.com/pymc-devs/pymc/pull/6524
- Fix two typos in documentation by @JoKeyser in https://github.com/pymc-devs/pymc/pull/6547
- Bump PyTensor dependency by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6531
- Updated docstring for Potential function by @Dhruvanshu-Joshi in https://github.com/pymc-devs/pymc/pull/6559
TruncatedNormalonly acceptsmuandsigmaas non keyword arguments by @michaelraczycki in https://github.com/pymc-devs/pymc/pull/6568- Exclude tests from package discovery by @Armavica in https://github.com/pymc-devs/pymc/pull/6552
New Contributors
- @Mikhail-Naumov made their first contribution in https://github.com/pymc-devs/pymc/pull/6480
- @gbrunkhorst made their first contribution in https://github.com/pymc-devs/pymc/pull/6488
- @dependabot made their first contribution in https://github.com/pymc-devs/pymc/pull/6490
- @bsenst made their first contribution in https://github.com/pymc-devs/pymc/pull/6519
- @Dhruvanshu-Joshi made their first contribution in https://github.com/pymc-devs/pymc/pull/6515
- @aleicazatti made their first contribution in https://github.com/pymc-devs/pymc/pull/6513
- @michaelraczycki made their first contribution in https://github.com/pymc-devs/pymc/pull/6522
- @JoKeyser made their first contribution in https://github.com/pymc-devs/pymc/pull/6547
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.0.2...v5.1.1<!-- Release notes generated using configuration in .github/release.yml at v5.1.1 -->
- Python
Published by twiecki almost 3 years ago
pymc - v5.0.2
What's Changed
Major Changes π
- Bump PyTensor to 2.9.1 by @michaelosthege in https://github.com/pymc-devs/pymc/pull/6431
- Remove
add_values/remove_valuesto fix backend type issues by @michaelosthege in https://github.com/pymc-devs/pymc/pull/6451 ### New Features π - Infer logprob of absolute operations and fix logprob of powers with negative values by @LukeLB in https://github.com/pymc-devs/pymc/pull/6414 ### Bugfixes πͺ²
- Revert "Add informative error if user tries to use Aesara function with PyTensor variables by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6440
- Fix bug that does not correctly set the dtype of determinsitic variabβ¦ by @jessegrabowski in https://github.com/pymc-devs/pymc/pull/6425 ### Maintenance π§
- Inconsistent kwarg progressbar or progress_bar by @Gimmesoup in https://github.com/pymc-devs/pymc/pull/6389
- Default VonMises kappa to 1.0 and fix math notation in doc by @wd60622 in https://github.com/pymc-devs/pymc/pull/6419
- ModelGraph only stops ancestry check at model defined named_vars by @lucianopaz in https://github.com/pymc-devs/pymc/pull/6426
- Add Matern12 covariance function to docs by @fonnesbeck in https://github.com/pymc-devs/pymc/pull/6429
- Reference template notebook in Jupyter style guide by @reshamas in https://github.com/pymc-devs/pymc/pull/6433
- Refactor internal sampling functions by @michaelosthege in https://github.com/pymc-devs/pymc/pull/6444
- Refactoring and addition of helpers to handle flat stats by @michaelosthege in https://github.com/pymc-devs/pymc/pull/6443
- Add seealso note to install docs by @OriolAbril in https://github.com/pymc-devs/pymc/pull/6448
New Contributors
- @Gimmesoup made their first contribution in https://github.com/pymc-devs/pymc/pull/6389
- @jessegrabowski made their first contribution in https://github.com/pymc-devs/pymc/pull/6425
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.0.1...v5.0.2
- Python
Published by twiecki almost 3 years ago
pymc - v5.0.1
What's Changed
New Features π
- Implement logp derivation for division, subtraction and negation by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6371
- Extend logprob inference to power transforms by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6400 ### Bugfixes π
- Update PyTensor dependency and fix bugs in inferred mixture logprob by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6397 ### Maintenance π§
- Update Release Notes template by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6392
- Remove global RandomStream by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6396
- Fix error in docstring of Truncated by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6395
- added postprocessingchunks option to sampleblackjax_nuts and sample⦠by @wnorcbrown in https://github.com/pymc-devs/pymc/pull/6388
- replaces numpy sqrt method with pytensor equivalent by @morganstrom in https://github.com/pymc-devs/pymc/pull/6405
New Contributors
- @wnorcbrown made their first contribution in https://github.com/pymc-devs/pymc/pull/6388
Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.0.0...v5.0.1
- Python
Published by twiecki about 3 years ago
pymc - v5.0.0
What's Changed
In this major release we are switching our graph computation backend from Aesara to PyTensor, which is a fork of Aesara under PyMC governance. Read the full announcement here: PyMC is Forking Aesara to PyTensor.
The switch itself should be rather seamless and you can probably just update your imports:
python
import aesara.tensor as at # old (pymc >=4,< 5)
import pytensor.tensor as pt # new (pymc >=5)
If you encounter problems updating please check the latest Discussions and don't hesitate to get in touch.
Major Changes π
- β Switched the graph backend from Aesara to PyTensor
- Merged AePPL into a new
logprobsubmodule. Dispatch methods can be found inlogprob.abstract - β The loglikelihood, needed for
arviz.compareis no longer computed by default. It can be added with `idata = pm.computeloglikelihood(idata)or usingpm.sample(idatakwargs=dict(log_likelihood=True))` by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6374 - Changed
MinibatchAPI by @ferrine in https://github.com/pymc-devs/pymc/pull/6304 - Fix ordering transformation for batched dimensions, and deprecate in favor of
univariate_orderedandmultivariate_orderedby @TimOliverMaier in #6255 and @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6375
New Features & Bugfixes π
- Support logp derivation in
DensityDistwhenrandomfunction returns a PyTensor variable by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6361 - Added alternative parametrization for
AsymmetricLaplaceby @aloctavodia in https://github.com/pymc-devs/pymc/pull/6337
Docs & Maintenance π§
- Bugfixes to increase robustness against unnamed
dimsby @michaelosthege in https://github.com/pymc-devs/pymc/pull/6339 - Updated
GOVERNANCE.mdby @canyon289 in https://github.com/pymc-devs/pymc/pull/6358 - Fixed overriding user provided
mp_ctxstrings topm.sample()on M1 MacOS by @digicosmos86 in https://github.com/pymc-devs/pymc/pull/6363 - Simplify measurable transform rewrites by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6370
- Fix measurable stack and join with interdependent inputs by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6342
- Allow transforms to work with multiple-valued nodes by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6341
- Fix transformed
Scanvalues by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6343 - Add issue templates by @ferrine in https://github.com/pymc-devs/pymc/pull/6327
- Fail docs build on errors in core notebooks by @michaelosthege in https://github.com/pymc-devs/pymc/pull/6324
- Curated ecosystem references by @michaelosthege in https://github.com/pymc-devs/pymc/pull/6383
- Switched
run_mypy.pyfrom pass-listing to fail-listing by @michaelosthege in https://github.com/pymc-devs/pymc/pull/6381 - Runing
pydocstylein pre-commit by @michaelosthege in https://github.com/pymc-devs/pymc/pull/6382 - Removed
NoDistributionfrom docs by @stestoll in https://github.com/pymc-devs/pymc/pull/6316 - Fix transforms example by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6333
New Contributors
- @digicosmos86 made their first contribution in https://github.com/pymc-devs/pymc/pull/6363
Full Changelog: https://github.com/pymc-devs/pymc/compare/v4.4.0...v5.0.0
- Python
Published by michaelosthege about 3 years ago
pymc - v4.4.0
What's Changed
Major Changes π
- Removed support for selectively tracking variables via
pm.sample(trace=[...]). by @michaelosthege in https://github.com/pymc-devs/pymc/pull/6269 - Do not rely on tag information for rv and logp conversions by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6281. This includes:
- Deprecated accessing any of
[value_variable|observations|transform|total_size]viavar.tagin favor ofmodel.rvs_to_[values|transforms|total_sizes] - Deprecated
joint_logpin favor ofmodel.logp - Deprecated
aesaraf.rvs_to_value_varsin favor ofmodel.replace_rvs_by_values
- Deprecated accessing any of
- Using keyword
seedfor initial point no longer supported by @wd60622 in https://github.com/pymc-devs/pymc/pull/6291 - Sampling of transformed variables from prior_predictive is no longer allowed by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6309
- Require all step methods to return stats by @michaelosthege in https://github.com/pymc-devs/pymc/pull/6313. This includes
- Require all step methods to return stats from their
step/astepmethod. - The
BlockedStep.generates_statsattribute was removed.
- Require all step methods to return stats from their
New Features & Bugfixes π
- Fix shared variable latex by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6260
- Fix bug when replacing random variables with nested value transforms by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6281
- Do not infer
graph_modelnode types based on variable Op class by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6259 - Do not propagate dims to observed component of imputed variable by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6263
- Fix Categorical and Multinomial bugs by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6265
- Sample stats for blackjax nuts by @TimOliverMaier in https://github.com/pymc-devs/pymc/pull/6264
- Add warning if observed in DensityDist is dict by @symeneses in https://github.com/pymc-devs/pymc/pull/6292
- Fix versioneer config to match version tags by @michaelosthege in https://github.com/pymc-devs/pymc/pull/6314 ### Docs & Maintenance π§
- Split
sampling.pyintosampling.pyandsampling_forward.pyby @michaelosthege in https://github.com/pymc-devs/pymc/pull/6257 - Improve
join_nonshared_inputsdocumentation by @wd60622 in https://github.com/pymc-devs/pymc/pull/6216 - Move sampling code to a submodule by @michaelosthege in https://github.com/pymc-devs/pymc/pull/6268
- Fixed a typo in the overview notebook by @grtyvr in https://github.com/pymc-devs/pymc/pull/6274
- Check that sampler vars correspond to value variables in the model by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6235
- Updated pymc.DiscreteWeibull docstring by @hyosubkim in https://github.com/pymc-devs/pymc/pull/6283
- Improve random seed processing for SMC sampling by @juanitorduz in https://github.com/pymc-devs/pymc/pull/6298
- Remove wrong type-hints and stale docstrings from distributions by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6280
- update theme by @OriolAbril in https://github.com/pymc-devs/pymc/pull/6296
- Fix some typos and lints by @Armavica in https://github.com/pymc-devs/pymc/pull/6300
- Update docstrings for sample_smc and smc.py by @rowangayleschaefer in https://github.com/pymc-devs/pymc/pull/6114
- Fix Flaky Euler-Maruyama Tests by @wd60622 in https://github.com/pymc-devs/pymc/pull/6287
New Contributors
- @grtyvr made their first contribution in https://github.com/pymc-devs/pymc/pull/6274
- @hyosubkim made their first contribution in https://github.com/pymc-devs/pymc/pull/6283
Full Changelog: https://github.com/pymc-devs/pymc/compare/v4.3.0...v4.4.0
- Python
Published by michaelosthege about 3 years ago
pymc - v4.3.0
What's Changed
Major Changes π
- Remove
samplesandkeep_sizefromsample_posterior_predictiveby @pibieta in https://github.com/pymc-devs/pymc/pull/6029 - Deprecate old or unused
Modelmethods by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6237 - Rename SMC files by @IMvision12 in https://github.com/pymc-devs/pymc/pull/6174
- Require backends to record sample stats by @wd60622 in https://github.com/pymc-devs/pymc/pull/6205
- Collect sampler warnings only through stats by @michaelosthege in https://github.com/pymc-devs/pymc/pull/6192 ### New Features & Bugfixes π
- Refactor
EulerMaruyamato work in v4 by @junpenglao in https://github.com/pymc-devs/pymc/pull/6227 - Fix bug in
get_vars_in_point_listwhen model does not have variables that exist in the trace by @lucianopaz in https://github.com/pymc-devs/pymc/pull/6203 ### Docs & Maintenance π§ - Speed up posterior predictive sampling by @OriolAbril in https://github.com/pymc-devs/pymc/pull/6208
- Add option to include transformed variables in InferenceData by @dfm in https://github.com/pymc-devs/pymc/pull/6232
- Set start method to
"fork"for MacOs ARM devices by @bchen93 in https://github.com/pymc-devs/pymc/pull/6218 - Deprecate
sample_posterior_predictive_wby @zaxtax in https://github.com/pymc-devs/pymc/pull/6254 - Fix latex repr of symbolic distributions by @mattiadg in https://github.com/pymc-devs/pymc/pull/6231
- Some doc fixes by @OriolAbril in https://github.com/pymc-devs/pymc/pull/6200
- Modify
logo_linkto work with new sphinx schema by @hdnl in https://github.com/pymc-devs/pymc/pull/6209 - Fix docstring of the
ZeroInflatedPoissondistribution by @cscheffler in https://github.com/pymc-devs/pymc/pull/6213 - Fix
debug_printof wrong variable in notebook by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6225 - Fix flaky
TestMixture.test_component_choice_randomby @bherwerth in https://github.com/pymc-devs/pymc/pull/6222 - Seed flaky test
TestSamplePPC.test_normal_scalarby @mattiadg in https://github.com/pymc-devs/pymc/pull/6220 - Fix flaky
TestTruncation.truncation_discrete_randomby @mattiadg in https://github.com/pymc-devs/pymc/pull/6229 - Seed pm.sample in
BaseSampler(SeededTest)to make deriving test classes deterministic by @mattiadg in https://github.com/pymc-devs/pymc/pull/6251
New Contributors
- @hdnl made their first contribution in https://github.com/pymc-devs/pymc/pull/6209
- @mattiadg made their first contribution in https://github.com/pymc-devs/pymc/pull/6220
- @bchen93 made their first contribution in https://github.com/pymc-devs/pymc/pull/6218
- @IMvision12 made their first contribution in https://github.com/pymc-devs/pymc/pull/6174
Full Changelog: https://github.com/pymc-devs/pymc/compare/v4.2.2...v4.3.0
- Python
Published by ricardoV94 about 3 years ago
pymc - v4.2.2
What's Changed
New Features & Bugfixes π
- Add
ZeroSumNormaldistribution by @AlexAndorra in https://github.com/pymc-devs/pymc/pull/6121 - Refactor Multivariate
RandomWalkdistributions by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6131 ### Docs & Maintenance π§ - Finish restructuring the tests to follow the structure of the code by @Armavica in https://github.com/pymc-devs/pymc/pull/6125
- Small typo corrections in Markdown for overview notebook by @willettk in https://github.com/pymc-devs/pymc/pull/6183
- Run mypy outside of pre-commit in its own job by @michaelosthege in https://github.com/pymc-devs/pymc/pull/6186
- Update docstrings of
set_dataandDataby @bwengals in https://github.com/pymc-devs/pymc/pull/6087 - Remove unused trace features by @michaelosthege in https://github.com/pymc-devs/pymc/pull/6188
New Contributors
- @willettk made their first contribution in https://github.com/pymc-devs/pymc/pull/6183
Full Changelog: https://github.com/pymc-devs/pymc/compare/v4.2.1...v4.2.2
- Python
Published by ricardoV94 about 3 years ago
pymc - v4.2.1
What's Changed
New Features & Bugfixes π
- Check shared variable values to determine volatility in posterior predictive sampling by @lucianopaz in https://github.com/pymc-devs/pymc/pull/6147
- Log name of variables that are sampled in predictive sampling functions by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6142
- Fix
DiscreteUniformRVdropping degenerate dimension by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6151 - Fix shape bug when creating a truncated normal via
Truncatedby @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6165
Docs & Maintenance π§
- Repair the plot of
Interpolatedand add an example forDeterministicby @Armavica in https://github.com/pymc-devs/pymc/pull/6126 - Add
constant_foldhelper by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6160 - Use
sigmainstead ofnoisein GP functions 6094 by @wd60622 in https://github.com/pymc-devs/pymc/pull/6145 - Replace multinomial sampling with systematic sampling in
sample_smcby @aloctavodia in https://github.com/pymc-devs/pymc/pull/6162 - Assume
default_outputis the only measurable output inSymbolicRandomVariablesby @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6161
New Contributors
- @wd60622 made their first contribution in https://github.com/pymc-devs/pymc/pull/6145
Full Changelog: https://github.com/pymc-devs/pymc/compare/v4.2.0...v4.2.1
- Python
Published by ricardoV94 about 3 years ago
pymc - v4.2.0
What's Changed
Major Changes π
- Allow broadcasting via observed and dims by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6063
- Remove support for specifying "dims on the fly" from the shapes of variables by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6112
- Automatic versioning with versioneer by @cfonnesbeck in https://github.com/pymc-devs/pymc/pull/6078
New Features & Bugfixes π
- Implement Truncated distributions by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6113
- Port
GARCH11to v4 by @junpenglao in https://github.com/pymc-devs/pymc/pull/6119 - Implement Symbolic RVs and enable nested distribution factories (such as Mixtures of Mixtures) by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6072
- Allow for batched
alphainStickBreakingWeightsby @purna135 in https://github.com/pymc-devs/pymc/pull/6042 - Remove
NoDistributionand enable.distAPI forSimulatorandDensityDistby @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6110 - Add
start_sigmato ADVI 2 by @markusschmaus in https://github.com/pymc-devs/pymc/pull/6132 - Create .gitpod.yml by @ferrine in https://github.com/pymc-devs/pymc/pull/6070 and https://github.com/pymc-devs/pymc/pull/6109
Docs & Maintenance π§
- Make
rvs_to_valueswork with non-RandomVariables by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6101 - Fix bug in
Marginalapproxby @bwengals in https://github.com/pymc-devs/pymc/pull/6076 - Fix bug in which
TruncatedNormalreturns-inffor all values if any value is out of bounds by @adrn in https://github.com/pymc-devs/pymc/pull/6128 - Rename
cov_func/covtoscale_func/scaleforTP/MvStudentTby @fonnesbeck in https://github.com/pymc-devs/pymc/pull/6068 - Ignore
SpecifyShapewhen converting to JAX by @martiningram in https://github.com/pymc-devs/pymc/pull/6062 - Remove
reshape_tby @tjburch in https://github.com/pymc-devs/pymc/pull/6118 - Fix
Modeldocstring by @alekracicot in https://github.com/pymc-devs/pymc/pull/6048 - Update opvi docs by @ferrine in https://github.com/pymc-devs/pymc/pull/6093
- Fix formatting in documentation of
ARdistribution parameters by @daniel-saunders-phil in https://github.com/pymc-devs/pymc/pull/6080 - Fix incorrect formula in
NormalMixturedocstring by @MatthewQuenneville in https://github.com/pymc-devs/pymc/pull/6073 - Fix last remaining PyMC3 occurrences & broken link by @Armavica in https://github.com/pymc-devs/pymc/pull/6133
- Update GOVERNANCE.md for PyMCon_2022 planning repo by @canyon289 in https://github.com/pymc-devs/pymc/pull/6088
- Add new core contributors by @OriolAbril in https://github.com/pymc-devs/pymc/pull/6117
- Pin pydata-sphinx-theme by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6120
- Mirror codebase structure in tests by @Armavica in https://github.com/pymc-devs/pymc/pull/6084
- Clean up some warnings from the test suite by @Armavica in https://github.com/pymc-devs/pymc/pull/6067 and https://github.com/pymc-devs/pymc/pull/6074
- Restructure the test suite to follow the code by @Armavica in https://github.com/pymc-devs/pymc/pull/6111
New Contributors
- @alekracicot made their first contribution in https://github.com/pymc-devs/pymc/pull/6048
- @MatthewQuenneville made their first contribution in https://github.com/pymc-devs/pymc/pull/6073
- @tjburch made their first contribution in https://github.com/pymc-devs/pymc/pull/6118
- @markusschmaus made their first contribution in https://github.com/pymc-devs/pymc/pull/6096
- @cfonnesbeck made their first contribution in https://github.com/pymc-devs/pymc/pull/6078
- @adrn made their first contribution in https://github.com/pymc-devs/pymc/pull/6128
Full Changelog: https://github.com/pymc-devs/pymc/compare/v4.1.7...v4.2.0
- Python
Published by ricardoV94 over 3 years ago
pymc - v4.1.7
What's Changed
Docs & Maintenance π§
- Remove note that probs are automatically rescaled by @Armavica in https://github.com/pymc-devs/pymc/pull/6066
- update the default value of jitter to JITTER_DEFAULT by @danhphan in https://github.com/pymc-devs/pymc/pull/6055
Full Changelog: https://github.com/pymc-devs/pymc/compare/v4.1.6...v4.1.7
- Python
Published by twiecki over 3 years ago
pymc - v4.1.6
What's Changed
Docs & Maintenance π§
- adding markdown cell for Watermark by @reshamas in https://github.com/pymc-devs/pymc/pull/6051
- DOC Adding "Git Bash command" to install virtual enviroment by @vitaliset in https://github.com/pymc-devs/pymc/pull/6056
- Fix JAX sampling funcs overwriting existing var's dims and coords by @jhrcook in https://github.com/pymc-devs/pymc/pull/6041
- Remove unused ISFLOAT32 and ISWINDOWS from test_ode by @maresb in https://github.com/pymc-devs/pymc/pull/6057
- Add missing file test_printing.py to github runner by @Armavica in https://github.com/pymc-devs/pymc/pull/6058
- Convert pip-installed dev dependencies to Conda by @maresb in https://github.com/pymc-devs/pymc/pull/6060
- Upgrade to aesara=2.8.2 and aeppl=0.0.35 by @Armavica in https://github.com/pymc-devs/pymc/pull/6059
New Contributors
- @Armavica made their first contribution in https://github.com/pymc-devs/pymc/pull/6058
Full Changelog: https://github.com/pymc-devs/pymc/compare/v4.1.5...v4.1.6
- Python
Published by twiecki over 3 years ago
pymc - v4.1.5
What's Changed
New Features & Bugfixes π
- Constrain priors with symmetric mass distribution by @lucianopaz in https://github.com/pymc-devs/pymc/pull/5981
- Fix AttributeError in HMC bad initial energy warning by @michaelosthege in https://github.com/pymc-devs/pymc/pull/6037 ### Docs & Maintenance π§
- Fix problems with specifying target_accept and nuts kwargs by @mschmidt87 in https://github.com/pymc-devs/pymc/pull/6018
- Typehints and updated docstring for Blackjax NUTS sampling function by @jhrcook in https://github.com/pymc-devs/pymc/pull/6022
- Revert numpy warnings workaround by @maresb in https://github.com/pymc-devs/pymc/pull/6025
- Revert "Proposal: Readd 3.7" by @twiecki in https://github.com/pymc-devs/pymc/pull/6014
- fixed some docstring spacing around colons by @daniel-saunders-phil in https://github.com/pymc-devs/pymc/pull/6027
- issue6004 fixed example in docstring for set_data by @rowangayleschaefer in https://github.com/pymc-devs/pymc/pull/6028
- Updating docstrings of distributions by @vitaliset in https://github.com/pymc-devs/pymc/pull/5998
- Pass user-provided NUTS kwargs to Numpyro by @jhrcook in https://github.com/pymc-devs/pymc/pull/6021
- β¬οΈ UPGRADE: Autoupdate pre-commit config by @twiecki in https://github.com/pymc-devs/pymc/pull/6008
- [DOCS] Fix aesara core notebook
dprinterror by @juanitorduz in https://github.com/pymc-devs/pymc/pull/6030 - Removed
assert_negative_supportdeprecated function call #5997 by @dihanster in https://github.com/pymc-devs/pymc/pull/6034 - Update aeppl dependency to 0.0.34 by @cluhmann in https://github.com/pymc-devs/pymc/pull/6049
- Updated pymc.simulator docstring (typos, defaults, type description) by @daniel-saunders-phil in https://github.com/pymc-devs/pymc/pull/6035
- Added networkx export functionality by @jonititan in https://github.com/pymc-devs/pymc/pull/6046
New Contributors
- @mschmidt87 made their first contribution in https://github.com/pymc-devs/pymc/pull/6018
- @daniel-saunders-phil made their first contribution in https://github.com/pymc-devs/pymc/pull/6027
- @rowangayleschaefer made their first contribution in https://github.com/pymc-devs/pymc/pull/6028
- @dihanster made their first contribution in https://github.com/pymc-devs/pymc/pull/6034
- @jonititan made their first contribution in https://github.com/pymc-devs/pymc/pull/6046
Full Changelog: https://github.com/pymc-devs/pymc/compare/v4.1.4...v4.1.5
- Python
Published by twiecki over 3 years ago
pymc - v4.1.4
What's Changed
Docs & Maintenance π§
- Updated docstrings of some distribution classes inside multivariate.py by @pibieta in https://github.com/pymc-devs/pymc/pull/5982
- Fix error when passing
coordsanddimsinsampling_jaxby @bherwerth in https://github.com/pymc-devs/pymc/pull/5983 - β¬οΈ UPGRADE: Autoupdate pre-commit config by @twiecki in https://github.com/pymc-devs/pymc/pull/5984
- Fix docker image build by @symeneses in https://github.com/pymc-devs/pymc/pull/5977
- docs: Fix a few typos by @timgates42 in https://github.com/pymc-devs/pymc/pull/5988
- contributing, jupyter style; author section more explicit by @reshamas in https://github.com/pymc-devs/pymc/pull/6000
- Move
MLDAtopymc-experimentalby @michaelosthege in https://github.com/pymc-devs/pymc/pull/6007 - Bump aesara to 2.7.8. by @twiecki in https://github.com/pymc-devs/pymc/pull/5995
- Proposal: Readd 3.7 by @canyon289 in https://github.com/pymc-devs/pymc/pull/6010
- Fix
pm.Interpolatedmoment by @larryshamalama in https://github.com/pymc-devs/pymc/pull/5986 - Bump aesara to 2.7.9 and aeppl to 0.0.33 by @twiecki in https://github.com/pymc-devs/pymc/pull/6012
- Create arrow to observation nodes subject to arbitrary
dtypecasting inpm.model_to_graphvizby @larryshamalama in https://github.com/pymc-devs/pymc/pull/6011
New Contributors
- @pibieta made their first contribution in https://github.com/pymc-devs/pymc/pull/5982
Full Changelog: https://github.com/pymc-devs/pymc/compare/v4.1.3...v4.1.4
- Python
Published by twiecki over 3 years ago
pymc - v4.1.3
What's Changed
Docs & Maintenance π§
- update docstrings in BetaBinomial class by @saurbhc in https://github.com/pymc-devs/pymc/pull/5960
- Deprecate
assert_negative_supportby @vitaliset in https://github.com/pymc-devs/pymc/pull/5963 - Updated docstrings to inform users that ODE solution may be slow. by @dmburt in https://github.com/pymc-devs/pymc/pull/5965
- Add docker-image workflow by @symeneses in https://github.com/pymc-devs/pymc/pull/5966
- β¬οΈ UPGRADE: Autoupdate pre-commit config by @twiecki in https://github.com/pymc-devs/pymc/pull/5967
- Provide a fix for
sample_blackjax_nutsfailing withchains=1with prior parameters of different shapes by @bherwerth in https://github.com/pymc-devs/pymc/pull/5969 - correct docstring in BetaBinomial Class by @SangamSwadiK in https://github.com/pymc-devs/pymc/pull/5957
- Correct docs for Bernoulli, Poisson, Negative Binomial, Geometric and HyperGeometric by @SangamSwadiK in https://github.com/pymc-devs/pymc/pull/5958
- update docstrings in ZeroInflatedPoisson, DiracDelta and OrderedLogistic classes by @saurbhc in https://github.com/pymc-devs/pymc/pull/5962
- Bernoulli, OrderedProbit, ZeroInflatedBinomial, ZeroInflatedNegativeBinomial docstring update by @mariyayb in https://github.com/pymc-devs/pymc/pull/5961
- Updated docstring for findconstrainedprior by @jlindbloom in https://github.com/pymc-devs/pymc/pull/5964
- Point installation links to new installation guide in docs by @fonnesbeck in https://github.com/pymc-devs/pymc/pull/5873
- Bump aesara dependency by @keesterbrugge in https://github.com/pymc-devs/pymc/pull/5970
New Contributors
- @saurbhc made their first contribution in https://github.com/pymc-devs/pymc/pull/5960
- @vitaliset made their first contribution in https://github.com/pymc-devs/pymc/pull/5963
- @dmburt made their first contribution in https://github.com/pymc-devs/pymc/pull/5965
- @bherwerth made their first contribution in https://github.com/pymc-devs/pymc/pull/5969
- @mariyayb made their first contribution in https://github.com/pymc-devs/pymc/pull/5961
- @jlindbloom made their first contribution in https://github.com/pymc-devs/pymc/pull/5964
- @keesterbrugge made their first contribution in https://github.com/pymc-devs/pymc/pull/5970
Full Changelog: https://github.com/pymc-devs/pymc/compare/v4.1.2...v4.1.3
- Python
Published by twiecki over 3 years ago
pymc - v4.1.2
What's Changed
New Features & Bugfixes π
- Fix model graph node name to remove RV from end only and not the start by @cscheffler in https://github.com/pymc-devs/pymc/pull/5953
- Workaround to suppress (some) import warnings from NumPy by @michaelosthege in https://github.com/pymc-devs/pymc/pull/5956 ### Docs & Maintenance π§
- include :: in name prefix check by @moshelooks in https://github.com/pymc-devs/pymc/pull/5951
- correct docstrings in Binomial Class by @SangamSwadiK in https://github.com/pymc-devs/pymc/pull/5952
- Bump Aesara to 2.7.5, aeppl to 0.0.32, update tests for aeppl by @maresb in https://github.com/pymc-devs/pymc/pull/5955
New Contributors
- @moshelooks made their first contribution in https://github.com/pymc-devs/pymc/pull/5951
- @cscheffler made their first contribution in https://github.com/pymc-devs/pymc/pull/5953
- @SangamSwadiK made their first contribution in https://github.com/pymc-devs/pymc/pull/5952
Full Changelog: https://github.com/pymc-devs/pymc/compare/v4.1.1...v4.1.2
- Python
Published by twiecki over 3 years ago
pymc - v4.1.0
What's Changed
Major Changes π
- Dropped support for Python 3.7 and added support for Python 3.10 by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/5917
- Default to
pm.Data(mutable=False)by @michaelosthege in https://github.com/pymc-devs/pymc/pull/5944 - Deprecating
MLDAin anticipation of migrating it topymc-experimentalby @michaelosthege in https://github.com/pymc-devs/pymc/pull/5944
New Features & Bugfixes π
- Small improvements to early NUTS behaviour by @aseyboldt in https://github.com/pymc-devs/pymc/pull/5824
- Correct the order of
rvssent tocompile_dlogpinfind_MAPby @quantheory in https://github.com/pymc-devs/pymc/pull/5928 - Remove
nan_is_numandnan_is_highlimiters fromfind_MAP. by @quantheory in https://github.com/pymc-devs/pymc/pull/5929 - Registering
_as_tensor_variableconverter for pandas objects by @juanitorduz in https://github.com/pymc-devs/pymc/pull/5920 - Fix
modelandaesara_configkwargs forpm.Modelby @ferrine in https://github.com/pymc-devs/pymc/pull/5915
Docs & Maintenance π§
- Remove reference to old parameters in SMC docstring by @aloctavodia in https://github.com/pymc-devs/pymc/pull/5914
- Get rid of python-version specific conda environments by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/5911
- Further fixes to VI docs by @ferrine in https://github.com/pymc-devs/pymc/pull/5916
- Expand dimensionality notebook by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/5746
- Review docstrings checkmarcked as best practice by @OriolAbril in https://github.com/pymc-devs/pymc/pull/5919
- Update conda environment name when running docker with jupyter notebook by @danhphan in https://github.com/pymc-devs/pymc/pull/5933
- Update docs build and contributing instructions by @michaelosthege in https://github.com/pymc-devs/pymc/pull/5938
- Add numpyro install to building docs instructions by @isms in https://github.com/pymc-devs/pymc/pull/5936
- Add version string to conda install command. by @twiecki in https://github.com/pymc-devs/pymc/pull/5946
New Contributors
- @quantheory made their first contribution in https://github.com/pymc-devs/pymc/pull/5928
- @isms made their first contribution in https://github.com/pymc-devs/pymc/pull/5936
Full Changelog: https://github.com/pymc-devs/pymc/compare/v4.0.1...v4.1.0
- Python
Published by michaelosthege over 3 years ago
pymc - v4.0.1
What's Changed
Docs
- PyMC, Aesara and Aeppl intro notebook by @juanitorduz in https://github.com/pymc-devs/pymc/pull/5721
- Moved wiki install guides to the docs by @fonnesbeck in https://github.com/pymc-devs/pymc/pull/5869
- Fix Examples link in README by @ryanrussell in https://github.com/pymc-devs/pymc/pull/5860
- Update dev guide by @michaelosthege in https://github.com/pymc-devs/pymc/pull/5810
- Run black on core notebooks by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/5901
- Convert
rng_seedertorandom_seedin 'Prior and Posterior Predictive Checks' notebook by @hectormz in https://github.com/pymc-devs/pymc/pull/5896 - Disable dark mode in docs by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/5904
- Fixed Student-t process docstring by @kunalghosh in https://github.com/pymc-devs/pymc/pull/5853
Bugfixes & Maintenance
- Align advertised
Metropolis.stats_dtypeswith changes from 1e7d91f by @michaelosthege in https://github.com/pymc-devs/pymc/pull/5882 - Added a check in
Empiricalapproximation which does not yet supportInferenceDatainputs (see #5884) by @ferrine in https://github.com/pymc-devs/pymc/pull/5874 - Compute some basic
Slicesample stats by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/5889 - Fixed bug when sampling discrete variables with SMC by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/5887
- Removed
tsuffix from functions,Modelmethods and properties by @cuchoi in https://github.com/pymc-devs/pymc/pull/5863Model.logptβModel.logpModel.dlogptβModel.dlogpModel.d2logptβModel.d2logpModel.datalogptβModel.datalogpModel.varlogptβModel.varlogpModel.observedlogptβModel.observedlogpModel.potentiallogptβModel.potentiallogpModel.varlogp_nojactβModel.varlogp_nojaclogprob.joint_logptβlogprob.joint_logp
- Remove self-directing arrow in observed nodes by @larryshamalama in https://github.com/pymc-devs/pymc/pull/5893
- Update
clone_replacestrictkeyword name by @brandonwillard in https://github.com/pymc-devs/pymc/pull/5849 - Renamed
pm.Constanttopm.DiracDeltaby @cluhmann in https://github.com/pymc-devs/pymc/pull/5903 - Update
Dockerfileto PyMC v4 by @danhphan in https://github.com/pymc-devs/pymc/pull/5881 - Refactor
sampling_jaxpostrocessing to avoid jit by @ferrine in https://github.com/pymc-devs/pymc/pull/5908 - Fix
compile_fnbug and reduce return type confusion by @michaelosthege in https://github.com/pymc-devs/pymc/pull/5909 - Align conda envs and add Windows 3.9 env by @hectormz in https://github.com/pymc-devs/pymc/pull/5895
- Include
ConstantDatainInferenceDatareturned by JAX samplers by @danhphan in https://github.com/pymc-devs/pymc/pull/5807 - Updated Aesara dependency to 2.7.3 by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/5910
New Contributors
- @kunalghosh made their first contribution in https://github.com/pymc-devs/pymc/pull/5853
- @ryanrussell made their first contribution in https://github.com/pymc-devs/pymc/pull/5860
- @hectormz made their first contribution in https://github.com/pymc-devs/pymc/pull/5896
Full Changelog: https://github.com/pymc-devs/pymc/compare/v4.0.0...v4.0.1
- Python
Published by michaelosthege over 3 years ago
pymc - PyMC 4.0.0
If you want a description of the highlights of this release, check out the release announcement on our new website. Feel free to read it, print it out, and give it to people on the street -- because everybody has to know PyMC 4.0 is officially out πΎ
Do not miss π¨
- β οΈ The project was renamed to "PyMC". Now the library is installed as "pip install pymc" and imported like
import pymc as pm. See this migration guide for more details. - β οΈ Theano-PyMC has been replaced with Aesara, so all external references to
theanoandttneed to be replaced withaesaraandat, respectively (see 4471). - β οΈ Support for JAX and JAX samplers, also allows sampling on GPUs. This benchmark shows speed-ups of up to 11x.
- β οΈ The GLM submodule was removed, please use Bambi instead.
- β οΈ PyMC now requires SciPy version
>= 1.4.1(see #4857).
v3 features not yet working in v4 β³
β οΈ We plan to get these working again, but at this point their inner workings have not been refactored.
- MvNormalRandomWalk, MvStudentTRandomWalk, GARCH11 and EulerMaruyama distributions (see #4642)
- Nested Mixture distributions (see #5533)
- pm.sample_posterior_predictive_w (see #4807)
- Partially observed Multivariate distributions (see #5260)
New features π₯³
Distributions:
- Univariate censored distributions are now available via
pm.Censored. #5169 - The
CARdistribution has been added to allow for use of conditional autoregressions which often are used in spatial and network models. - Added a
logcdfimplementation for the Kumaraswamy distribution (see #4706). - The
OrderedMultinomialdistribution has been added for use on ordinal data which are aggregated by trial, like multinomial observations, whereasOrderedLogisticonly accepts ordinal data in a disaggregated format, like categorical observations (see #4773). - The
Polya-Gammadistribution has been added (see #4531). To make use of this distribution, thepolyagamma>=1.3.1library must be installed and available in the user's environment. pm.DensityDistcan now accept an optionallogcdfkeyword argument to pass in a function to compute the cummulative density function of the distribution (see 5026).pm.DensityDistcan now accept an optionalmomentkeyword argument to pass in a function to compute the moment of the distribution (see 5026).- Added an alternative parametrization,
logit_ptopm.Binomialandpm.Categoricaldistributions (see 5637).
- Univariate censored distributions are now available via
Model dimensions:
- The dimensionality of model variables can now be parametrized through either of
shapeordims(see #4696): - With
shapethe length of dimensions must be given numerically or as scalar AesaraVariables. Numeric entries inshaperestrict the model variable to the exact length and re-sizing is no longer possible. dimskeeps model variables re-sizeable (for example throughpm.Data) and leads to well defined coordinates inInferenceDataobjects.- An
Ellipsis(...) in the last position ofshapeordimscan be used as short-hand notation for implied dimensions. - New features for
pm.Datacontainers: - With
pm.Data(..., mutable=False), or by usingpm.ConstantData()one can now createTensorConstantdata variables. These can be more performant and compatible in situations where a variable doesn't need to be changed viapm.set_data(). See #5295. If you do need to change the variable, usepm.Data(..., mutable=True), orpm.MutableData(). - New named dimensions can be introduced to the model via
pm.Data(..., dims=...). For mutable data variables (see above) the lengths of these dimensions are symbolic, so they can be re-sized viapm.set_data(). pm.Datanow passes additional kwargs toaesara.shared/at.as_tensor. #5098.- The length of
dimsin the model is now tracked symbolically throughModel.dim_lengths(see #4625).
- The dimensionality of model variables can now be parametrized through either of
Sampling:
- β οΈ Random seeding behavior changed (see #5787)!
- Sampling results will differ from those of v3 when passing the same
random_seedas before. They will be consistent across subsequent v4 releases unless mentioned otherwise. - Sampling functions no longer respect user-specified global seeding! Always pass
random_seedto ensure reproducible behavior. random_seednow accepts RandomState and Generators besides integers.- A small change to the mass matrix tuning methods jitter+adaptdiag (the default) and adaptdiag improves performance early on during tuning for some models. #5004
- New experimental mass matrix tuning method jitter+adaptdiaggrad. #5004
- Support for samplers written in JAX:
- Adding support for numpyro's NUTS sampler via
pymc.sampling_jax.sample_numpyro_nuts() - Adding support for blackjax's NUTS sampler via
pymc.sampling_jax.sample_blackjax_nuts()(see #5477) pymc.sampling_jaxsamplers supportlog_likelihood,observed_data, andsample_statsin returnedInferenceDataobject (see #5189)- Adding support for
pm.Deterministicinpymc.sampling_jax(see #5182)
Miscellaneous:
- The new
pm.find_constrained_priorfunction can be used to find optimized prior parameters of a distribution under some constraints (e.g lower and upper bound). See #5231. - Nested models now inherit the parent model's coordinates. #5344
softmaxandlog_softmaxfunctions added tomathmodule (see #5279).- Added the low level
compile_forward_sampling_functionmethod to compile the aesara function responsible for generating forward samples (see #5759).
- The new
Expected breaking changes π
pm.sample(return_inferencedata=True)is now the default (see #4744).- ArviZ
plotsandstatswrappers were removed. The functions are now just available by their original names (see #4549 and3.11.2release notes). pm.sample_posterior_predictive(vars=...)kwarg was removed in favor ofvar_names(see #4343).ElemwiseCategoricalstep method was removed (see #4701)LKJCholeskyCov'scompute_corrkeyword argument is now set toTrueby default (see#5382)- Alternative
sdkeyword argument has been removed from all distributions.sigmashould be used instead (see #5583).
Read on if you're a developer. Or curious. Or both.
Unexpected breaking changes (action needed) π²
Very important β οΈ
pm.Boundinterface no longer accepts a callable class as argument, instead it requires an instantiated distribution (created via the.dist()API) to be passed as an argument. In addition, Bound no longer returns a class instance but works as a normal PyMC distribution. Finally, it is no longer possible to do predictive random sampling from Bounded variables. Please, consult the new documentation for details on how to use Bounded variables (see 4815).- BART has received various updates (5091, 5177, 5229, 4914) but was removed from the main package in #5566. It is now available from pymc-experimental.
- Removed
AR1.ARof order 1 should be used instead. (see 5734). - The
pm.EllipticalSlicesampler was removed (see #5756). BaseStochasticGradientwas removed (see #5630)pm.Distribution(...).logp(x)is nowpm.logp(pm.Distribution(...), x).pm.Distribution(...).logcdf(x)is nowpm.logcdf(pm.Distribution(...), x).pm.Distribution(...).random(size=x)is nowpm.draw(pm.Distribution(...), draws=x).pm.draw_values(...)andpm.generate_samples(...)were removed.pm.fast_sample_posterior_predictivewas removed.pm.sample_prior_predictive,pm.sample_posterior_predictiveandpm.sample_posterior_predictive_wnow return anInferenceDataobject by default, instead of a dictionary (see #5073).pm.sample_prior_predictiveno longer returns transformed variable values by default. Pass them by name invar_namesif you want to obtain these draws (see 4769).pm.sample(trace=...)no longer acceptsMultiTraceorlen(.) > 0traces (see 5019#).- Setting of initial values:
- Setting initial values through
pm.Distribution(testval=...)is nowpm.Distribution(initval=...). Model.update_start_values(...)was removed. Initial values can be set in theModel.initial_valuesdictionary directly.- Test values can no longer be set through
pm.Distribution(testval=...)and must be assigned manually.
- Setting initial values through
transformsmodule is no longer accessible at the root level. It is accessible atpymc.distributions.transforms(see#5347).logp,dlogp, andd2logpandnojacvariations were removed. UseModel.compile_logp,compile_dlgopandcompile_d2logpwithjacobiankeyword instead.pm.DensityDistno longer accepts thelogpas its first position argument. It is now an optional keyword argument. If you pass a callable as the first positional argument, aTypeErrorwill be raised (see 5026).pm.DensityDistnow accepts distribution parameters as positional arguments. Passing them as a dictionary in theobservedkeyword argument is no longer supported and will raise an error (see 5026).- The signature of the
logpandrandomfunctions that can be passed into apm.DensityDisthas been changed (see 5026).
Important:
Signature and default parameters changed for several distributions:
pm.StudentTnow requires eithersigmaorlamas kwarg (see #5628)pm.StudentTnow requiresnuto be specified (no longer defaults to 1) (see #5628)pm.AsymmetricLaplacepositional arguments re-ordered (see #5628)pm.AsymmetricLaplacenow requiresmuto be specified (no longer defaults to 0) (see #5628)ZeroInflatedPoissonthetaparameter was renamed tomu(see #5584).pm.GaussianRandomWalkinitial distribution defaults to zero-centered normal with sigma=100 instead of flat (see#5779)pm.ARinitial distribution defaults to unit normal instead of flat (see#5779)
logpt,logpt_sum,logp_elemwisetandnojacvariations were removed. UseModel.logpt(jacobian=True/False, sum=True/False)instead.dlogp_nojactandd2logp_nojactwere removed. UseModel.dlogptandd2logptwithjacobian=Falseinstead.model.makefnis now calledModel.compile_fn, andmodel.fnwas removed.Methods starting with
fast_*, such asModel.fast_logp, were removed. Same applies toPointFuncclassesModel(model=...)kwarg was removedModel(theano_config=...)kwarg was removedModel.sizeproperty was removed (useModel.ndiminstead).dimsandcoordshandling:Transform.forwardandTransform.backwardsignatures changed.Changes to the Gaussian Process (GP) submodule (see 5055):
- The
gp.prior(..., shape=...)kwarg was renamed tosize. - Multiple methods including
gp.priornow require explicit kwargs. - For all implementations,
gp.Latent,gp.Marginaletc.,cov_funcandmean_funcare required kwargs. - In Windows test conda environment the
mklversion is fixed to verison 2020.4, andmkl-serviceis fixed to2.3.0. This was required forgp.MarginalKronto function properly. gp.MvStudentTuses rotated samples fromStudentTdirectly now, instead of sampling frompm.Chi2and then frompm.Normal.- The "jitter" parameter, or the diagonal noise term added to Gram matrices such that the Cholesky is numerically stable, is now exposed to the user instead of hard-coded. See the function
gp.util.stabilize. - The
is_observedarguement forgp.Marginal*implementations has been deprecated. - In the gp.utils file, the
kmeans_inducing_pointsfunction now passes throughkmeans_kwargsto scipy's k-means function. - The function
replace_with_valuesfunction has been added togp.utils. MarginalSparsehas been renamedMarginalApprox.
- The
Removed
MixtureSameFamily.Mixtureis now capable of handling batched multivariate components (see #5438).
Documentation
- Switched to the pydata-sphinx-theme
- Updated our documentation tooling to use MyST, MyST-NB, sphinx-design, notfound.extension, sphinx-copybutton and sphinx-remove-toctrees.
- Separated the builds of the example notebooks and of the versioned docs.
- Restructured the documentation to facilitate learning paths
- Updated API docs to document objects at the path users should use to import them
Maintenance
- β οΈ Fixed old-time bug in Slice sampler that resulted in biased samples (see #5816).
- Removed float128 dtype support (see #4514).
- Logp method of
UniformandDiscreteUniformno longer depends onpymc.distributions.dist_math.boundfor proper evaluation (see #4541). - We now include
cloudpickleas a required dependency, and no longer depend ondill(see #4858). - The
incomplete_betafunction inpymc.distributions.dist_mathwas replaced byaesara.tensor.betainc(see 4857). math.log1mexpandmath.log1mexp_numpywill expect negative inputs in the future. AFutureWarningis now raised unlessnegative_input=Trueis set (see #4860).- Changed name of
Lognormaldistribution toLogNormalto harmonize CamelCase usage for distribution names. - Attempt to iterate over MultiTrace will raise NotImplementedError.
- Removed silent normalisation of
pparameters in Categorical and Multinomial distributions (see #5370).
- Python
Published by twiecki over 3 years ago
pymc - 4.0.0 beta 6
What's Changed
- Implemented default transform for Mixtures by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/5636
- Scope separator for netcdf by @ferrine in https://github.com/pymc-devs/pymc/pull/5663
- Fix default update bug by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/5667
- Pandas dependency was removed by @thomasjpfan in https://github.com/pymc-devs/pymc/pull/5633
- Recognize cast data in InferenceData by @zaxtax in https://github.com/pymc-devs/pymc/pull/5646
- Updated docstrings of multiple distributions by @purna135 in https://github.com/pymc-devs/pymc/pull/5595, https://github.com/pymc-devs/pymc/pull/5596 and https://github.com/pymc-devs/pymc/pull/5600
- Refine Interval docstrings and fix typo by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/5640
- Add test for interactions between missing, default and explicit updates in
compile_pymcby @ricardoV94 in https://github.com/pymc-devs/pymc/pull/5645 - Test reshape from observed by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/5670
- Upgraded all CI cache actions to v3 by @michaelosthege in https://github.com/pymc-devs/pymc/pull/5647
Full Changelog: https://github.com/pymc-devs/pymc/compare/v4.0.0b5...v4.0.0b6
- Python
Published by michaelosthege over 3 years ago
pymc - 4.0.0 beta 5
What's Changed
- Generalize multinomial moment to arbitrary dimensions by @markvrma in https://github.com/pymc-devs/pymc/pull/5476
- Remove sd optional kwarg from distributions by @purna135 in https://github.com/pymc-devs/pymc/pull/5583
- Improve scoped models by @ferrine in https://github.com/pymc-devs/pymc/pull/5607
- Add helper wrapper aound Interval transform by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/5347
- Rename
logp_transformto_get_default_transformby @ricardoV94 in https://github.com/pymc-devs/pymc/pull/5612 - Do not set RNG updates inplace in compile_pymc by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/5615
- Refine trigger filter for both PRs and pushes by @michaelosthege in https://github.com/pymc-devs/pymc/pull/5619
- Update contributing guide with etiquette section by @michaelosthege in https://github.com/pymc-devs/pymc/pull/5611
- Combine test workflows into one by @michaelosthege in https://github.com/pymc-devs/pymc/pull/5623
- Raise ValueError if random variables are present in the logp graph by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/5614
- Run float32 jobs separately by @michaelosthege in https://github.com/pymc-devs/pymc/pull/5630
- Bring back sampler argument target_accept by @aloctavodia in https://github.com/pymc-devs/pymc/pull/5622
- Parametrize Binomial and Categorical distributions via logit_p by @purna135 in https://github.com/pymc-devs/pymc/pull/5637
- Remove SGMCMC and fix flaky mypy results by @michaelosthege in https://github.com/pymc-devs/pymc/pull/5631
Full Changelog: https://github.com/pymc-devs/pymc/compare/v4.0.0b4...v4.0.0b5
- Python
Published by twiecki almost 4 years ago
pymc - v4.0.0 beta 4
This release adds the following major improvements:
- Refactor Mixture distribution for V4 by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/5438
- Adding NUTS sampler from blackjax to sampling_jax by @zaxtax in https://github.com/pymc-devs/pymc/pull/5477
- Update aesara and aeppl dependencies to fix a memory leak in pymc models by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/5582
New Contributors
- @mirko-m made their first contribution in https://github.com/pymc-devs/pymc/pull/5414
- @chritter made their first contribution in https://github.com/pymc-devs/pymc/pull/5491
- @5hv5hvnk made their first contribution in https://github.com/pymc-devs/pymc/pull/5601
Full Changelog: https://github.com/pymc-devs/pymc/compare/v4.0.0b3...v4.0.0b4
- Python
Published by twiecki almost 4 years ago
pymc - PyMC 3.11.5
PyMC 3.11.5 (15 March 2022)
This is a backport & bugfix release that eases the transition to pymc >=4.0.0.
Backports
- The
pm.logp(rv, x)syntax is now available and recommended to make your model codev4-ready. Note that this backport is just an alias and much less capable than what's available withpymc >=4(see #5083). - The
pm.Distribution(testval=...)kwarg was deprecated and will be replaced bypm.Distribution(initval=...)inpymc >=4(see #5226). - The
pm.sample(start=...)kwarg was deprecated and will be replaced bypm.sample(initvals=...)inpymc >=4(see #5226). pm.LogNormalis now available as an alias forpm.Lognormal(see #5389).
Bugfixes
- The upper limit for the SciPy version is
<1.8.0and will most probably remain for all future3.x.xreleases. For compatibility with newer SciPy versions please update topymc>=4.0.0. Also see #5448. - A hotfix is applied on import to remain compatible with NumPy 1.22 (see #5316).
- Python
Published by michaelosthege almost 4 years ago
pymc - PyMC 4.0.0 beta 3
Here is the full list of changes compared to 4.0.0b2.
For a current list of changes w.r.t. the upcoming v3.11.5 see RELEASE-NOTES.md.
Notable changes & features
- ADVI has been ported to PyMC 4
- LKJ has been ported to PyMC 4 (https://github.com/pymc-devs/pymc/pull/5382)
- Dependencies have been updated
- Python
Published by twiecki almost 4 years ago
pymc - v4.0.0b2
PyMC 4.0.0 beta 2
This beta release includes the removal of warnings, polishing of APIs, more distributions and internal refactorings.
Here is the full list of changes compared to 4.0.0b1.
For a current list of changes w.r.t. the upcoming v3.11.5 see RELEASE-NOTES.md.
Notable changes & features
- Introduction of
pm.Data(..., mutable=False/True)and correspondingpm.ConstantData/pm.MutableDatawrappers (see #5295). - The warning about
theanoorpymc3being installed in parallel was removed. dimscan again be specified alongsideshapeorsize(see #5325).pm.drawwas added to draw prior samples from a variable (see #5340).- Renames of model properties & methods like
Model.logpt. - A function to find a prior based on lower/upper bounds (see #5231).
- Python
Published by michaelosthege almost 4 years ago
pymc -
PyMC 4.0.0 beta 1
β This is the first beta of the next major release for PyMC 4.0.0 (formerly PyMC3). 4.0.0 is a rewrite of large parts of the PyMC code base which make it faster, adds many new features, and introduces some breaking changes. For the most part, the API remains stable and we expect that most models will work without any changes.
Not-yet working features
We plan to get these working again, but at this point, their inner workings have not been refactored.
- Timeseries distributions (see #4642)
- Mixture distributions (see #4781)
- Cholesky distributions (see WIP PR #4784)
- Variational inference submodule (see WIP PR #4582)
- Elliptical slice sampling (see #5137)
- BaseStochasticGradient (see #5138)
- pm.sample_posterior_predictive_w (see #4807)
- Partially observed Multivariate distributions (see #5260)
Also, check out the milestones for a potentially more complete list.
Unexpected breaking changes (action needed)
- New API is not available in
v3.11.5. - Old API does not work in
v4.0.0.
All of the above applies to:
- β The library is now named, installed, and imported as "pymc". For example:
pip install pymc. (Usepip install pymc --prewhile we are in the pre-release phase.) - β Theano-PyMC has been replaced with Aesara, so all external references to
theano,tt, andpymc3.theanofneed to be replaced withaesara,at, andpymc.aesaraf(see 4471). pm.Distribution(...).logp(x)is nowpm.logp(pm.Distribution(...), x)pm.Distribution(...).logcdf(x)is nowpm.logcdf(pm.Distribution(...), x)pm.Distribution(...).random()is nowpm.Distribution(...).eval()pm.draw_values(...)andpm.generate_samples(...)were removed. The tensors can now be evaluated with.eval().pm.fast_sample_posterior_predictivewas removed.pm.sample_prior_predictive,pm.sample_posterior_predictiveandpm.sample_posterior_predictive_wnow return anInferenceDataobject by default, instead of a dictionary (see #5073).pm.sample_prior_predictiveno longer returns transformed variable values by default. Pass them by name invar_namesif you want to obtain these draws (see 4769).pm.sample(trace=...)no longer acceptsMultiTraceorlen(.) > 0traces (see 5019#).- The GLM submodule was removed, please use Bambi instead.
pm.Boundinterface no longer accepts a callable class as an argument, instead, it requires an instantiated distribution (created via the.dist()API) to be passed as an argument. In addition, Bound no longer returns a class instance but works as a normal PyMC distribution. Finally, it is no longer possible to do predictive random sampling from Bounded variables. Please, consult the new documentation for details on how to use Bounded variables (see 4815).pm.logpt(transformed=...)kwarg was removed (816b5f).Model(model=...)kwarg was removedModel(theano_config=...)kwarg was removedModel.sizeproperty was removed (useModel.ndiminstead).dimsandcoordshandling:Model.update_start_values(...)was removed. Initial values can be set in theModel.initial_valuesdictionary directly.- Test values can no longer be set through
pm.Distribution(testval=...)and must be assigned manually. Transform.forwardandTransform.backwardsignatures changed.pm.DensityDistno longer accepts thelogpas its first positional argument. It is now an optional keyword argument. If you pass a callable as the first positional argument, aTypeErrorwill be raised (see 5026).pm.DensityDistnow accepts distribution parameters as positional arguments. Passing them as a dictionary in theobservedkeyword argument is no longer supported and will raise an error (see 5026).- The signature of the
logpandrandomfunctions that can be passed into apm.DensityDisthas been changed (see 5026). - Changes to the Gaussian process (
gp) submodule:- The
gp.prior(..., shape=...)kwarg was renamed tosize. - Multiple methods including
gp.priornow require explicit kwargs.
- The
- Changes to the BART implementation:
- Changes to the Gaussian Process (GP) submodule (see 5055):
- For all implementations,
gp.Latent,gp.Marginaletc.,cov_funcandmean_funcare required kwargs. - In Windows test conda environment the
mklversion is fixed to verison 2020.4, andmkl-serviceis fixed to2.3.0. This was required forgp.MarginalKronto function properly. gp.MvStudentTuses rotated samples fromStudentTdirectly now, instead of sampling frompm.Chi2and then frompm.Normal.- The "jitter" parameter, or the diagonal noise term added to Gram matrices such that the Cholesky is numerically stable, is now exposed to the user instead of hard-coded. See the function
gp.util.stabilize. - The
is_observedargument forgp.Marginal*implementations has been deprecated. - In the gp.utils file, the
kmeans_inducing_pointsfunction now passes throughkmeans_kwargsto scipy's k-means function. - The function
replace_with_valuesfunction has been added togp.utils. MarginalSparsehas been renamedMarginalApprox.
- For all implementations,
Expected breaks
- New API was already available in
v3. - Old API had deprecation warnings since at least
3.11.0(2021-01). - Old API stops working in
v4(preferably with informative errors).
All of the above apply to:
pm.sample(return_inferencedata=True)is now the default (see #4744).- ArviZ
plotsandstatswrappers were removed. The functions are now just available by their original names (see #4549 and3.11.2release notes). pm.sample_posterior_predictive(vars=...)kwarg was removed in favor ofvar_names(see #4343).ElemwiseCategoricalstep method was removed (see #4701)
Ongoing deprecations
- Old API still works in
v4and has a deprecation warning. - Preferably the new API should be available in
v3already
New features
- The length of
dimsin the model is now tracked symbolically throughModel.dim_lengths(see #4625). - The
CARdistribution has been added to allow for use of conditional autoregressions which often are used in spatial and network models. - The dimensionality of model variables can now be parametrized through either of
shape,dimsorsize(see #4696):- With
shapethe length of dimensions must be given numerically or as scalar AesaraVariables. Numeric entries inshaperestrict the model variable to the exact length and re-sizing is no longer possible. dimskeeps model variables re-sizeable (for example throughpm.Data) and leads to well-defined coordinates inInferenceDataobjects.- The
sizekwarg behaves as it does in Aesara/NumPy. For univariate RVs it is the same asshape, but for multivariate RVs it depends on how the RV implements broadcasting to dimensionality greater thanRVOp.ndim_supp. - An
Ellipsis(...) in the last position ofshapeordimscan be used as shorthand notation for implied dimensions.
- With
- Added a
logcdfimplementation for the Kumaraswamy distribution (see #4706). - The
OrderedMultinomialdistribution has been added for use on ordinal data which are aggregated by trial, like multinomial observations, whereasOrderedLogisticonly accepts ordinal data in a disaggregated format, like categorical observations (see #4773). - The
Polya-Gammadistribution has been added (see #4531). To make use of this distribution, thepolyagamma>=1.3.1library must be installed and available in the user's environment. - A small change to the mass matrix tuning methods jitter+adaptdiag (the default) and adaptdiag improves performance early on during tuning for some models. #5004
- New experimental mass matrix tuning method jitter+adaptdiaggrad. #5004
pm.DensityDistcan now accept an optionallogcdfkeyword argument to pass in a function to compute the cummulative density function of the distribution (see 5026).pm.DensityDistcan now accept an optionalget_momentkeyword argument to pass in a function to compute the moment of the distribution (see 5026).- New features for BART:
pm.Datanow passes additional kwargs toaesara.shared. #5098- ...
Internal changes
- β PyMC now requires Scipy version
>= 1.4.1(see 4857). - Removed float128 dtype support (see #4514).
- Logp method of
UniformandDiscreteUniformno longer depends onpymc.distributions.dist_math.boundfor proper evaluation (see #4541). - We now include
cloudpickleas a required dependency, and no longer depend ondill(see #4858). - The
incomplete_betafunction inpymc.distributions.dist_mathwas replaced byaesara.tensor.betainc(see 4857). math.log1mexpandmath.log1mexp_numpywill expect negative inputs in the future. AFutureWarningis now raised unlessnegative_input=Trueis set (see #4860).- Changed name of
Lognormaldistribution toLogNormalto harmonize CamelCase usage for distribution names. - Attempt to iterate over MultiTrace will raise NotImplementedError.
- ...
- Python
Published by twiecki about 4 years ago
pymc - PyMC3 3.11.2 (14 March 2021)
PyMC3 3.11.2 (14 March 2021)
New Features
pm.math.cartesiancan now handle inputs that are themselves >1D (see #4482).- Statistics and plotting functions that were removed in
3.11.0were 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_tracepm.compareplotβpm.plot_compare(here you might need to rename some columns in the input according to thearviz.plot_comparedocumentation)pm.autocorrplotβpm.plot_autocorrpm.forestplotβpm.plot_forestpm.kdeplotβpm.plot_kdepm.energyplotβpm.plot_energypm.densityplotβpm.plot_densitypm.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.memoizemodule was removed and replaced withcachetools. Thehashablefunction andWithMemoizationclass were moved topymc3.util(see #4525). pm.make_shared_replacementsnow retains broadcasting information which fixes issues with Metropolis samplers (see #4492).
Release manager for 3.11.2: Michael Osthege (@michaelosthege)
- Python
Published by michaelosthege almost 5 years ago
pymc - PyMC3 3.11.1 (12 February 2021)
New Features
- Automatic imputations now also work with
ndarraydata, not justpd.Seriesorpd.DataFrame(see#4439). pymc3.sampling_jax.sample_numpyro_nutsnow returns samples from transformed random variables, rather than from the unconstrained representation (see #4427).
Maintenance
- We upgraded to
Theano-PyMC v1.1.2which includes bugfixes for...- β a problem with
tt.switchthat affected the behavior of several distributions, including at least the following special cases (see #4448) -
Bernoulliwhen all the observed values were the same (e.g.,[0, 0, 0, 0, 0]). -
TruncatedNormalwhensigmawas constant andmuwas being automatically broadcasted to match the shape of observations. - Warning floods and compiledir locking (see #4444)
- β a problem with
math.log1mexp_numpyno longer raises RuntimeWarning when given very small inputs. These were commonly observed during NUTS sampling (see #4428).ScalarSharedVariablecan now be used as an input to other RVs directly (see #4445).pm.sampleandpm.find_MAPno longer change thestartargument (see #4458).- Fixed
Dirichlet.logpmethod to work with unit batch or event shapes (see #4454). - Bugfix in logp and logcdf methods of
Triangulardistribution (see #4470).
Release manager for 3.11.1: Michael Osthege (@michaelosthege)
- Python
Published by michaelosthege almost 5 years ago
pymc - PyMC3 3.11.0 (21 January 2021)
This release breaks some APIs w.r.t. 3.10.0. It also brings some dreadfully awaited fixes, so be sure to go through the (breaking) changes below.
Breaking Changes
- β Many plotting and diagnostic functions that were just aliasing ArviZ functions were removed (see 4397). This includes
pm.summary,pm.traceplot,pm.essand many more! - Changed shape behavior: No longer collapse length 1 vector shape into scalars. (see #4206 and #4214)
- β We now depend on
Theano-PyMCversion1.1.0exactly (see #4405). Major refactorings were done inTheano-PyMC1.1.0. If you implement customOps or interact with Theano in any way yourself, make sure to read the Theano-PyMC 1.1.0 release notes. - β Python 3.6 support was dropped (by no longer testing) and Python 3.9 was added (see #4332).
- β Changed shape behavior: No longer collapse length 1 vector shape into scalars. (see #4206 and #4214)
- Applies to random variables and also the
.random(size=...)kwarg! - To create scalar variables you must now use
shape=Noneorshape=(). shape=(1,)andshape=1now become vectors. Previously they were collapsed into scalars- 0-length dimensions are now ruled illegal for random variables and raise a
ValueError.
- Applies to random variables and also the
- In
sample_prior_predictivethevarskwarg was removed in favor ofvar_names(see #4327). - Removed
theanof.set_theano_configbecause it illegally changed Theano's internal state (see #4329).
New Features
- Option to set
check_bounds=Falsewhen instantiatingpymc3.Model(). This turns off bounds checks that ensure that input parameters of distributions are valid. For correctly specified models, this is unneccessary as all parameters get automatically transformed so that all values are valid. Turning this off should lead to faster sampling (see #4377). OrderedProbitdistribution added (see #4232).plot_posterior_predictive_glmnow works witharviz.InferenceDataas well (see #4234)- Add
logcdfmethod to all univariate discrete distributions (see #4387). - Add
randommethod toMvGaussianRandomWalk(see #4388) AsymmetricLaplacedistribution added (see #4392).DirichletMultinomialdistribution added (see #4373).- Added a new
predictmethod toBARTto compute out of sample predictions (see #4310).
Maintenance
- Fixed bug whereby partial traces returns after keyboard interrupt during parallel sampling had fewer draws than would've been available #4318
- Make
sample_shapesame across all contexts indraw_values(see #4305). - The notebook gallery has been moved to https://github.com/pymc-devs/pymc-examples (see #4348).
math.logsumexpnow matchesscipy.special.logsumexpwhen arrays contain infinite values (see #4360).- Fixed mathematical formulation in
MvStudentTrandom method. (see #4359) - Fix issue in
logpmethod ofHyperGeometric. It now returns-inffor invalid parameters (see 4367) - Fixed
MatrixNormalrandom method to work with parameters as random variables. (see #4368) - Update the
logcdfmethod of several continuous distributions to return -inf for invalid parameters and values, and raise an informative error when multiple values cannot be evaluated in a single call. (see 4393 and #4421) - Improve numerical stability in
logpandlogcdfmethods ofExGaussian(see #4407) - Issue UserWarning when doing prior or posterior predictive sampling with models containing Potential factors (see #4419)
- Dirichlet distribution's
randommethod is now optimized and gives outputs in correct shape (see #4416) - Attempting to sample a named model with SMC will now raise a
NotImplementedError. (see #4365)
Release manager for 3.11.0: Eelke Spaak (@Spaak)
- Python
Published by Spaak almost 5 years ago
pymc - PyMC3 v3.10.0 (7 December 2020)
This is a major release with many exciting new features. The biggest change is that we now rely on our own fork of Theano-PyMC. This is in line with our big announcement about our commitment to PyMC3 and Theano.
When upgrading, make sure that Theano-PyMC and not Theano are installed (the imports remain unchanged, however). If not, you can uninstall Theano:
conda remove theano
And to install:
conda install -c conda-forge theano-pymc
Or, if you are using pip (not recommended):
pip uninstall theano
And to install:
pip install theano-pymc
This new version of Theano-PyMC comes with an experimental JAX backend which, when combined with the new and experimental JAX samplers in PyMC3, can greatly speed up sampling in your model. As this is still very new, please do not use it in production yet but do test it out and let us know if anything breaks and what results you are seeing, especially speed-wise.
New features
- New experimental JAX samplers in
pymc3.sample_jax(see notebook and #4247). Requires JAX and either TFP or numpyro. - Add MLDA, a new stepper for multilevel sampling. MLDA can be used when a hierarchy of approximate posteriors of varying accuracy is available, offering improved sampling efficiency especially in high-dimensional problems and/or where gradients are not available (see #3926)
- Add Bayesian Additive Regression Trees (BARTs) #4183)
- Added
pymc3.gp.cov.Circularkernel for Gaussian Processes on circular domains, e.g. the unit circle (see #4082). - Added a new
MixtureSameFamilydistribution to handle mixtures of arbitrary dimensions in vectorized form for improved speed (see #4185). sample_posterior_predictive_wcan now feed onxarray.Dataset- e.g. fromInferenceData.posterior. (see #4042)- Change SMC metropolis kernel to independent metropolis kernel #4115)
- Add alternative parametrization to NegativeBinomial distribution in terms of n and p (see #4126)
- Added semantically meaningful
strrepresentations to PyMC3 objects for console, notebook, and GraphViz use (see #4076, #4065, #4159, #4217, #4243, and #4260). - Add Discrete HyperGeometric Distribution (see #4249)
Maintenance
- Switch the dependency of Theano to our own fork, Theano-PyMC.
- Removed non-NDArray (Text, SQLite, HDF5) backends and associated tests.
- Use dill to serialize user defined logp functions in
DensityDist. The previous serialization code fails if it is used in notebooks on Windows and Mac.dillis now a required dependency. (see #3844). - Fixed numerical instability in ExGaussian's logp by preventing
logpowfrom returning-inf(see #4050). - Numerically improved stickbreaking transformation - e.g. for the
Dirichletdistribution. #4129 - Enabled the
Multinomialdistribution to handle batch sizes that have more than 2 dimensions. #4169 - Test model logp before starting any MCMC chains (see #4211)
- Fix bug in
model.check_test_pointthat caused thetest_pointargument to be ignored. (see PR #4211) - Refactored MvNormal.random method with better handling of sample, batch and event shapes. #4207
- The
InverseGammadistribution now implements alogcdf. #3944 - Make starting jitter methods for nuts sampling more robust by resampling values that lead to non-finite probabilities. A new optional argument
jitter-max-retriescan be passed topm.sample()andpm.init_nuts()to control the maximum number of retries per chain. 4298
Documentation
- Added a new notebook demonstrating how to incorporate sampling from a conjugate Dirichlet-multinomial posterior density in conjunction with other step methods (see #4199).
- Mentioned the way to do any random walk with
theano.tensor.cumsum()inGaussianRandomWalkdocstrings (see #4048).
Release manager for 3.10.0: Eelke Spaak (@Spaak)
- Python
Published by Spaak about 5 years ago
pymc - PyMC3 v3.9.3 (August 11, 2020)
This release includes several fixes, including (but not limited to) the following:
- Fix keep_size argument in Arviz data structures: https://github.com/pymc-devs/pymc3/pull/4006
- Pin Theano 1.0.5: https://github.com/pymc-devs/pymc3/pull/4032
- Comprehensively re-wrote radon modeling notebook using latest Arviz features: https://github.com/pymc-devs/pymc3/pull/3963
NB: The docs/* folder is still removed from the tarball due to an upload size limit on PyPi.
- Python
Published by kyleabeauchamp over 5 years ago
pymc - PyMC3 v3.9.2 (24 June 2020)
Maintenance
- Warning added in GP module when
input_dimis lower than the number of columns inXto compute the covariance function (see #3974). - Pass the
tuneargument fromsamplewhen usingadvi+adapt_diag_grad(see issue #3965, fixed by #3979). - Add simple test case for new coords and dims feature in
pm.Model(see #3977). - Require ArviZ >= 0.9.0 (see #3977).
NB: The docs/* folder is still removed from the tarball due to an upload size limit on PyPi.
- Python
Published by AlexAndorra over 5 years ago
pymc - PyMC3 v3.9.1 (16 June, 2020)
The v3.9.0 upload to PyPI didn't include a tarball, which is fixed in this release. Though we had to temporarily remove the docs/* folder from the tarball due to a PyPI size limit.
- Python
Published by michaelosthege over 5 years ago
pymc - PyMC3 v3.9.0 (16 June, 2020)
New features
- Use fastprogress instead of tqdm #3693.
DEMetropoliscan now tune bothlambdaandscalingparameters, but by default neither of them are tuned. See #3743 for more info.DEMetropolisZ, an improved variant ofDEMetropolisbrings 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,DEMetropolisZand theDifferentialEquationinterface 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_predictivecan now feed onxarray.Dataset- e.g. fromInferenceData.posterior. (see #3846)SamplerReport(MultiTrace.report) now has propertiesn_tune,n_draws,t_samplingfor increased convenience (see #3827)pm.sample(..., return_inferencedata=True)can now directly return the trace asarviz.InferenceData(see #3911)pm.samplenow has support for adapting dense mass matrix usingQuadPotentialFullAdapt(see #3596, #3705, #3858, and #3893). Useinit="adapt_full"orinit="jitter+adapt_full"to use.Moyaldistribution added (see #3870).pm.LKJCholeskyCovnow automatically computes and returns the unpacked Cholesky decomposition, the correlations and the standard deviations of the covariance matrix (see #3881).pm.Datacontainer can now be used for index variables, i.e with integer data and not only floats (issue #3813, fixed by #3925).pm.Datacontainer 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
SamplerReportwith propertiesn_draws,t_samplingandn_tuneto SMC.n_tuneis 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
Metropolischains (see #3733 and #3796). - We'll deprecate the
TextandSQLitebackends and thesave_trace/load_tracefunctions, since this is now done with ArviZ. (see #3902) - ArviZ
v0.8.3is now the minimum required version - In named models,
pm.Dataobjects now get model-relative names (see #3843). pm.samplenow takes 1000 draws and 1000 tuning samples by default, instead of 500 previously (see #3855).- Moved argument division out of
NegativeBinomialrandommethod. 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
MvNormalandMvStudentT(see 3836). - End of sampling report now uses
arviz.InferenceDatainternally 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
Betadistribution'srandommethod 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
float128dtype, but we had assumed that it had to be available. The solution was to only supportfloat128on Linux and Darwin systems (see issue #3929 fixed by #3930).
Deprecations
- Remove
sample_ppcandsample_ppc_wthat were deprecated in 3.6. - Deprecated
sdhas been replaced bysigma(already in version 3.7) in continuous, mixed and timeseries distributions and now raisesDeprecationWarningwhensdis used. (see #3837 and #3688). - We'll deprecate the
TextandSQLitebackends and thesave_trace/load_tracefunctions, 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).
- Python
Published by michaelosthege over 5 years ago
pymc - PyMC3 v3.8 (29 November, 2019)
New features
- Implemented robust u turn check in NUTS (similar to stan-dev/stan#2800). See PR [#3605]
- Add capabilities to do inference on parameters in a differential equation with
DifferentialEquation. See #3590 and #3634. - Distinguish between
DataandDeterministicvariables when graphing models with graphviz. PR #3491. - Sequential Monte Carlo - Approximate Bayesian Computation step method is now available. The implementation is in an experimental stage and will be further improved.
- Added
Matern12covariance function for Gaussian processes. This is the Matern kernel with nu=1/2. - Progressbar reports number of divergences in real time, when available #3547.
- Sampling from variational approximation now allows for alternative trace backends [#3550].
- Infix
@operator now works with random variables and deterministics #3619. - ArviZ is now a requirement, and handles plotting, diagnostics, and statistical checks.
- Can use GaussianRandomWalk in samplepriorpredictive and samplepriorpredictive #3682
- Now 11 years of S&P returns in data set#3682
Maintenance
- Moved math operations out of
Rice,TruncatedNormal,TriangularandZeroInflatedNegativeBinomialrandommethods. Math operations on values returned bydraw_valuesmight not broadcast well, and all thesizeaware broadcasting is left togenerate_samples. Fixes #3481 and #3508 - Parallelization of population steppers (
DEMetropolis) is now set via thecoresargument. (#3559) - Fixed a bug in
Categorical.logp. In the case of multidimensionalp's, the indexing was done wrong leading to incorrectly shaped tensors that consumedO(n**2)memory instead ofO(n). This fixes issue #3535 - Fixed a defect in
OrderedLogistic.__init__that unnecessarily increased the dimensionality of the underlyingp. Related to issue issue #3535 but was not the true cause of it. - SMC: stabilize covariance matrix 3573
- SMC: is no longer a step method of
pm.samplenow it should be called usingpm.sample_smc3579 - SMC: improve computation of the proposal scaling factor 3594 and 3625
- SMC: reduce number of logp evaluations 3600
- SMC: remove
scalingandtune_scalingarguments as is a better idea to always allow SMC to automatically compute the scaling factor 3625 - Now uses
multiprocessongrather thanpsutilto count CPUs, which results in reliable core counts on Chromebooks. sample_posterior_predictivenow preallocates the memory required for its output to improve memory usage. Addresses problems raised in this discourse thread.- Fixed a bug in
Categorical.logp. In the case of multidimensionalp's, the indexing was done wrong leading to incorrectly shaped tensors that consumedO(n**2)memory instead ofO(n). This fixes issue #3535 - Fixed a defect in
OrderedLogistic.__init__that unnecessarily increased the dimensionality of the underlyingp. Related to issue issue #3535 but was not the true cause of it. - Wrapped
DensityDist.randwithgenerate_samplesto make it aware of the distribution's shape. Added control flow attributes to still be able to behave as in earlier versions, and to control how to interpret thesizeparameter in therandomcallable signature. Fixes 3553 - Added
theano.gof.graph.Constantto type checks done in_draw_value(fixes issue 3595) HalfNormaldid not used to work properly indraw_values,sample_prior_predictive, orsample_posterior_predictive(fixes issue 3686)- Random variable transforms were inadvertently left out of the API documentation. Added them. (See PR 3690).
- Python
Published by ColCarroll about 6 years ago
pymc - PyMC3 3.7 (May 29 2019)
New features
- Add data container class (
Data) that wraps the theano SharedVariable class and let the model be aware of its inputs and outputs. - Add function
set_datato update variables defined asData. Mixturenow supports mixtures of multidimensional probability distributions, not just lists of 1D distributions.GLM.from_formulaandLinearComponent.from_formulacan extract variables from the calling scope. Customizable via the neweval_envargument. Fixing #3382.- Added the
distributions.shape_utilsmodule with functions used to help broadcast samples drawn from distributions using thesizekeyword argument. - Used
numpy.vectorizeindistributions.distribution._compile_theano_function. This enablessample_prior_predictiveandsample_posterior_predictiveto ask for tuples of samples instead of just integers. This fixes issue #3422.
Maintenance
- All occurances of
sdas a parameter name have been renamed tosigma.sdwill continue to function for backwards compatibility. HamiltonianMCwas ignoring certain arguments liketarget_accept, and not using the custom step size jitter function with expectation 1.- Made
BrokenPipeErrorfor parallel sampling more verbose on Windows. - Added the
broadcast_distribution_samplesfunction that helps broadcasting arrays of drawn samples, taking into account the requestedsizeand the inferred distribution shape. This sometimes is needed by distributions that call severalrvsseparately within theirrandommethod, such as theZeroInflatedPoisson(fixes issue #3310). - The
Wald,Kumaraswamy,LogNormal,Pareto,Cauchy,HalfCauchy,WeibullandExGaussiandistributionsrandommethod used a hidden_randomfunction that was written with scalars in mind. This could potentially lead to artificial correlations between random draws. Added shape guards and broadcasting of the distribution samples to prevent this (Similar to issue #3310). - Added a fix to allow the imputation of single missing values of observed data, which previously would fail (fixes issue #3122).
- The
draw_valuesfunction was too permissive with what could be grabbed from insidepoint, which lead to an error when sampling posterior predictives of variables that depended on shared variables that had changed their shape afterpm.sample()had been called (fix issue #3346). draw_valuesnow adds the theano graph descendants ofTensorConstantorSharedVariablesto the named relationship nodes stack, only if these descendants areObservedRVorMultiObservedRVinstances (fixes issue #3354).- Fixed bug in broadcastdistrutionsamples, which did not handle correctly cases in which some samples did not have the size tuple prepended.
- Changed
MvNormal.random's usage oftensordotfor Cholesky encoded covariances. This lead to wrong axis broadcasting and seemed to be the cause for issue #3343. - Fixed defect in
Mixture.randomwhen multidimensional mixtures were involved. The mixture component was not preserved across all the elements of the dimensions of the mixture. This meant that the correlations across elements within a given draw of the mixture were partly broken. - Restructured
Mixture.randomto allow better use of vectorized calls tocomp_dists.random. - Added tests for mixtures of multidimensional distributions to the test suite.
- Fixed incorrect usage of
broadcast_distribution_samplesinDiscreteWeibull. Mixture's default dtype is now determined bytheano.config.floatX.dist_math.random_choicenow handles nd-arrays of category probabilities, and also handles sizes that are notNone. Also removed unusedkkwarg fromdist_math.random_choice.- Changed
Categorical.modeto preserve all the dimensions ofpexcept the last one, which encodes each category's probability. - Changed initialization of
Categorical.p.pis now normalized to sum to1insidelogpandrandom, but not during initialization. This could hide negative values supplied topas mentioned in #2082. Categoricalnow accepts elements ofpequal to0.logpwill return-infif there arevaluesthat index to the zero probability categories.- Add
sigma,tau, andsdto signature ofNormalMixture. - Set default lower and upper values of -inf and inf for pm.distributions.continuous.TruncatedNormal. This avoids errors caused by their previous values of None (fixes issue #3248).
- Converted all calls to
pm.distributions.bound._ContinuousBoundedandpm.distributions.bound._DiscreteBoundedto use only and all positional arguments (fixes issue #3399). - Restructured
distributions.distribution.generate_samplesto use theshape_utilsmodule. This solves issues #3421 and #3147 by using thesizeaware broadcating functions inshape_utils. - Fixed the
Multinomial.randomandMultinomial.random_methods to make them compatible with the newgenerate_samplesfunction. In the process, a bug of theMultinomial.random_shape handling was discovered and fixed. - Fixed a defect found in
Bound.randomwhere thepointdictionary was passed togenerate_samplesas anarginstead of innot_broadcast_kwargs. - Fixed a defect found in
Bound.random_wheretotal_sizecould end up as afloat64instead of being an integer if givensize=tuple(). - Fixed an issue in
model_graphthat caused construction of the graph of the model for rendering to hang: replaced a search over the powerset of the nodes with a breadth-first search over the nodes. Fix for #3458. - Removed variable annotations from
model_graphbut left type hints (Fix for #3465). This means that we supportpython>=3.5.4. - Default
target_acceptforHamiltonianMCis now 0.65, as suggested in Beskos et. al. 2010 and Neal 2001. - Fixed bug in
draw_valuesthat lead to intermittent errors in python3.5. This happened with some deterministic nodes that were drawn but not added togivens.
Deprecations
nuts_kwargsandstep_kwargshave been deprecated in favor of using the standardkwargsto pass optional step method arguments.SGFSandCSGhave been removed (Fix for #3353). They have been moved to pymc3-experimental.- References to
live_plotand corresponding notebooks have been removed. - Function
approx_hessianwas removed, due tonumdifftoolsbecoming incompatible with currentscipy. The function was already optional, only available to a user who installednumdifftoolsseparately, and not hit on any common codepaths. #3485. - Deprecated
varsparameter ofsample_posterior_predictivein favor ofvarnames. - References to
live_plotand corresponding notebooks have been removed. - Deprecated
varsparameters ofsample_posterior_predictiveandsample_prior_predictivein favor ofvar_names. At least for the latter, this is more accurate, since thevarsparameter actually took names.
Contributors sorted by number of commits
45 Luciano Paz
38 Thomas Wiecki
23 Colin Carroll
19 Junpeng Lao
15 Chris Fonnesbeck
13 Juan MartΓn Loyola
13 Ravin Kumar
8 Robert P. Goldman
5 Tim Blazina
4 chang111
4 adamboche
3 Eric Ma
3 Osvaldo Martin
3 Sanmitra Ghosh
3 Saurav Shekhar
3 chartl
3 fredcallaway
3 Demetri
2 Daisuke Kondo
2 David Brochart
2 George Ho
2 Vaibhav Sinha
1 rpgoldman
1 Adel Tomilova
1 Adriaan van der Graaf
1 Bas Nijholt
1 Benjamin Wild
1 Brigitta Sipocz
1 Daniel Emaasit
1 Hari
1 Jeroen
1 Joseph Willard
1 Juan Martin Loyola
1 Katrin Leinweber
1 Lisa Martin
1 M. Domenzain
1 Matt Pitkin
1 Peadar Coyle
1 Rupal Sharma
1 Tom Gilliss
1 changjiangeng
1 michaelosthege
1 monsta
1 579397
- Python
Published by twiecki over 6 years ago
pymc -
This is a major new release from 3.5 with many new features and important bugfixes. The highlight is certainly our completely revamped website: https://docs.pymc.io/
Note also, that this release will be the last to be compatible with Python 2. Thanks to all contributors!
New features
- Track the model log-likelihood as a sampler stat for NUTS and HMC samplers
(accessible as
trace.get_sampler_stats('model_logp')) (#3134) - Add Incomplete Beta function
incomplete_beta(a, b, value) - Add log CDF functions to continuous distributions:
Beta,Cauchy,ExGaussian,Exponential,Flat,Gumbel,HalfCauchy,HalfFlat,HalfNormal,Laplace,Logistic,Lognormal,Normal,Pareto,StudentT,Triangular,Uniform,Wald,Weibull. - Behavior of
sample_posterior_predictiveis now to produce posterior predictive samples, in order, from all values of thetrace. Previously, by default it would produce 1 chain worth of samples, using a random selection from thetrace(#3212) - Show diagnostics for initial energy errors in HMC and NUTS.
- PR #3273 has added the
distributions.distribution._DrawValuesContextcontext manager. This is used to store the values already drawn in nestedrandomanddraw_valuescalls, enablingdraw_valuesto draw samples from the joint probability distribution of RVs and not the marginals. Custom distributions that must calldraw_valuesseveral times in theirrandommethod, or that invoke many calls to other distribution'srandommethods (e.g. mixtures) must do all of these calls under the same_DrawValuesContextcontext manager instance. If they do not, the conditional relations between the distribution's parameters could be broken, andrandomcould return values drawn from an incorrect distribution. Ricedistribution is now defined with either the noncentrality parameter or the shape parameter (#3287).
Maintenance
- Big rewrite of documentation (#3275)
- Fixed Triangular distribution
cattribute handling inrandomand updated sample codes for consistency (#3225) - Refactor SMC and properly compute marginal likelihood (#3124)
- Removed use of deprecated
yminkeyword in matplotlib'sAxes.set_ylim(#3279) - Fix for #3210. Now
distribution.draw_values(params), will draw theparamsvalues from their joint probability distribution and not from combinations of their marginals (Refer to PR #3273). - Removed dependence on pandas-datareader for retrieving Yahoo Finance data in examples (#3262)
- Rewrote
Multinomial._randommethod to better handle shape broadcasting (#3271) - Fixed
Ricedistribution, which inconsistently mixed two parametrizations (#3286). Ricedistribution now accepts multiple parameters and observations and is usable with NUTS (#3289).sample_posterior_predictiveno longer callsdraw_valuesto initialize the shape of the ppc trace. This called could lead toValueError's when sampling the ppc from a model withFlatorHalfFlatprior distributions (Fix issue #3294).
Deprecations
- Renamed
sample_ppc()andsample_ppc_w()tosample_posterior_predictive()andsample_posterior_predictive_w(), respectively.
- Python
Published by twiecki about 7 years ago
pymc - v3.5 Final
New features
- Add documentation section on survival analysis and censored data models
- Add
check_test_pointmethod topm.Model - Add
OrderedTransformation andOrderedLogisticdistribution - Add
Chaintransformation - Improve error message
Mass matrix contains zeros on the diagonal. Some derivatives might always be zeroduring tuning ofpm.sample - Improve error message
NaN occurred in optimization.during ADVI - Save and load traces without
pickleusingpm.save_traceandpm.load_trace - Add
Kumaraswamydistribution - Add
TruncatedNormaldistribution - Rewrite parallel sampling of multiple chains on py3. This resolves long standing issues when transferring large traces to the main process, avoids pickling issues on UNIX, and allows us to show a progress bar for all chains. If parallel sampling is interrupted, we now return partial results.
- Add
sample_prior_predictivewhich allows for efficient sampling from the unconditioned model. - SMC: remove experimental warning, allow sampling using
sample, reduce autocorrelation from final trace. - Add
model_to_graphviz(which uses the optional dependencygraphviz) to plot a directed graph of a PyMC3 model using plate notation. - Add beta-ELBO variational inference as in beta-VAE model (Christopher P. Burgess et al. NIPS, 2017)
- Add
__dir__toSingleGroupApproximationto improve autocompletion in interactive environments
Fixes
- Fixed grammar in divergence warning, previously
There were 1 divergences ...could be raised. - Fixed
KeyErrorraised when only subset of variables are specified to be recorded in the trace. - Removed unused
repeat=Nonearguments from allrandom()methods in distributions. - Deprecated the
sigmaargument inMarginalSparse.marginal_likelihoodin favor ofnoise - Fixed unexpected behavior in
random. Now therandomfunctionality is more robust and will work better forsample_priorwhen that is implemented. - Fixed
scale_cost_to_minibatchbehaviour, previously this was not working and alwaysFalse
- Python
Published by fonnesbeck over 7 years ago
pymc - v3.4.1 Final
There was no 3.4 release due to a naming issue on PyPI.
New features
- Add
logit_pkeyword topm.Bernoulli, so that users can specify the logit of the success probability. This is faster and more stable than usingp=tt.nnet.sigmoid(logit_p). - Add
randomkeyword topm.DensityDistthus enabling users to pass custom random method which in turn makes sampling from aDensityDistpossible. - Effective sample size computation is updated. The estimation uses Geyer's initial positive sequence, which no longer truncates the autocorrelation series inaccurately.
pm.diagnostics.effective_nnow can reports N_eff>N. - Added
KroneckerNormaldistribution and a correspondingMarginalKronGaussian Process implementation for efficient inference, along with lower-level functions such ascartesianandkroneckerproducts. - Added
Coregioncovariance function. - Add new 'pairplot' function, for plotting scatter or hexbin matrices of sampled parameters. Optionally it can plot divergences.
- Plots of discrete distributions in the docstrings
- Add logitnormal distribution
- Densityplot: add support for discrete variables
- Fix the Binomial likelihood in
.glm.families.Binomial, with the flexibility of specifying then. - Add
offsetkwarg to.glm. - Changed the
comparefunction to accept a dictionary of model-trace pairs instead of two separate lists of models and traces. - add test and support for creating multivariate mixture and mixture of mixtures
distribution.draw_values, now is also able to draw values from conditionally dependent RVs, such as autotransformed RVs (Refer to PR #2902).
Fixes
VonMisesdoes not overflow for large values of kappa. i0 and i1 have been removed and we now use log_i0 to compute the logp.- The bandwidth for KDE plots is computed using a modified version of Scott's rule. The new version uses entropy instead of standard deviation. This works better for multimodal distributions. Functions using KDE plots has a new argument
bwcontrolling the bandwidth. - fix PyMC3 variable is not replaced if provided in more_replacements (#2890)
- Fix for issue #2900. For many situations, named node-inputs do not have a
randommethod, while some intermediate node may have it. This meant that if the named node-input at the leaf of the graph did not have a fixed value,theanowould try to compile it and fail to find inputs, raising atheano.gof.fg.MissingInputError. This was fixed by going through the theano variable's owner inputs graph, trying to get intermediate named-nodes values if the leafs had failed. - In
distribution.draw_values, some named nodes could betheano.tensor.TensorConstants ortheano.tensor.sharedvar.SharedVariables. Nevertheless, indistribution._draw_value, these would be passed todistribution._compile_theano_functionas if they weretheano.tensor.TensorVariables. This could lead to the following exceptionsTypeError: ('Constants not allowed in param list', ...)orTypeError: Cannot use a shared variable (...). The fix was to not addtheano.tensor.TensorConstantortheano.tensor.sharedvar.SharedVariablenamed nodes into thegivensdict that could be used indistribution._compile_theano_function. - Exponential support changed to include zero values.
Deprecations
- DIC and BPIC calculations have been removed
- df_summary have been removed, use summary instead
njobsandnchainskwarg are deprecated in favor ofcoresandchainsforsamplelagkwarg inpm.stats.autocorrandpm.stats.autocovis deprecated.
- Python
Published by fonnesbeck over 7 years ago
pymc - v3.3 Final
New features
- Improve NUTS initialization
advi+adapt_diag_gradand addjitter+adapt_diag_grad(#2643) - Added
MatrixNormalclass for representing vectors of multivariate normal variables - Implemented
HalfStudentTdistribution - New benchmark suite added (see http://pandas.pydata.org/speed/pymc3/)
- Generalized random seed types
- Update loo, new improved algorithm (#2730)
- New CSG (Constant Stochastic Gradient) approximate posterior sampling algorithm (#2544)
- Michael Osthege added support for population-samplers and implemented differential evolution metropolis (
DEMetropolis). For models with correlated dimensions that can not use gradient-based samplers, theDEMetropolissampler can give higher effective sampling rates. (also see PR#2735) - Forestplot supports multiple traces (#2736)
- Add new plot, densityplot (#2741)
- DIC and BPIC calculations have been deprecated
- Refactor HMC and implemented new warning system (#2677, #2808)
Fixes
- Fixed
compareplotto useloooutput. - Improved
posteriorplotto scale fonts sample_ppc_wnow broadcastsdf_summaryfunction renamed tosummary- Add test for
model.logp_arrayandmodel.bijection(#2724) - Fixed
sample_ppcandsample_ppc_wto iterate all chains(#2633, #2748) - Add Bayesian R2 score (for GLMs)
stats.r2_score(#2696) and test (#2729). - SMC works with transformed variables (#2755)
- Speedup OPVI (#2759)
- Multiple minor fixes and improvements in the docs (#2775, #2786, #2787, #2789, #2790, #2794, #2799, #2809)
Deprecations
- Old (
minibatch-)adviis removed (#2781)
- Python
Published by fonnesbeck almost 8 years ago
pymc - v3.2 Final
- This version includes two major contributions from our Google Summer of Code 2017 students:
- Maxim Kochurov extended and refactored the variational inference module. This primarily adds two important classes, representing operator variational inference (
OPVI) objects andApproximationobjects. These make it easier to extend existingvariationalclasses, and to derive inference fromvariationaloptimizations, respectively. Thevariationalmodule now also includes normalizing flows (NFVI). - Bill Engels added an extensive new Gaussian processes (
gp) module. Standard GPs can be specified using eitherLatentorMarginalclasses, depending on the nature of the underlying function. A Student-T processTPhas been added. In order to accomodate larger datasets, approximate marginal Gaussian processes (MarginalSparse) have been added.
- Maxim Kochurov extended and refactored the variational inference module. This primarily adds two important classes, representing operator variational inference (
- Documentation has been improved as the result of the project's monthly "docathons".
- An experimental stochastic gradient Fisher scoring (
SGFS) sampling step method has been added. - The API for
find_MAPwas enhanced. - SMC now estimates the marginal likelihood.
- Added
LogisticandHalfFlatdistributions to set of continuous distributions. - Bayesian fraction of missing information (
bfmi) function added tostats. - Enhancements to
compareplotadded. - QuadPotential adaptation has been implemented.
- Script added to build and deploy documentation.
- MAP estimates now available for transformed and non-transformed variables.
- The
Constantvariable class has been deprecated, and will be removed in 3.3. - DIC and BPIC calculations have been sped up.
- Arrays are now accepted as arguments for the
Boundclass. randommethod was added to theWishartandLKJCorrdistributions.- Progress bars have been added to LOO and WAIC calculations.
- All example notebooks updated to reflect changes in API since 3.1.
- Parts of the test suite have been refactored.
Fixes
- Fixed sampler stats error in NUTS for non-RAM backends
- Matplotlib is no longer a hard dependency, making it easier to use in settings where installing Matplotlib is problematic. PyMC will only complain if plotting is attempted.
- Several bugs in the Gaussian process covariance were fixed.
- All chains are now used to calculate WAIC and LOO.
- AR(1) log-likelihood function has been fixed.
- Slice sampler fixed to sample from 1D conditionals.
- Several docstring fixes.
- Python
Published by fonnesbeck about 8 years ago
pymc - v3.1 Final
This is the first major update to PyMC 3 since its initial release. Highlights of this release include:
- Gaussian Process submodule
- Much improved variational inference support that includes:
- Stein Variational Gradient Descent
- Minibatch processing
- Additional optimizers, including ADAM
- Experimental operational variational inference (OPVI)
- Full-rank ADVI
- MvNormal supports Cholesky Decomposition now for increased speed and numerical stability.
- NUTS implementation now matches current Stan implementation.
- Higher-order integrators for HMC
- Elliptical slice sampler is now available
- Added
Approximationclass and the ability to convert a sampled trace into an approximation via itsEmpiricalsubclass. - Add MvGaussianRandomWalk and MvStudentTRandomWalk distributions.
- Python
Published by fonnesbeck over 8 years ago
pymc - v3.0 Final
This is the first major release of PyMC3. A number of major changes since splitting from the PyMC2 project include:
- Added gradient-based MCMC samplers: Hamiltonian MC (HMC) and No-U-Turn Sampler (NUTS)
- Automatic gradient calculations using Theano
- Convenient generalized linear model specification using Patsy formulae
- Parallel sampling via multiprocessing
- New model specification using context managers
- New Automatic Differentiation Variational InferenceAVDI (ADVI) allowing faster sampling than HMC for some problems.
- Mini-batch ADVI
- Python
Published by fonnesbeck almost 9 years ago
pymc - v3.0 Release Candidate 6
Sixth release candidate of PyMC3 3.0.
- Python
Published by springcoil almost 9 years ago
pymc - v3.0 Release Candidate 5
Fifth release candidate of PyMC3 3.0.
- Python
Published by fonnesbeck almost 9 years ago
pymc - v3.0 Release Candidate 4
Fourth release candidate of PyMC3 3.0.
- Python
Published by fonnesbeck about 9 years ago