Blog posts

Hey there, these posts are in part so that I can keep a record of the various topics that I work on and for something I can point to for students interested in them (hoping for the day).

2025

Investigating student stress indicators using UMAP (Kaggle Dataset)

18 minute read

Published:

In this post, I’m going to investigate the underlying relationships between various physical and mental health indicators and student stress levels. In the process I will give an introduction to the Uniform Manifold Approximation and Projection or UMAP dimensional reduction technique.

A RealNVP conditional normalising flow (from scratch?)

15 minute read

Published:

In this post I will attempt to give an introduction to conditional normalising flows, not to be confused with continuous normalising flows, that model both \(\vec{\theta}\) and \(\vec{x}\) in the conditional distribution \(p(\vec{\theta}\vert\vec{x})\). I was nicely surprised at how simple it is to implement compared to unconditional normalising flows, so I thought I’d show this in a straightforward way. Assumes you’ve read my post on Building a normalising flow from scratch using PyTorch.

An introduction to continuous normalising flows

25 minute read

Published:

In this post I will attempt to give an introduction to continuous normalising flows, an evolution of normalising flows that translate the idea of training a discrete set of transformations to approximate a posterior, into training an ODE or vector field to do the same thing.

Variational Inference Introduction

36 minute read

Published:

In this post I will attempt to give an introduction to variational inference with some examples using the NumPyro python package. Partly under construction

Markov Chain (+) Monte Carlo methods

21 minute read

Published:

In this post I’ll go through “what is MCMC?”, “How is it useful for statistical inference?” And the conditions under which it is stable.

Rejection Sampling

10 minute read

Published:

In this post I’m going to introduce rejection sampling as a way to generate samples from an unnormalised pdf as further background to MCMC.

Inverse Transform Sampling

6 minute read

Published:

Introduction into inverse transform sampling for continuous and discrete probability distributions.

First Blog Post/Fitting a line I

14 minute read

Published:

First blog post, outlining what I’m going to try and do in the next few posts and some basics on Bayesian analysis.