PyData London 2019 Tutorial on Markov chain Monte Carlo with PyMC3
Alternatives To Mcmc_pydata_london_2019
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Network Analysis Made Simple975
a month ago15mitJupyter Notebook
An introduction to network analysis and applied graph theory using Python and NetworkX
9 days ago6apache-2.0Jupyter Notebook
CatBoost tutorials repository
3 years ago2Jupyter Notebook
PyTorch Tutorial (1.7)
Spacy Notebooks242
5 years ago5mitJupyter Notebook
💫 Jupyter notebooks for spaCy examples and tutorials
Movie Plots By Genre208
4 years ago6Jupyter Notebook
Movie plots by genre tutorial at PyData Berlin 2016
3 years ago2Jupyter Notebook
Pydata Chicago2016 Ml Tutorial128
7 years agomitJupyter Notebook
Machine learning with scikit-learn tutorial at PyData Chicago 2016
8 years ago1bsd-3-clausePython
Scikit-Learn Tutorial for PyData Seattle 2015
2 years agoJupyter Notebook
For the pandas tutorial at PyData Seattle:
Data Science At Scale95
2 years ago4mitJupyter Notebook
A Pythonic introduction to methods for scaling your data science and machine learning work to larger datasets and larger models, using the tools and APIs you know and love from the PyData stack (such as numpy, pandas, and scikit-learn).
Alternatives To Mcmc_pydata_london_2019
Select To Compare

Alternative Project Comparisons

Markov chain Monte Carlo with PyMC3

Chris Fonnesbeck

PyData London 2019 Tutorial


Bayesian methods are powerful tools for data science applications, complimenting traditional statistical and machine learning methods. Importantly, Bayesian models generate predictions and inferences that fully account for uncertainty. The main tool for conducting Bayesian analysis is Markov chain Monte Carlo (MCMC), a computationally-intensive numerical approach that allows a wide variety of models to be estimated. MCMC algorithms are available in several Python libraries, including PyMC3. I will teach users a practical, effective workflow for applying Bayesian statistics using MCMC via PyMC3 using real-world examples.

This tutorial is intended for analysts, data scientists and machine learning practitioners. Anyone looking for effective ways of making predictions and obtaining inference from datasets should find it useful. The material will assume an intermediate level of Python familiarity. Ideally, attendees should be familiar with Numpy and Jupyter. There is no expectation of students having a statistical background. Having completed the tutorial, students should be able to build basic Bayesian statistical models using their own data, validate those models, and interpret their output.


  1. Introduction to Bayes and PyMC3
    • What is a Baysian statistical model?
    • The Bayesian workflow in three steps
    • A high-level introduction to the PyMC3 API
    • Motivating examples
  2. Markov chain Monte Carlo
    • Why is Bayesian analysis hard?
    • If you can't calculate, simulate!
    • The Metropolis algorithm
    • A better way: Hamiltonian Monte Carlo
  3. Building and Fitting Models with PyMC3
    • Stochastic variables
    • Custom distributions
    • Deterministic variables
    • Factor potentials
    • MCMC sampling with step methods
  4. Model Checking and Diagnostics
    • Convergence diagnostics
    • Autocorrelation
    • Diagnostics for gradient-based samplers
    • Posterior predictive checks


This tutorial assumes that you have Anaconda (Python 3.7 version) setup and installed on your system.

The next step is to clone or download the tutorial materials in this repository. If you are familiar with Git, run the clone command:

git clone

otherwise you can download a zip file of its contents, and unzip it on your computer.

The repository for this tutorial contains a file called environment.yml that includes a list of all the packages used for the tutorial. If you run:

conda env create

from the main tutorial directory, it will create the environment for you and install all of the packages listed. This environment can be enabled using:

conda activate mcmc_tutorial

Then, I recommend using JupyterLab to access the materials:

jupyter lab
Popular Tutorials Projects
Popular Pydata Projects
Popular Learning Resources Categories

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Jupyter Notebook