12 research outputs found
Probabilistic Programming in Python using PyMC
Probabilistic programming (PP) allows flexible specification of Bayesian
statistical models in code. PyMC3 is a new, open-source PP framework with an
intutive and readable, yet powerful, syntax that is close to the natural syntax
statisticians use to describe models. It features next-generation Markov chain
Monte Carlo (MCMC) sampling algorithms such as the No-U-Turn Sampler (NUTS;
Hoffman, 2014), a self-tuning variant of Hamiltonian Monte Carlo (HMC; Duane,
1987). Probabilistic programming in Python confers a number of advantages
including multi-platform compatibility, an expressive yet clean and readable
syntax, easy integration with other scientific libraries, and extensibility via
C, C++, Fortran or Cython. These features make it relatively straightforward to
write and use custom statistical distributions, samplers and transformation
functions, as required by Bayesian analysis
Probabilistic programming in Python using PyMC3 Probabilistic Programming in Python using PyMC3
ABSTRACT Probabilistic Programming allows for automatic Bayesian inference on user-defined probabilistic models. Recent advances in Markov chain Monte Carlo (MCMC) sampling allow inference on increasingly complex models. This class of MCMC, known as Hamiltonian Monte Carlo, requires gradient information which is often not readily available. PyMC3 is a new open source Probabilistic Programming framework written in Python that uses Theano to compute gradients via automatic differentiation as well as compile probabilistic programs on-the-fly to C for increased speed. Contrary to other Probabilistic Programming languages, PyMC3 allows model specification directly in Python code. The lack of a domain specific language allows for great flexibility and direct interaction with the model. This paper is a tutorial-style introduction to this software package
Inferring the effectiveness of government interventions against COVID-19
Governments are attempting to control the COVID-19 pandemic with nonpharmaceutical interventions (NPIs). However, the effectiveness of different NPIs at reducing transmission is poorly understood. We gathered chronological data on the implementation of NPIs for several European and non-European countries between January and the end of May 2020. We estimated the effectiveness of these NPIs, which range from limiting gathering sizes and closing businesses or educational institutions to stay-at-home orders. To do so, we used a Bayesian hierarchical model that links NPI implementation dates to national case and death counts and supported the results with extensive empirical validation. Closing all educational institutions, limiting gatherings to 10 people or less, and closing face-to-face businesses each reduced transmission considerably. The additional effect of stay-at-home orders was comparatively small
pymc-devs/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.
pymc-devs/pymc: v5.9.2
<p><!-- Release notes generated using configuration in .github/release.yml at main --></p>
<h2>What's Changed</h2>
<h3>New Features </h3>
<ul>
<li>Recognize alternative form of sigmoid in logprob inference by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6978</li>
<li>Allow IntervalTransform to handle dynamic infinite bounds by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7001</li>
</ul>
<h3>Bugfixes </h3>
<ul>
<li>Fix compute_test_value error when creating observed variables by @vandalt in https://github.com/pymc-devs/pymc/pull/6982</li>
<li>Fix memory leak in logp of transformed variables by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6991</li>
</ul>
<h3>Documentation </h3>
<ul>
<li>fix typo in notebook about Distribution Dimensionality by @nicrie in https://github.com/pymc-devs/pymc/pull/7005</li>
</ul>
<h3>Maintenance </h3>
<ul>
<li>Add more missing functions to math module by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6979</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li>@vandalt made their first contribution in https://github.com/pymc-devs/pymc/pull/6982</li>
<li>@nicrie made their first contribution in https://github.com/pymc-devs/pymc/pull/7005</li>
</ul>
<p><strong>Full Changelog</strong>: https://github.com/pymc-devs/pymc/compare/v5.9.1...v5.9.2</p>
pymc-devs/pymc: v5.9.1
<p><!-- Release notes generated using configuration in .github/release.yml at main --></p>
<h2>What's Changed</h2>
<h3>New Features </h3>
<ul>
<li>Allow batched parameters in MvNormal and MvStudentT distributions by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6897</li>
<li>Logprob derivation of Max for Discrete IID distributions by @Dhruvanshu-Joshi in https://github.com/pymc-devs/pymc/pull/6790</li>
<li>Support logp derivation of <code>power(base, rv)</code> by @LukeLB in https://github.com/pymc-devs/pymc/pull/6962</li>
</ul>
<h3>Bugfixes </h3>
<ul>
<li>Make <code>Model.str_repr</code> robust to variables without monkey-patch by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6942</li>
<li>Fix bug in GP Periodic and WrappedPeriodic kernel full method by @lucianopaz in https://github.com/pymc-devs/pymc/pull/6952</li>
<li>Fix rejection-based truncation of scalar variables by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6923</li>
</ul>
<h3>Documentation </h3>
<ul>
<li>Add expression for NegativeBinomial variance by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6957</li>
</ul>
<h3>Maintenance </h3>
<ul>
<li>Add constant and observed data to nutpie idata by @Y0dler in https://github.com/pymc-devs/pymc/pull/6943</li>
<li>Improve multinomial moment by @aerubanov in https://github.com/pymc-devs/pymc/pull/6933</li>
<li>Fix HurdleLogNormal Docstring by @amcadie in https://github.com/pymc-devs/pymc/pull/6958</li>
<li>Use numpy testing utilities instead of custom close_to* by @erik-werner in https://github.com/pymc-devs/pymc/pull/6961</li>
<li>Include more PyTensor functions in math module by @jaharvey8 in https://github.com/pymc-devs/pymc/pull/6956</li>
<li>Improve blackjax sampling integration by @junpenglao in https://github.com/pymc-devs/pymc/pull/6963</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li>@Y0dler made their first contribution in https://github.com/pymc-devs/pymc/pull/6943</li>
<li>@amcadie made their first contribution in https://github.com/pymc-devs/pymc/pull/6958</li>
<li>@erik-werner made their first contribution in https://github.com/pymc-devs/pymc/pull/6961</li>
</ul>
<p><strong>Full Changelog</strong>: https://github.com/pymc-devs/pymc/compare/v5.9.0...v5.9.1</p>
pymc-devs/pymc: v5.10.0
<p><!-- Release notes generated using configuration in .github/release.yml at main --></p>
<h2>What's Changed</h2>
<h3>Major Changes </h3>
<ul>
<li>ChiSquared now returns a Gamma random variable by @wd60622 in https://github.com/pymc-devs/pymc/pull/7007</li>
<li>Remove several deprecated model properties and deprecate new ones by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7033</li>
<li>Bump Pytensor dependency to <code>>=2.18.1,<2.19</code> by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7020</li>
</ul>
<h3>New Features </h3>
<ul>
<li>Default <code>moment</code> for <code>CustomDist</code> provided with a <code>dist</code> function by @aerubanov in https://github.com/pymc-devs/pymc/pull/6873</li>
</ul>
<h3>Documentation </h3>
<ul>
<li>Fix docs formatting in <code>shape_utils</code> by @kataev in https://github.com/pymc-devs/pymc/pull/7025</li>
</ul>
<h3>Maintenance </h3>
<ul>
<li>Update CODE_OF_CONDUCT.md by @fonnesbeck in https://github.com/pymc-devs/pymc/pull/7012</li>
<li>Update devcontainer by @maresb in https://github.com/pymc-devs/pymc/pull/7017</li>
<li>Merge redundant code across <code>logprob</code>, <code>pytensorf</code> and <code>distributions/transform</code> by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/6976</li>
<li>Use PyTensor StudentT RV by @ricardoV94 in https://github.com/pymc-devs/pymc/pull/7028</li>
<li>Update GOVERNANCE.md by @canyon289 in https://github.com/pymc-devs/pymc/pull/7031</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li>@kataev made their first contribution in https://github.com/pymc-devs/pymc/pull/7025</li>
</ul>
<p><strong>Full Changelog</strong>: https://github.com/pymc-devs/pymc/compare/v5.9.2...v5.10.0</p>