Recent Releases of pymc

pymc - v5.25.1

What's Changed

Documentation πŸ“–

  • Fix release_notes_to_discourse script 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 dims module 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_list by @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 πŸŽ‰
  • Implement specialized Hurdle distribution by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7810
  • Model to mermaid diagram with model_to_mermaid by @williambdean in https://github.com/pymc-devs/pymc/pull/7826
  • Add vectorize_over_posterior to pymc.sampling.forward by @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_length shared 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.Model for builtin marimo support by @williambdean in https://github.com/pymc-devs/pymc/pull/7830
  • Allow var_names to 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 sample by @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.21.2

[!IMPORTANT]
This was an erroneous duplicate release of v5.22.0.

- Python
Published by maresb 9 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_predictive by @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, LKJCorr and LKJCholeskyCovRV in 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 to bool(variable) now raises for PyMC variables. Use if variable is not None or whatever is appropriate in your context.
  • 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 observe to 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 .pop side 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_kwargs to ADVI when init = "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_updates by @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_pymc to compile by @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.spawn only available in >=1.25 by @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 sample and allow specifying compile_kwargs by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7578. This introduces several major changes related to step samplers:
    • internal uses of logp_dlogp_function now work with raveled inputs. External use will issue a warning unless ravel_inputs is specified explicitly. Eventually it will only be possible to use ravel_inputs=True.
    • Step samplers arguments besides vars must be passed by keyword
    • RaveledVars.point_map_info is now a 4-n tuple, with size introduced.
    • assign_step_method does not call instantiate_steppers, but returns arguments needed for the latter.
    • Allow passing compile_kwargs to sample which is then forwarded to the step samplers functions

Bugfixes πŸͺ²

  • Fix error in find_measurable_bitwise by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7585 ### Documentation πŸ“–
  • Explain difference between BinaryMetropolis and BinaryGibbsMetropolis by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7586
  • Add example on freeze_data_and_dims by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7594 ### Maintenance πŸ”§
  • Register the overloads added by CustomDist so 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.2

What's Changed

Maintenance πŸ”§

  • Allow interdependent initial points from same OpFromGraph node by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7569

Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.18.1...v5.18.2

- 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_params by @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_fold unconditional 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_prior by @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 initval in 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_vals by @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_dataset by @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 draws as parameter in sample_prior_predictive by @wd60622 in https://github.com/pymc-devs/pymc/pull/7366
  • Allow opting out of model nesting by setting model=None by @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_p for 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.testing by @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 samples argument to draws in sample_prior_predictive by @wd60622 in https://github.com/pymc-devs/pymc/pull/7366
  • Allow opting out of model nesting by setting model=None by @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_p for 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.testing by @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_dims in 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_dims after a model transformation by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7296
  • Fix need for dummy data in sample_posterior_predictive by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7265 ### Maintenance πŸ”§
  • Suggest var_names when 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_transform and transform argument 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_deterministics by @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_deterministics helper 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_name to 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_names argument to sample by @fonnesbeck in https://github.com/pymc-devs/pymc/pull/7206 ### Bugfixes πŸͺ²
  • add _moment function 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_shape from 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 moment to support_point by @aerubanov in https://github.com/pymc-devs/pymc/pull/7166
  • Remove intX and floatX calls from distributions by @aerubanov in https://github.com/pymc-devs/pymc/pull/7114
  • Remove deprecated Bound distribution by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7176
  • Remove deprecated sample_posterior_predictive_w by @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_prior in models with Deterministics by @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_list when chain, draw are not the leading dims by @OriolAbril in https://github.com/pymc-devs/pymc/pull/7180
  • Refactor get_tau_sigma and 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_predictive by @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_kwargs by @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_prior utility 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_model by @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_dict to 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_diag from 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 ZeroSumNormal by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7063 ### Bugfixes πŸͺ²
  • Fix failing default transform for LKJCorr by @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_values by @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.19 by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7020 ### New Features πŸŽ‰
  • Default moment for CustomDist provided with a dist function by @aerubanov in https://github.com/pymc-devs/pymc/pull/6873 ### Documentation πŸ“–
  • Fix docs formatting in shape_utils by @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, pytensorf and distributions/transform by @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_repr robust 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.2

What's Changed

Bugfixes πŸͺ²

  • Fix bug in compute_log_likelihood when variable has dims without coords by @jaharvey8 in https://github.com/pymc-devs/pymc/pull/6882

Full Changelog: https://github.com/pymc-devs/pymc/compare/v5.8.1...v5.8.2

- Python
Published by ricardoV94 over 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 ZeroSumNormal shape operations to config.floatX by @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 do and observe functions from PyMC-Experimental by @juanitorduz in https://github.com/pymc-devs/pymc/pull/6879
  • Add ICAR distribution by @daniel-saunders-phil in https://github.com/pymc-devs/pymc/pull/6831
  • Add JAX implementation fol MatrixIsPositiveDefinite Op by @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 Gumbel Distribution 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_graphviz shortcut 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_test fixture in exported BaseTestDistributionRandom by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6848 ### Documentation πŸ“–
  • Use ordered_univariate in 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 SeededTest class 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 MutableData tensor 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 πŸŽ‰
  • 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 inside CustomDist by @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_list by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6741 ### Maintenance πŸ”§
  • Fix small typing error in sample overload 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 pymc to 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 not operations 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 CustomDist by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6696 ### Bugfixes πŸͺ²
  • Rename _replace_rvs_in_graphs and 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_inferencedata in sample by @thomasaarholt in https://github.com/pymc-devs/pymc/pull/6709
  • Remove joint_logprob function from tests.logprob.utils by @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 WhiteNoise Covariance 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 πŸ”§
  • CustomDist and Simulator no longer require class_name when creating a dist by @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_data by @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 πŸŽ‰
  • 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_distribution to 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_logp to logprob/basic and move logcdf and icdf functions 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 IfElse graphs 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 Beta distribution by @JoKeyser in https://github.com/pymc-devs/pymc/pull/6604
  • Fix a typo in the docstring for OrderedLogistic by @NathanielF in https://github.com/pymc-devs/pymc/pull/6611
  • Improved docstring for predictions argument in sample_posterior_predictive by @fonnesbeck in https://github.com/pymc-devs/pymc/pull/6616

