About this course#
This online book consists of lecture notes of the course which I taught during
25 March to 12 April 2024 to the inaugural cohort,
25 November to 13 December 2024 to the second cohort
of MSc “AI for Science” at the African Institute for Mathematical Sciences (AIMS), South Africa.
The title of the course for the first cohort was “Bayesian Modelling and Probabilistic Programming with Numpyro and examples from Epidemiology’’.
The title of the course for the second cohort is “Bayesian Modelling and Probabilistic Programming with Numpyro, and Deep Generative Surrogates for epidemiology.’’.
Abstract#
In this course we will explore a range of topics in Bayesian modelling, such as Bayesian inference, hierarchical modelling, Gaussian processes for spatial statistics, ordinary differential equations (ODEs) and agent-based models (ABMs) for disease transmission modelling.
Using the probabilistic programming language Numpyro
, we will construct probabilistic models and perform Bayesian inference to quantify uncertainty in model predictions and parameter estimates.
As the course progresses, we will introduce deep generative models as efficient surrogates for computationally demanding model components (yes, this is ‘generative AI’!). These surrogates, implemented in JAX
, will be integrated seamlessly into Numpyro programs, enabling fast and scalable MCMC inference.
While the course emphasises computational techniques, the models and applications are rooted in real-world epidemiology, providing a practical framework for data-driven decision-making in health research.
Prerequisites#
Conditional probability
Joint probability
Marginal distribution
Python:
numpy
,matplotlib
Evaluation#
Throughout the course, you will see a set of Tasks
in the lecture notes. You need to submit answers to all of the tasks in one executable file (link to a Colab document or an .ipynb
).
Task
This is an example of a Task
section.
Group Task
This is an example of a Group Task
section.