A course by Peadar Coyle, a core PyMC3 contributor and founder of Aflorithmic Labs

Hands on introduction to PyMC3

AB testing is a classical technique in modern day e-commerce or marketing analytics jobs. Alternatively it can be useful in biology or chemistry or any experimental design process.

Change point detection is useful in fraud detection, electricity markets modelling, process analysis and in dev ops - predicting when systems will get overloaded in data centres or in the cloud.

In this section I'll look at some real world techniques with PyMC3

- AB Testing
- Change point detection
- Installing PyMC3.

AB testing is a classical technique in modern day e-commerce or marketing analytics jobs. Alternatively it can be useful in biology or chemistry or any experimental design process.

Change point detection is useful in fraud detection, electricity markets modelling, process analysis and in dev ops - predicting when systems will get overloaded in data centres or in the cloud.

What is PyMC3 and how do I get started?
# What is PyMC3

This section will take us through what PyMC3 is. In particular we'll talk about how to install/ use and get up and running with this library.

We'll touch on

In the rest of the course we'll dive deeper into each of these topics.

Firstly we need to introduce, what is PyMC3?

In this section we'll explain what the key syntax is, and how to use PyMC3.

In this section we'll explain what the key syntax is, and how to use PyMC3.

This section will take us through what PyMC3 is. In particular we'll talk about how to install/ use and get up and running with this library.

We'll touch on

- What Bayesian Statistics and Probabilistic Programming are
- What MCMC algorithms are
- What use cases in industry are improved by a better understanding of uncertainty.

In the rest of the course we'll dive deeper into each of these topics.

What is MCMC?
**Why should you care?**

**Curriculum**

An explanation of what MCMC (Markov-Chain-Monte Carlo) is and why you should care. I'll also explain things like what NUTS (No-U-Turn-Sampler) is and this will inform our future work on how to diagnose model performance.

The underlying machinery of Probabilistic Programming is either a variational inference approach (largely out of scope for this course, but we'll talk about it) or a MCMC sampling approach. Like in any applied statistics topic you **do **need to have an understanding of how the underlying machinery works. In particular to debug it.

This section of the course provides an applied and practical focus on what MCMC samplers are. There'll be some Math but it'll be hacker focused.

This section of the course provides an applied and practical focus on what MCMC samplers are. There'll be some Math but it'll be hacker focused.

- Metropolis sampling
- Gradient-based sampling methods

Introduction to Theano

PyMC3 is based upon Theano, so it's useful to have some familiarity with it when doing work.

Theano is a package that allows us to define functions involving array operations and linear algebra. When we define a PyMC3 model, we implicitly build up a Theano function from the space of our parameters to their posterior probability density up to a constant factor. We then use symbolic manipulations of this function to also get access to its gradient.

This part of the course will discuss how to use theano, how to debug it and some tricks for handling some of the idiosyncrasies of Theano.

Theano is a package that allows us to define functions involving array operations and linear algebra. When we define a PyMC3 model, we implicitly build up a Theano function from the space of our parameters to their posterior probability density up to a constant factor. We then use symbolic manipulations of this function to also get access to its gradient.

This part of the course will discuss how to use theano, how to debug it and some tricks for handling some of the idiosyncrasies of Theano.

Hierarchical Models (Multilevel models)

In this section I provide a case study into a hierarchical model in sports analytics.

I apply Bayesian Statistics to modelling the six nations in Rugby.

This application is a good one for Bayesian statistics, we have priors and not much data - therefore we should be prepared to model in a way that gives us uncertainty quantification - which is Bayesian Statistics.

I apply Bayesian Statistics to modelling the six nations in Rugby.

This application is a good one for Bayesian statistics, we have priors and not much data - therefore we should be prepared to model in a way that gives us uncertainty quantification - which is Bayesian Statistics.

Model building with PyMC3

I explain how to build models with PyMC3 and give you a deep dive into the underlying API.

The Model Building with PyMC3 course will include

The Model Building with PyMC3 course will include

- Specifying priors and likelihoods
- Deterministic variables
- Factor potentials
- Custom variables
- Step methods
- Generalized linear models
- Missing Data

Other Probabilistic Programming Languages and Tools

All languages will have examples and explanations of the syntax.

PyMC3 is just one of many Probabilistic Programming Languages.

The aim with this section is to discuss languages/tools such as

The aim with this section is to discuss languages/tools such as

- Pyro
- Stan
- Edward
- Tensorflow Probability
- Arviz

All languages will have examples and explanations of the syntax.

Real world examples of Probabilistic Programming

This section will include examples of real-world

Bayesian Machine Learning

*CONGRATULATIONS ON FINISHING THE COURSE* You can retrieve a certificate by this google form

New functionality - PyMC3 3.9

I decided to do some new lectures on new functionality in PyMC3 3.9. Here I take us through the 'Data' class. Which allows you to better plot your data, and better predict models on unseen data.