Here, we collect instructional materials to help you build models and perform inference using Pypomp, a Python/JAX library for data analysis using partially observed Markov process (POMP) models. Pypomp emphasizes the use of sequential Monte Carlo βparticle filterβ techniques, GPU acceleration, and automatic differentiation.
pypomp package.A step-by-step introduction demonstrating how to construct a POMP model (specifically, an AR(1) process observed with noise) from scratch. It guides you through simulation, estimating log-likelihoods with the particle filter, and running iterated filtering (IF2) for parameter estimation, checking the results against the exact answers from the Kalman filter.
A short course designed for readers interested in POMP modeling, using epidemiological dynamics as an example. The course transfers concepts from the R-pomp short course to Pypomp.
Course Lessons:
A tutorial demonstrating how to construct a POMP model for cholera dynamics in Dhaka from scratch and how to perform parameter estimation using the Differentiated Measurement Off-Parameter (DMOP) filter with the Adam optimizer.
A tutorial demonstrating how to construct and fit a large spatial panel model (with weekly case reports from 1,422 cities/towns in England and Wales) using Marginalized Panel Iterated Filtering (MPIF).
A tutorial demonstrating how to construct and fit a panel model for a system of four interacting species, using Marginalized Panel Iterated Filtering (MPIF).