Awesome Bayes
List of resources for bayesian inference
Books
- Statistical Rethinking
- Bayesian Data Analysis
- Probability Theory: The Logic of Science
- The Bayesian Choice
- Bayesian methods for hackers
- Bayesian Analysis with Python | errata and extra material
Software/packages
General inference
- BUGS: Bayesian Inference Using Gibbs Sampling. Oldest of the Bayesian inference platforms, tried and tested. Has a Windows friendly version, WinBUGS. R, python and many other language bindings, GUIs and
- JAGS: Just another Gibbs sampler, similar to BUGS - focused on cross-platform, usability. Also tried and tested. R and python bindings too.
- Stan: Full-featured Bayesian inference with R and python bindings. Based on Hamiltonian MC and NUTS. Current favorite of the community it seems with lots of examples, docs.
- PyMC3: Probabilistic programming in Python/Theano. PyMC4 is in dev, will use Tensorflow as backend. Great API and interface, but hindered by Theano's deprecation. PYMC4 promises great things.
- edward2/tfprobability: Probabilistic programming in tensorflow. Scalable models, but little docs.
- Zhusuan: Another probabilistic programming framework built on tensorflow.
- Pyro: Probabilistic programming in Pytorch. Good docs, scalable models too.
- Brancher: Probabilistic inference based on auto diff and variational models, also based on Pytorch.
- LaplacesDemon: Mysterious probabilistic programming package in R with a cult following.
- WebPPL: Probabilistic programming in the browser.
- Turing.jl: Probabilistic programming in Julia, by Zoubin Ghahramani's lab.
- Infer.NET: Specializes in running probabilistic inference in factor graphs (Expectation Propagation, Variational Inference). Programs written in .NET.
Specific
- brms : Generalized linear/non-linear multilevel models, uses Stan.
- R-INLA : Latent Gaussian models via Integrated Nested Latent Approximations. Really fast compared to MCMC.
- bayesmix: Finite mixture models with JAGS in R
- lmm: Linear mixed models fitted with MCMC
Misc
- List of Bayesian inference packages for R: Comprehensive list for all Bayesian inference in R
- ArviZ: ArviZ is a Python package for exploratory analysis of Bayesian models. Includes functions for posterior analysis, sample diagnostics, model checking, and comparison. Works with PyMC3, PyStan, emcee, Pyro and TensorFlow Probability.
- StatSim: Browser-based interface to create, share, and perform inference on probabilistic models. Powered by WebPPL and PyMC3.
Resources, papers, and blogs
General topics
Introductory
- Count Bayesie: Will Kurt from "Get Programming with Haskell" fame explains basic probability and stats concepts through a Bayesian lens in a fun way.
- How to become a Bayesian in eight easy steps
- Introduction to Bayesian Statistics: Course lectures by Brendon Brewer (University of Auckland)
- Michael Jordan's Bayesian Statistics Course Notes
MCMC
- The MCMC interactive gallery: Build intuition for common MCMC routines using interactive demos. A walkthrough of the demos can be found here.
- The MCMC handbook intro to MCMC: A no-frills intro to MCMC
- Scaling up Bayesian inference: For Big Dataโข
Variational Inference
- Intro to variational inference via mean field approx
- David Blei's Variational Inference tutorial
- Expectation Maximization and Variational Inference
Empirical Bayes
Non-parametrics
- Collection of tutorials on non-parametrics
- Infinite mixture models
- A Visual Exploration of Gaussian Processes
INLA
Bayesian deep learning
- Yarin Gal's talk on Bayesian Deep Learning: Blog post of the talk is also very informative, check it out here
- What is a variational autoencoder?
Misc
- Probabilistic Numerics: View all numeric optimization through a Bayesian lens
Michael Betancourt's case studies
Indexed here, these deserve a list all to themselves:
- Principled Bayesian Worflow: What to know and what to look for when doing Bayesian inference.
- Conceptual introduction to Hamiltonian MC
- Identifying Bayesian Mixture Models
- Diagnosing Biased Inference Using Divergences