Using Bayesian Hierarchical Models to Infer the Disease Parameters of COVID-19

Bayesian Modeling with PyMC3

In a previous post (, I looked at the available data for the infected cases in the United States as a time-series, modeling this as a compartmental probabilistic model and inferring the disease parameters such as R0 using Bayesian estimation. However, we can use the case counts from several countries and use Bayesian hierarchical models to extend this work and better estimate R0. In this post I illustrate how we can do exactly that using PyMC3. [Read More]


An overview of Automated Machine Learning

Reader level: Intermediate Disclaimer: This post is work in progress and will be updated periodically. This is not meant to a comprehensive overview of the topic, but more of an introduction to AutoML, some tools and techniques. Overview Finding a model that works for a specific problem or a class of problems can be a time-consuming task. Usually, an engineer or a scientist determines what model class to use either based on his prior knowledge of the problem at hand or by evaluating several models and picking the best one. [Read More]

Gaussian Process Regression (Draft)

Uncertainty quantification

Reader level: Advanced Gaussian Distributions A Gaussian distribution exists over variables, i.e. the distribution explains how (relatively) frequently the values for those variables show up in observations. A Gaussian distribution for a n-dimensional vector variable is fully specified by a mean vector, μ, and covariance matrix Σ $$ \mathrm{x} = (x_{1},....x_{n})^{T} \sim \mathcal{N}(\mu,\Sigma) $$ A univariate Gaussian distribution is given by $$ p(x|\mu,\sigma^2) = \dfrac{1}{2\pi \sigma^2} e^{ \dfrac{ -(x - \mu)^2 }{2 \sigma^2} } $$ where μ is the mean and σ is the standard deviation for the Gaussian. [Read More]