Maintenance πŸ”§

  • Renamed internal at aliases to pt by @shreyas3156 in https://github.com/pymc-devs/pymc/pull/6577
  • Remove auto argument from pm.Deterministic docstring 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_updates by @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 Potential and Deterministic by @Raj-Parekh24 in https://github.com/pymc-devs/pymc/pull/6576
  • Add nuts_sampler_kwargs and nuts_kwargs to sample by @fonnesbeck in https://github.com/pymc-devs/pymc/pull/6581
  • Implement check_icdf helper to test icdf implementations by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6583 ### Bugfixes πŸͺ²
  • Fix warn_treedepth looking 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 Potential docstring by @chriswmann in https://github.com/pymc-devs/pymc/pull/6575
  • Fix typo in ZeroInflatedNegBinomial by @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 new sample() kwarg called nuts_sampler which often provide huge speed-ups and improved convergence by @twiecki and @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6422
  • Enforce dims elements 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 CustomDist for 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 testing module 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 SamplerReport by @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_type defined by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6493
  • Refactoring towards IBaseTrace interfaces 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_axes to n_zerosum_axes by @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
  • TruncatedNormal only accepts mu and sigma as 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.1.0

This release was skipped due to a packaging problem.

- 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_values to 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 logprob submodule. Dispatch methods can be found in logprob.abstract
  • ⚠ The loglikelihood, needed for arviz.compare is 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 Minibatch API by @ferrine in https://github.com/pymc-devs/pymc/pull/6304
  • Fix ordering transformation for batched dimensions, and deprecate in favor of univariate_ordered and multivariate_ordered by @TimOliverMaier in #6255 and @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6375

New Features & Bugfixes πŸŽ‰

  • Support logp derivation in DensityDist when random function returns a PyTensor variable by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6361
  • Added alternative parametrization for AsymmetricLaplace by @aloctavodia in https://github.com/pymc-devs/pymc/pull/6337

Docs & Maintenance πŸ”§

  • Bugfixes to increase robustness against unnamed dims by @michaelosthege in https://github.com/pymc-devs/pymc/pull/6339
  • Updated GOVERNANCE.md by @canyon289 in https://github.com/pymc-devs/pymc/pull/6358
  • Fixed overriding user provided mp_ctx strings to pm.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 Scan values 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.py from pass-listing to fail-listing by @michaelosthege in https://github.com/pymc-devs/pymc/pull/6381
  • Runing pydocstyle in pre-commit by @michaelosthege in https://github.com/pymc-devs/pymc/pull/6382
  • Removed NoDistribution from 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] via var.tag in favor of model.rvs_to_[values|transforms|total_sizes]
    • Deprecated joint_logp in favor of model.logp
    • Deprecated aesaraf.rvs_to_value_vars in favor of model.replace_rvs_by_values
  • Using keyword seed for 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/astep method.
    • The BlockedStep.generates_stats attribute was removed.

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_model node 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.py into sampling.py and sampling_forward.py by @michaelosthege in https://github.com/pymc-devs/pymc/pull/6257
  • Improve join_nonshared_inputs documentation 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 samples and keep_size from sample_posterior_predictive by @pibieta in https://github.com/pymc-devs/pymc/pull/6029
  • Deprecate old or unused Model methods 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 EulerMaruyama to work in v4 by @junpenglao in https://github.com/pymc-devs/pymc/pull/6227
  • Fix bug in get_vars_in_point_list when 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_w by @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_link to work with new sphinx schema by @hdnl in https://github.com/pymc-devs/pymc/pull/6209
  • Fix docstring of the ZeroInflatedPoisson distribution by @cscheffler in https://github.com/pymc-devs/pymc/pull/6213
  • Fix debug_print of wrong variable in notebook by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6225
  • Fix flaky TestMixture.test_component_choice_random by @bherwerth in https://github.com/pymc-devs/pymc/pull/6222
  • Seed flaky test TestSamplePPC.test_normal_scalar by @mattiadg in https://github.com/pymc-devs/pymc/pull/6220
  • Fix flaky TestTruncation.truncation_discrete_random by @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 ZeroSumNormal distribution by @AlexAndorra in https://github.com/pymc-devs/pymc/pull/6121
  • Refactor Multivariate RandomWalk distributions 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_data and Data by @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 DiscreteUniformRV dropping degenerate dimension by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6151
  • Fix shape bug when creating a truncated normal via Truncated by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6165

Docs & Maintenance πŸ”§

  • Repair the plot of Interpolated and add an example for Deterministic by @Armavica in https://github.com/pymc-devs/pymc/pull/6126
  • Add constant_fold helper by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6160
  • Use sigma instead of noise in GP functions 6094 by @wd60622 in https://github.com/pymc-devs/pymc/pull/6145
  • Replace multinomial sampling with systematic sampling in sample_smc by @aloctavodia in https://github.com/pymc-devs/pymc/pull/6162
  • Assume default_output is the only measurable output in SymbolicRandomVariables by @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 GARCH11 to 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 alpha in StickBreakingWeights by @purna135 in https://github.com/pymc-devs/pymc/pull/6042
  • Remove NoDistribution and enable .dist API for Simulator and DensityDist by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6110
  • Add start_sigma to 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_values work with non-RandomVariables by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6101
  • Fix bug in Marginalapprox by @bwengals in https://github.com/pymc-devs/pymc/pull/6076
  • Fix bug in which TruncatedNormal returns -inf for all values if any value is out of bounds by @adrn in https://github.com/pymc-devs/pymc/pull/6128
  • Rename cov_func/cov to scale_func/scale for TP/MvStudentT by @fonnesbeck in https://github.com/pymc-devs/pymc/pull/6068
  • Ignore SpecifyShape when converting to JAX by @martiningram in https://github.com/pymc-devs/pymc/pull/6062
  • Remove reshape_t by @tjburch in https://github.com/pymc-devs/pymc/pull/6118
  • Fix Model docstring 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 AR distribution parameters by @daniel-saunders-phil in https://github.com/pymc-devs/pymc/pull/6080
  • Fix incorrect formula in NormalMixture docstring 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 dprint error by @juanitorduz in https://github.com/pymc-devs/pymc/pull/6030
  • Removed assert_negative_support deprecated 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 coords and dims in sampling_jax by @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 MLDA to pymc-experimental by @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.Interpolated moment 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 dtype casting in pm.model_to_graphviz by @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_support by @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_nuts failing with chains=1 with 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.1

What's Changed

Docs & Maintenance πŸ”§

  • Bump aesara to 2.7.4. by @twiecki in https://github.com/pymc-devs/pymc/pull/5947

Full Changelog: https://github.com/pymc-devs/pymc/compare/v4.1.0...v4.1.1

- 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 MLDA in anticipation of migrating it to pymc-experimental by @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 rvs sent to compile_dlogp in find_MAP by @quantheory in https://github.com/pymc-devs/pymc/pull/5928
  • Remove nan_is_num and nan_is_high limiters from find_MAP. by @quantheory in https://github.com/pymc-devs/pymc/pull/5929
  • Registering _as_tensor_variable converter for pandas objects by @juanitorduz in https://github.com/pymc-devs/pymc/pull/5920
  • Fix model and aesara_config kwargs for pm.Model by @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_seeder to random_seed in '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_dtypes with changes from 1e7d91f by @michaelosthege in https://github.com/pymc-devs/pymc/pull/5882
  • Added a check in Empirical approximation which does not yet support InferenceData inputs (see #5884) by @ferrine in https://github.com/pymc-devs/pymc/pull/5874
  • Compute some basic Slice sample 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 t suffix from functions, Model methods and properties by @cuchoi in https://github.com/pymc-devs/pymc/pull/5863
    • Model.logpt β†’ Model.logp
    • Model.dlogpt β†’ Model.dlogp
    • Model.d2logpt β†’ Model.d2logp
    • Model.datalogpt β†’ Model.datalogp
    • Model.varlogpt β†’ Model.varlogp
    • Model.observedlogpt β†’ Model.observedlogp
    • Model.potentiallogpt β†’ Model.potentiallogp
    • Model.varlogp_nojact β†’ Model.varlogp_nojac
    • logprob.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_replace strict keyword name by @brandonwillard in https://github.com/pymc-devs/pymc/pull/5849
  • Renamed pm.Constant to pm.DiracDelta by @cluhmann in https://github.com/pymc-devs/pymc/pull/5903
  • Update Dockerfile to PyMC v4 by @danhphan in https://github.com/pymc-devs/pymc/pull/5881
  • Refactor sampling_jax postrocessing to avoid jit by @ferrine in https://github.com/pymc-devs/pymc/pull/5908
  • Fix compile_fn bug 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 ConstantData in InferenceData returned 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 theano and tt need to be replaced with aesara and at, 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 CAR distribution has been added to allow for use of conditional autoregressions which often are used in spatial and network models.
    • Added a logcdf implementation for the Kumaraswamy distribution (see #4706).
    • The OrderedMultinomial distribution has been added for use on ordinal data which are aggregated by trial, like multinomial observations, whereas OrderedLogistic only accepts ordinal data in a disaggregated format, like categorical observations (see #4773).
    • The Polya-Gamma distribution has been added (see #4531). To make use of this distribution, the polyagamma>=1.3.1 library must be installed and available in the user's environment.
    • pm.DensityDist can now accept an optional logcdf keyword argument to pass in a function to compute the cummulative density function of the distribution (see 5026).
    • pm.DensityDist can now accept an optional moment keyword argument to pass in a function to compute the moment of the distribution (see 5026).
    • Added an alternative parametrization, logit_p to pm.Binomial and pm.Categorical distributions (see 5637).
  • Model dimensions:

    • The dimensionality of model variables can now be parametrized through either of shape or dims (see #4696):
    • With shape the length of dimensions must be given numerically or as scalar Aesara Variables. Numeric entries in shape restrict the model variable to the exact length and re-sizing is no longer possible.
    • dims keeps model variables re-sizeable (for example through pm.Data) and leads to well defined coordinates in InferenceData objects.
    • An Ellipsis (...) in the last position of shape or dims can be used as short-hand notation for implied dimensions.
    • New features for pm.Data containers:
    • With pm.Data(..., mutable=False), or by using pm.ConstantData() one can now create TensorConstant data variables. These can be more performant and compatible in situations where a variable doesn't need to be changed via pm.set_data(). See #5295. If you do need to change the variable, use pm.Data(..., mutable=True), or pm.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 via pm.set_data().
    • pm.Data now passes additional kwargs to aesara.shared/at.as_tensor. #5098.
    • The length of dims in the model is now tracked symbolically through Model.dim_lengths (see #4625).
  • Sampling:

    • ⚠️ Random seeding behavior changed (see #5787)!
    • Sampling results will differ from those of v3 when passing the same random_seed as before. They will be consistent across subsequent v4 releases unless mentioned otherwise.
    • Sampling functions no longer respect user-specified global seeding! Always pass random_seed to ensure reproducible behavior.
    • random_seed now 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_jax samplers support log_likelihood, observed_data, and sample_stats in returned InferenceData object (see #5189)
    • Adding support for pm.Deterministic in pymc.sampling_jax (see #5182)
  • Miscellaneous:

    • The new pm.find_constrained_prior function 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
    • softmax and log_softmax functions added to math module (see #5279).
    • Added the low level compile_forward_sampling_function method to compile the aesara function responsible for generating forward samples (see #5759).

Expected breaking changes πŸ’”

  • pm.sample(return_inferencedata=True) is now the default (see #4744).
  • ArviZ plots and stats wrappers were removed. The functions are now just available by their original names (see #4549 and 3.11.2 release notes).
  • pm.sample_posterior_predictive(vars=...) kwarg was removed in favor of var_names (see #4343).
  • ElemwiseCategorical step method was removed (see #4701)
  • LKJCholeskyCov's compute_corr keyword argument is now set to True by default (see#5382)
  • Alternative sd keyword argument has been removed from all distributions. sigma should be used instead (see #5583).

Read on if you're a developer. Or curious. Or both.

Unexpected breaking changes (action needed) 😲

Very important ⚠️

  • pm.Bound interface 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. AR of order 1 should be used instead. (see 5734).
  • The pm.EllipticalSlice sampler was removed (see #5756).
  • BaseStochasticGradient was removed (see #5630)
  • pm.Distribution(...).logp(x) is now pm.logp(pm.Distribution(...), x).
  • pm.Distribution(...).logcdf(x) is now pm.logcdf(pm.Distribution(...), x).
  • pm.Distribution(...).random(size=x) is now pm.draw(pm.Distribution(...), draws=x).
  • pm.draw_values(...) and pm.generate_samples(...) were removed.
  • pm.fast_sample_posterior_predictive was removed.
  • pm.sample_prior_predictive, pm.sample_posterior_predictive and pm.sample_posterior_predictive_w now return an InferenceData object by default, instead of a dictionary (see #5073).
  • pm.sample_prior_predictive no longer returns transformed variable values by default. Pass them by name in var_names if you want to obtain these draws (see 4769).
  • pm.sample(trace=...) no longer accepts MultiTrace or len(.) > 0 traces (see 5019#).
  • Setting of initial values:
    • Setting initial values through pm.Distribution(testval=...) is now pm.Distribution(initval=...).
    • Model.update_start_values(...) was removed. Initial values can be set in the Model.initial_values dictionary directly.
    • Test values can no longer be set through pm.Distribution(testval=...) and must be assigned manually.
  • transforms module is no longer accessible at the root level. It is accessible at pymc.distributions.transforms (see#5347).
  • logp, dlogp, and d2logp and nojac variations were removed. Use Model.compile_logp, compile_dlgop and compile_d2logp with jacobian keyword instead.
  • pm.DensityDist no longer accepts the logp as its first position argument. It is now an optional keyword argument. If you pass a callable as the first positional argument, a TypeError will be raised (see 5026).
  • pm.DensityDist now accepts distribution parameters as positional arguments. Passing them as a dictionary in the observed keyword argument is no longer supported and will raise an error (see 5026).
  • The signature of the logp and random functions that can be passed into a pm.DensityDist has been changed (see 5026).

Important:

  • Signature and default parameters changed for several distributions:

    • pm.StudentT now requires either sigma or lam as kwarg (see #5628)
    • pm.StudentT now requires nu to be specified (no longer defaults to 1) (see #5628)
    • pm.AsymmetricLaplace positional arguments re-ordered (see #5628)
    • pm.AsymmetricLaplace now requires mu to be specified (no longer defaults to 0) (see #5628)
    • ZeroInflatedPoisson theta parameter was renamed to mu (see #5584).
    • pm.GaussianRandomWalk initial distribution defaults to zero-centered normal with sigma=100 instead of flat (see#5779)
    • pm.AR initial distribution defaults to unit normal instead of flat (see#5779)
  • logpt, logpt_sum, logp_elemwiset and nojac variations were removed. Use Model.logpt(jacobian=True/False, sum=True/False) instead.

  • dlogp_nojact and d2logp_nojact were removed. Use Model.dlogpt and d2logpt with jacobian=False instead.

  • model.makefn is now called Model.compile_fn, and model.fn was removed.

  • Methods starting with fast_*, such as Model.fast_logp, were removed. Same applies to PointFunc classes

  • Model(model=...) kwarg was removed

  • Model(theano_config=...) kwarg was removed

  • Model.size property was removed (use Model.ndim instead).

  • dims and coords handling:

    • Model.RV_dims and Model.coords are now read-only properties. To modify the coords dictionary use Model.add_coord.
    • dims or coordinate values that are None will be auto-completed (see #4625).
    • Coordinate values passed to Model.add_coord are always converted to tuples (see #5061).
  • Transform.forward and Transform.backward signatures changed.

  • Changes to the Gaussian Process (GP) submodule (see 5055):

    • The gp.prior(..., shape=...) kwarg was renamed to size.
    • Multiple methods including gp.prior now require explicit kwargs.
    • For all implementations, gp.Latent, gp.Marginal etc., cov_func and mean_func are required kwargs.
    • In Windows test conda environment the mkl version is fixed to verison 2020.4, and mkl-service is fixed to 2.3.0. This was required for gp.MarginalKron to function properly.
    • gp.MvStudentT uses rotated samples from StudentT directly now, instead of sampling from pm.Chi2 and then from pm.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_observed arguement for gp.Marginal* implementations has been deprecated.
    • In the gp.utils file, the kmeans_inducing_points function now passes through kmeans_kwargs to scipy's k-means function.
    • The function replace_with_values function has been added to gp.utils.
    • MarginalSparse has been renamed MarginalApprox.
  • Removed MixtureSameFamily. Mixture is 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 Uniform and DiscreteUniform no longer depends on pymc.distributions.dist_math.bound for proper evaluation (see #4541).
  • We now include cloudpickle as a required dependency, and no longer depend on dill (see #4858).
  • The incomplete_beta function in pymc.distributions.dist_math was replaced by aesara.tensor.betainc (see 4857).
  • math.log1mexp and math.log1mexp_numpy will expect negative inputs in the future. A FutureWarning is now raised unless negative_input=True is set (see #4860).
  • Changed name of Lognormal distribution to LogNormal to harmonize CamelCase usage for distribution names.
  • Attempt to iterate over MultiTrace will raise NotImplementedError.
  • Removed silent normalisation of p parameters 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_pymc by @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_transform to _get_default_transform by @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 code v4-ready. Note that this backport is just an alias and much less capable than what's available with pymc >=4 (see #5083).
  • The pm.Distribution(testval=...) kwarg was deprecated and will be replaced by pm.Distribution(initval=...)in pymc >=4 (see #5226).
  • The pm.sample(start=...) kwarg was deprecated and will be replaced by pm.sample(initvals=...)in pymc >=4 (see #5226).
  • pm.LogNormal is now available as an alias for pm.Lognormal (see #5389).

Bugfixes

  • The upper limit for the SciPy version is <1.8.0 and will most probably remain for all future 3.x.x releases. For compatibility with newer SciPy versions please update to pymc>=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 corresponding pm.ConstantData/pm.MutableData wrappers (see #5295).
  • The warning about theano or pymc3 being installed in parallel was removed.
  • dims can again be specified alongside shape or size (see #5325).
  • pm.draw was 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. (Use pip install pymc --pre while we are in the pre-release phase.)
  • ⚠ Theano-PyMC has been replaced with Aesara, so all external references to theano, tt, and pymc3.theanof need to be replaced with aesara, at, and pymc.aesaraf (see 4471).
  • pm.Distribution(...).logp(x) is now pm.logp(pm.Distribution(...), x)
  • pm.Distribution(...).logcdf(x) is now pm.logcdf(pm.Distribution(...), x)
  • pm.Distribution(...).random() is now pm.Distribution(...).eval()
  • pm.draw_values(...) and pm.generate_samples(...) were removed. The tensors can now be evaluated with .eval().
  • pm.fast_sample_posterior_predictive was removed.
  • pm.sample_prior_predictive, pm.sample_posterior_predictive and pm.sample_posterior_predictive_w now return an InferenceData object by default, instead of a dictionary (see #5073).
  • pm.sample_prior_predictive no longer returns transformed variable values by default. Pass them by name in var_names if you want to obtain these draws (see 4769).
  • pm.sample(trace=...) no longer accepts MultiTrace or len(.) > 0 traces (see 5019#).
  • The GLM submodule was removed, please use Bambi instead.
  • pm.Bound interface 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 removed
  • Model(theano_config=...) kwarg was removed
  • Model.size property was removed (use Model.ndim instead).
  • dims and coords handling:
    • Model.RV_dims and Model.coords are now read-only properties. To modify the coords dictionary use Model.add_coord.
    • dims or coordinate values that are None will be auto-completed (see #4625).
    • Coordinate values passed to Model.add_coord are always converted to tuples (see #5061).
  • Model.update_start_values(...) was removed. Initial values can be set in the Model.initial_values dictionary directly.
  • Test values can no longer be set through pm.Distribution(testval=...) and must be assigned manually.
  • Transform.forward and Transform.backward signatures changed.
  • pm.DensityDist no longer accepts the logp as its first positional argument. It is now an optional keyword argument. If you pass a callable as the first positional argument, a TypeError will be raised (see 5026).
  • pm.DensityDist now accepts distribution parameters as positional arguments. Passing them as a dictionary in the observed keyword argument is no longer supported and will raise an error (see 5026).
  • The signature of the logp and random functions that can be passed into a pm.DensityDist has been changed (see 5026).
  • Changes to the Gaussian process (gp) submodule:
    • The gp.prior(..., shape=...) kwarg was renamed to size.
    • Multiple methods including gp.prior now require explicit kwargs.
  • Changes to the BART implementation:
    • A BART variable can be combined with other random variables. The inv_link argument has been removed (see 4914).
    • Moved BART to its own module (see 5058).
  • Changes to the Gaussian Process (GP) submodule (see 5055):
    • For all implementations, gp.Latent, gp.Marginal etc., cov_func and mean_func are required kwargs.
    • In Windows test conda environment the mkl version is fixed to verison 2020.4, and mkl-service is fixed to 2.3.0. This was required for gp.MarginalKron to function properly.
    • gp.MvStudentT uses rotated samples from StudentT directly now, instead of sampling from pm.Chi2 and then from pm.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_observed argument for gp.Marginal* implementations has been deprecated.
    • In the gp.utils file, the kmeans_inducing_points function now passes through kmeans_kwargs to scipy's k-means function.
    • The function replace_with_values function has been added to gp.utils.
    • MarginalSparse has been renamed MarginalApprox.

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 plots and stats wrappers were removed. The functions are now just available by their original names (see #4549 and 3.11.2 release notes).
  • pm.sample_posterior_predictive(vars=...) kwarg was removed in favor of var_names (see #4343).
  • ElemwiseCategorical step method was removed (see #4701)

Ongoing deprecations

  • Old API still works in v4 and has a deprecation warning.
  • Preferably the new API should be available in v3 already

New features

  • The length of dims in the model is now tracked symbolically through Model.dim_lengths (see #4625).
  • The CAR distribution 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, dims or size (see #4696):
    • With shape the length of dimensions must be given numerically or as scalar Aesara Variables. Numeric entries in shape restrict the model variable to the exact length and re-sizing is no longer possible.
    • dims keeps model variables re-sizeable (for example through pm.Data) and leads to well-defined coordinates in InferenceData objects.
    • The size kwarg behaves as it does in Aesara/NumPy. For univariate RVs it is the same as shape, but for multivariate RVs it depends on how the RV implements broadcasting to dimensionality greater than RVOp.ndim_supp.
    • An Ellipsis (...) in the last position of shape or dims can be used as shorthand notation for implied dimensions.
  • Added a logcdf implementation for the Kumaraswamy distribution (see #4706).
  • The OrderedMultinomial distribution has been added for use on ordinal data which are aggregated by trial, like multinomial observations, whereas OrderedLogistic only accepts ordinal data in a disaggregated format, like categorical observations (see #4773).
  • The Polya-Gamma distribution has been added (see #4531). To make use of this distribution, the polyagamma>=1.3.1 library 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.DensityDist can now accept an optional logcdf keyword argument to pass in a function to compute the cummulative density function of the distribution (see 5026).
  • pm.DensityDist can now accept an optional get_moment keyword argument to pass in a function to compute the moment of the distribution (see 5026).
  • New features for BART:
    • Added partial dependence plots and individual conditional expectation plots 5091.
    • Modify how particle weights are computed. This improves the accuracy of the modeled function (see 5177).
    • Improve sampling, increase the default number of particles 5229.
  • pm.Data now passes additional kwargs to aesara.shared. #5098
  • ...

Internal changes

  • ⚠ PyMC now requires Scipy version >= 1.4.1 (see 4857).
  • Removed float128 dtype support (see #4514).
  • Logp method of Uniform and DiscreteUniform no longer depends on pymc.distributions.dist_math.bound for proper evaluation (see #4541).
  • We now include cloudpickle as a required dependency, and no longer depend on dill (see #4858).
  • The incomplete_beta function in pymc.distributions.dist_math was replaced by aesara.tensor.betainc (see 4857).
  • math.log1mexp and math.log1mexp_numpy will expect negative inputs in the future. A FutureWarning is now raised unless negative_input=True is set (see #4860).
  • Changed name of Lognormal distribution to LogNormal to 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.4 (20 August 2021)

- Python
Published by canyon289 over 4 years ago

pymc - PyMC3 3.11.3 (19 August 2021)

- Python
Published by canyon289 over 4 years ago

pymc - PyMC3 3.11.2 (14 March 2021)

PyMC3 3.11.2 (14 March 2021)

DOI

New Features

  • pm.math.cartesian can now handle inputs that are themselves >1D (see #4482).
  • Statistics and plotting functions that were removed in 3.11.0 were brought back, albeit with deprecation warnings if an old naming scheme is used (see #4536). In order to future proof your code, rename these function calls:
    • pm.traceplot β†’ pm.plot_trace
    • pm.compareplot β†’ pm.plot_compare (here you might need to rename some columns in the input according to the arviz.plot_compare documentation)
    • pm.autocorrplot β†’ pm.plot_autocorr
    • pm.forestplot β†’ pm.plot_forest
    • pm.kdeplot β†’ pm.plot_kde
    • pm.energyplot β†’ pm.plot_energy
    • pm.densityplot β†’ pm.plot_density
    • pm.pairplot β†’ pm.plot_pair

Maintenance

  • ⚠ Our memoization mechanism wasn't robust against hash collisions (#4506), sometimes resulting in incorrect values in, for example, posterior predictives. The pymc3.memoize module was removed and replaced with cachetools. The hashable function and WithMemoization class were moved to pymc3.util (see #4525).
  • pm.make_shared_replacements now retains broadcasting information which fixes issues with Metropolis samplers (see #4492).

Release manager for 3.11.2: Michael Osthege (@michaelosthege)

- Python
Published by michaelosthege almost 5 years ago

pymc - PyMC3 3.11.1 (12 February 2021)

New Features

  • Automatic imputations now also work with ndarray data, not just pd.Series or pd.DataFrame (see#4439).
  • pymc3.sampling_jax.sample_numpyro_nuts now returns samples from transformed random variables, rather than from the unconstrained representation (see #4427).

Maintenance

  • We upgraded to Theano-PyMC v1.1.2 which includes bugfixes for...
    • ⚠ a problem with tt.switch that affected the behavior of several distributions, including at least the following special cases (see #4448)
    • Bernoulli when all the observed values were the same (e.g., [0, 0, 0, 0, 0]).
    • TruncatedNormal when sigma was constant and mu was being automatically broadcasted to match the shape of observations.
    • Warning floods and compiledir locking (see #4444)
  • math.log1mexp_numpy no longer raises RuntimeWarning when given very small inputs. These were commonly observed during NUTS sampling (see #4428).
  • ScalarSharedVariable can now be used as an input to other RVs directly (see #4445).
  • pm.sample and pm.find_MAP no longer change the start argument (see #4458).
  • Fixed Dirichlet.logp method to work with unit batch or event shapes (see #4454).
  • Bugfix in logp and logcdf methods of Triangular distribution (see #4470).

Release manager for 3.11.1: Michael Osthege (@michaelosthege)

- 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.ess and many more!
  • Changed shape behavior: No longer collapse length 1 vector shape into scalars. (see #4206 and #4214)
  • ⚠ We now depend on Theano-PyMC version 1.1.0 exactly (see #4405). Major refactorings were done in Theano-PyMC 1.1.0. If you implement custom Ops 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=None or shape=().
    • shape=(1,) and shape=1 now become vectors. Previously they were collapsed into scalars
    • 0-length dimensions are now ruled illegal for random variables and raise a ValueError.
  • In sample_prior_predictive the vars kwarg was removed in favor of var_names (see #4327).
  • Removed theanof.set_theano_config because it illegally changed Theano's internal state (see #4329).

New Features

  • Option to set check_bounds=False when instantiating pymc3.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).
  • OrderedProbit distribution added (see #4232).
  • plot_posterior_predictive_glm now works with arviz.InferenceData as well (see #4234)
  • Add logcdf method to all univariate discrete distributions (see #4387).
  • Add random method to MvGaussianRandomWalk (see #4388)
  • AsymmetricLaplace distribution added (see #4392).
  • DirichletMultinomial distribution added (see #4373).
  • Added a new predict method to BART to 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_shape same across all contexts in draw_values (see #4305).
  • The notebook gallery has been moved to https://github.com/pymc-devs/pymc-examples (see #4348).
  • math.logsumexp now matches scipy.special.logsumexp when arrays contain infinite values (see #4360).
  • Fixed mathematical formulation in MvStudentT random method. (see #4359)
  • Fix issue in logp method of HyperGeometric. It now returns -inf for invalid parameters (see 4367)
  • Fixed MatrixNormal random method to work with parameters as random variables. (see #4368)
  • Update the logcdf method 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 logp and logcdf methods of ExGaussian (see #4407)
  • Issue UserWarning when doing prior or posterior predictive sampling with models containing Potential factors (see #4419)
  • Dirichlet distribution's random method 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.Circular kernel for Gaussian Processes on circular domains, e.g. the unit circle (see #4082).
  • Added a new MixtureSameFamily distribution to handle mixtures of arbitrary dimensions in vectorized form for improved speed (see #4185).
  • sample_posterior_predictive_w can now feed on xarray.Dataset - e.g. from InferenceData.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 str representations 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. dill is now a required dependency. (see #3844).
  • Fixed numerical instability in ExGaussian's logp by preventing logpow from returning -inf (see #4050).
  • Numerically improved stickbreaking transformation - e.g. for the Dirichlet distribution. #4129
  • Enabled the Multinomial distribution 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_point that caused the test_point argument to be ignored. (see PR #4211)
  • Refactored MvNormal.random method with better handling of sample, batch and event shapes. #4207
  • The InverseGamma distribution now implements a logcdf. #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-retries can be passed to pm.sample() and pm.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() in GaussianRandomWalk docstrings (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_dim is lower than the number of columns in X to compute the covariance function (see #3974).
  • Pass the tune argument from sample when using advi+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.
  • DEMetropolis can now tune both lambda and scaling parameters, but by default neither of them are tuned. See #3743 for more info.
  • DEMetropolisZ, an improved variant of DEMetropolis brings better parallelization and higher efficiency with fewer chains with a slower initial convergence. This implementation is experimental. See #3784 for more info.
  • Notebooks that give insight into DEMetropolis, DEMetropolisZ and the DifferentialEquation interface are now located in the Tutorials/Deep Dive section.
  • Add fast_sample_posterior_predictive, a vectorized alternative to sample_posterior_predictive. This alternative is substantially faster for large models.
  • GP covariance functions can now be exponentiated by a scalar. See PR #3852
  • sample_posterior_predictive can now feed on xarray.Dataset - e.g. from InferenceData.posterior. (see #3846)
  • SamplerReport (MultiTrace.report) now has properties n_tune, n_draws, t_sampling for increased convenience (see #3827)
  • pm.sample(..., return_inferencedata=True) can now directly return the trace as arviz.InferenceData (see #3911)
  • pm.sample now has support for adapting dense mass matrix using QuadPotentialFullAdapt (see #3596, #3705, #3858, and #3893). Use init="adapt_full" or init="jitter+adapt_full" to use.
  • Moyal distribution added (see #3870).
  • pm.LKJCholeskyCov now automatically computes and returns the unpacked Cholesky decomposition, the correlations and the standard deviations of the covariance matrix (see #3881).
  • pm.Data container can now be used for index variables, i.e with integer data and not only floats (issue #3813, fixed by #3925).
  • pm.Data container can now be used as input for other random variables (issue #3842, fixed by #3925).
  • Allow users to specify coordinates and dimension names instead of numerical shapes when specifying a model. This makes interoperability with ArviZ easier. (see #3551)
  • Plots and Stats API sections now link to ArviZ documentation #3927
  • Add SamplerReport with properties n_draws, t_sampling and n_tune to SMC. n_tune is always 0 #3931.
  • SMC-ABC: add option to define summary statistics, allow to sample from more complex models, remove redundant distances #3940

Maintenance

  • Tuning results no longer leak into sequentially sampled Metropolis chains (see #3733 and #3796).
  • We'll deprecate the Text and SQLite backends and the save_trace/load_trace functions, since this is now done with ArviZ. (see #3902)
  • ArviZ v0.8.3 is now the minimum required version
  • In named models, pm.Data objects now get model-relative names (see #3843).
  • pm.sample now takes 1000 draws and 1000 tuning samples by default, instead of 500 previously (see #3855).
  • Moved argument division out of NegativeBinomial random method. Fixes #3864 in the style of #3509.
  • The Dirichlet distribution now raises a ValueError when it's initialized with <= 0 values (see #3853).
  • Dtype bugfix in MvNormal and MvStudentT (see 3836).
  • End of sampling report now uses arviz.InferenceData internally and avoids storing pointwise log likelihood (see #3883).
  • The multiprocessing start method on MacOS is now set to "forkserver", to avoid crashes (see issue #3849, solved by #3919).
  • The AR1 logp now uses the precision of the whole AR1 process instead of just the innovation precision (see issue #3892, fixed by #3899).
  • Forced the Beta distribution's random method to generate samples that are in the open interval $(0, 1)$, i.e. no value can be equal to zero or equal to one (issue #3898 fixed by #3924).
  • Fixed an issue that happened on Windows, that was introduced by the clipped beta distribution rvs function (#3924). Windows does not support the float128 dtype, but we had assumed that it had to be available. The solution was to only support float128 on Linux and Darwin systems (see issue #3929 fixed by #3930).

Deprecations

  • Remove sample_ppc and sample_ppc_w that were deprecated in 3.6.
  • Deprecated sd has been replaced by sigma (already in version 3.7) in continuous, mixed and timeseries distributions and now raises DeprecationWarning when sd is used. (see #3837 and #3688).
  • We'll deprecate the Text and SQLite backends and the save_trace/load_trace functions, since this is now done with ArviZ. (see #3902)
  • Dropped some deprecated kwargs and functions (see #3906)
  • Dropped the outdated 'nuts' initialization method for pm.sample (see #3863).

- 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 Data and Deterministic variables 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 Matern12 covariance 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, Triangular and ZeroInflatedNegativeBinomial random methods. Math operations on values returned by draw_values might not broadcast well, and all the size aware broadcasting is left to generate_samples. Fixes #3481 and #3508
  • Parallelization of population steppers (DEMetropolis) is now set via the cores argument. (#3559)
  • Fixed a bug in Categorical.logp. In the case of multidimensional p's, the indexing was done wrong leading to incorrectly shaped tensors that consumed O(n**2) memory instead of O(n). This fixes issue #3535
  • Fixed a defect in OrderedLogistic.__init__ that unnecessarily increased the dimensionality of the underlying p. 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.sample now it should be called using pm.sample_smc 3579
  • SMC: improve computation of the proposal scaling factor 3594 and 3625
  • SMC: reduce number of logp evaluations 3600
  • SMC: remove scaling and tune_scaling arguments as is a better idea to always allow SMC to automatically compute the scaling factor 3625
  • Now uses multiprocessong rather than psutil to count CPUs, which results in reliable core counts on Chromebooks.
  • sample_posterior_predictive now 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 multidimensional p's, the indexing was done wrong leading to incorrectly shaped tensors that consumed O(n**2) memory instead of O(n). This fixes issue #3535
  • Fixed a defect in OrderedLogistic.__init__ that unnecessarily increased the dimensionality of the underlying p. Related to issue issue #3535 but was not the true cause of it.
  • Wrapped DensityDist.rand with generate_samples to 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 the size parameter in the random callable signature. Fixes 3553
  • Added theano.gof.graph.Constant to type checks done in _draw_value (fixes issue 3595)
  • HalfNormal did not used to work properly in draw_values, sample_prior_predictive, or sample_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_data to update variables defined as Data.
  • Mixture now supports mixtures of multidimensional probability distributions, not just lists of 1D distributions.
  • GLM.from_formula and LinearComponent.from_formula can extract variables from the calling scope. Customizable via the new eval_env argument. Fixing #3382.
  • Added the distributions.shape_utils module with functions used to help broadcast samples drawn from distributions using the size keyword argument.
  • Used numpy.vectorize in distributions.distribution._compile_theano_function. This enables sample_prior_predictive and sample_posterior_predictive to ask for tuples of samples instead of just integers. This fixes issue #3422.

Maintenance

  • All occurances of sd as a parameter name have been renamed to sigma. sd will continue to function for backwards compatibility.
  • HamiltonianMC was ignoring certain arguments like target_accept, and not using the custom step size jitter function with expectation 1.
  • Made BrokenPipeError for parallel sampling more verbose on Windows.
  • Added the broadcast_distribution_samples function that helps broadcasting arrays of drawn samples, taking into account the requested size and the inferred distribution shape. This sometimes is needed by distributions that call several rvs separately within their random method, such as the ZeroInflatedPoisson (fixes issue #3310).
  • The Wald, Kumaraswamy, LogNormal, Pareto, Cauchy, HalfCauchy, Weibull and ExGaussian distributions random method used a hidden _random function 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_values function was too permissive with what could be grabbed from inside point, which lead to an error when sampling posterior predictives of variables that depended on shared variables that had changed their shape after pm.sample() had been called (fix issue #3346).
  • draw_values now adds the theano graph descendants of TensorConstant or SharedVariables to the named relationship nodes stack, only if these descendants are ObservedRV or MultiObservedRV instances (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 of tensordot for Cholesky encoded covariances. This lead to wrong axis broadcasting and seemed to be the cause for issue #3343.
  • Fixed defect in Mixture.random when 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.random to allow better use of vectorized calls to comp_dists.random.
  • Added tests for mixtures of multidimensional distributions to the test suite.
  • Fixed incorrect usage of broadcast_distribution_samples in DiscreteWeibull.
  • Mixture's default dtype is now determined by theano.config.floatX.
  • dist_math.random_choice now handles nd-arrays of category probabilities, and also handles sizes that are not None. Also removed unused k kwarg from dist_math.random_choice.
  • Changed Categorical.mode to preserve all the dimensions of p except the last one, which encodes each category's probability.
  • Changed initialization of Categorical.p. p is now normalized to sum to 1 inside logp and random, but not during initialization. This could hide negative values supplied to p as mentioned in #2082.
  • Categorical now accepts elements of p equal to 0. logp will return -inf if there are values that index to the zero probability categories.
  • Add sigma, tau, and sd to signature of NormalMixture.
  • 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._ContinuousBounded and pm.distributions.bound._DiscreteBounded to use only and all positional arguments (fixes issue #3399).
  • Restructured distributions.distribution.generate_samples to use the shape_utils module. This solves issues #3421 and #3147 by using the size aware broadcating functions in shape_utils.
  • Fixed the Multinomial.random and Multinomial.random_ methods to make them compatible with the new generate_samples function. In the process, a bug of the Multinomial.random_ shape handling was discovered and fixed.
  • Fixed a defect found in Bound.random where the point dictionary was passed to generate_samples as an arg instead of in not_broadcast_kwargs.
  • Fixed a defect found in Bound.random_ where total_size could end up as a float64 instead of being an integer if given size=tuple().
  • Fixed an issue in model_graph that 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_graph but left type hints (Fix for #3465). This means that we support python>=3.5.4.
  • Default target_acceptfor HamiltonianMC is now 0.65, as suggested in Beskos et. al. 2010 and Neal 2001.
  • Fixed bug in draw_values that lead to intermittent errors in python3.5. This happened with some deterministic nodes that were drawn but not added to givens.

Deprecations

  • nuts_kwargs and step_kwargs have been deprecated in favor of using the standard kwargs to pass optional step method arguments.
  • SGFS and CSG have been removed (Fix for #3353). They have been moved to pymc3-experimental.
  • References to live_plot and corresponding notebooks have been removed.
  • Function approx_hessian was removed, due to numdifftools becoming incompatible with current scipy. The function was already optional, only available to a user who installed numdifftools separately, and not hit on any common codepaths. #3485.
  • Deprecated vars parameter of sample_posterior_predictive in favor of varnames.
  • References to live_plot and corresponding notebooks have been removed.
  • Deprecated vars parameters of sample_posterior_predictive and sample_prior_predictive in favor of var_names. At least for the latter, this is more accurate, since the vars parameter 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_predictive is now to produce posterior predictive samples, in order, from all values of the trace. Previously, by default it would produce 1 chain worth of samples, using a random selection from the trace (#3212)
  • Show diagnostics for initial energy errors in HMC and NUTS.
  • PR #3273 has added the distributions.distribution._DrawValuesContext context manager. This is used to store the values already drawn in nested random and draw_values calls, enabling draw_values to draw samples from the joint probability distribution of RVs and not the marginals. Custom distributions that must call draw_values several times in their random method, or that invoke many calls to other distribution's random methods (e.g. mixtures) must do all of these calls under the same _DrawValuesContext context manager instance. If they do not, the conditional relations between the distribution's parameters could be broken, and random could return values drawn from an incorrect distribution.
  • Rice distribution is now defined with either the noncentrality parameter or the shape parameter (#3287).

Maintenance

  • Big rewrite of documentation (#3275)
  • Fixed Triangular distribution c attribute handling in random and updated sample codes for consistency (#3225)
  • Refactor SMC and properly compute marginal likelihood (#3124)
  • Removed use of deprecated ymin keyword in matplotlib's Axes.set_ylim (#3279)
  • Fix for #3210. Now distribution.draw_values(params), will draw the params values 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._random method to better handle shape broadcasting (#3271)
  • Fixed Rice distribution, which inconsistently mixed two parametrizations (#3286).
  • Rice distribution now accepts multiple parameters and observations and is usable with NUTS (#3289).
  • sample_posterior_predictive no longer calls draw_values to initialize the shape of the ppc trace. This called could lead to ValueError's when sampling the ppc from a model with Flat or HalfFlat prior distributions (Fix issue #3294).

Deprecations

  • Renamed sample_ppc() and sample_ppc_w() to sample_posterior_predictive() and sample_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_point method to pm.Model
  • Add Ordered Transformation and OrderedLogistic distribution
  • Add Chain transformation
  • Improve error message Mass matrix contains zeros on the diagonal. Some derivatives might always be zero during tuning of pm.sample
  • Improve error message NaN occurred in optimization. during ADVI
  • Save and load traces without pickle using pm.save_trace and pm.load_trace
  • Add Kumaraswamy distribution
  • Add TruncatedNormal distribution
  • 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_predictive which 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 dependency graphviz) 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__ to SingleGroupApproximation to improve autocompletion in interactive environments

Fixes

  • Fixed grammar in divergence warning, previously There were 1 divergences ... could be raised.
  • Fixed KeyError raised when only subset of variables are specified to be recorded in the trace.
  • Removed unused repeat=None arguments from all random() methods in distributions.
  • Deprecated the sigma argument in MarginalSparse.marginal_likelihood in favor of noise
  • Fixed unexpected behavior in random. Now the random functionality is more robust and will work better for sample_prior when that is implemented.
  • Fixed scale_cost_to_minibatch behaviour, previously this was not working and always False

- 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_p keyword to pm.Bernoulli, so that users can specify the logit of the success probability. This is faster and more stable than using p=tt.nnet.sigmoid(logit_p).
  • Add random keyword to pm.DensityDist thus enabling users to pass custom random method which in turn makes sampling from a DensityDist possible.
  • 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_n now can reports N_eff>N.
  • Added KroneckerNormal distribution and a corresponding MarginalKron Gaussian Process implementation for efficient inference, along with lower-level functions such as cartesian and kronecker products.
  • Added Coregion covariance 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 the n.
  • Add offset kwarg to .glm.
  • Changed the compare function 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

  • VonMises does 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 bw controlling 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 random method, 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, theano would try to compile it and fail to find inputs, raising a theano.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 be theano.tensor.TensorConstants or theano.tensor.sharedvar.SharedVariables. Nevertheless, in distribution._draw_value, these would be passed to distribution._compile_theano_function as if they were theano.tensor.TensorVariables. This could lead to the following exceptions TypeError: ('Constants not allowed in param list', ...) or TypeError: Cannot use a shared variable (...). The fix was to not add theano.tensor.TensorConstant or theano.tensor.sharedvar.SharedVariable named nodes into the givens dict that could be used in distribution._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
  • njobs and nchains kwarg are deprecated in favor of cores and chains for sample
  • lag kwarg in pm.stats.autocorr and pm.stats.autocov is deprecated.

- Python
Published by fonnesbeck over 7 years ago

pymc - v3.3 Final

New features

  • Improve NUTS initialization advi+adapt_diag_grad and add jitter+adapt_diag_grad (#2643)
  • Added MatrixNormal class for representing vectors of multivariate normal variables
  • Implemented HalfStudentT distribution
  • 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, the DEMetropolis sampler 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 compareplot to use loo output.
  • Improved posteriorplot to scale fonts
  • sample_ppc_w now broadcasts
  • df_summary function renamed to summary
  • Add test for model.logp_array and model.bijection (#2724)
  • Fixed sample_ppc and sample_ppc_w to 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-)advi is 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 and Approximation objects. These make it easier to extend existing variational classes, and to derive inference from variational optimizations, respectively. The variational module now also includes normalizing flows (NFVI).
    • Bill Engels added an extensive new Gaussian processes (gp) module. Standard GPs can be specified using either Latent or Marginal classes, depending on the nature of the underlying function. A Student-T process TP has been added. In order to accomodate larger datasets, approximate marginal Gaussian processes (MarginalSparse) have been added.
  • 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_MAP was enhanced.
  • SMC now estimates the marginal likelihood.
  • Added Logistic and HalfFlat distributions to set of continuous distributions.
  • Bayesian fraction of missing information (bfmi) function added to stats.
  • Enhancements to compareplot added.
  • QuadPotential adaptation has been implemented.
  • Script added to build and deploy documentation.
  • MAP estimates now available for transformed and non-transformed variables.
  • The Constant variable 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 Bound class.
  • random method was added to the Wishart and LKJCorr distributions.
  • 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 Approximation class and the ability to convert a sampled trace into an approximation via its Empirical subclass.
  • 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