# State Space Models: A Modern Approach

This is an interactive textbook on state space models (SSM) using the JAX Python library. Some of the content is covered in other books such as [Sar13] and [Mur23]. However, we go into more detail, and focus on how to efficiently implement the various algorithms in a “modern” computing environment, exploiting recent progress in automatic differentiation and parallel computing.

- Scratchpad
- Introduction
  - Hidden Markov Models
  - Hidden Semi-Markov Models
  - Linear Gaussian SSMs
  - Non-Linear Gaussian SSMs
  - Non-Gaussian SSMs
  - Switching SSMs
  - Deep SSMs
  - Recurrent Neural Networks
- Inference in discrete SSMs
  - HMM filtering (forwards algorithm)
  - HMM smoothing (forwards-backwards algorithm)
  - Viterbi algorithm
  - Parallel HMM smoothing
  - Forwards-filtering backwards-sampling algorithm
- Inference in linear-Gaussian SSMs
  - Kalman filtering
  - Kalman (RTS) smoother
  - Parallel Kalman Smoother
  - Forwards-filtering backwards sampling
- Extended (linearized) methods
  - Extended Kalman filtering
  - Extended Kalman smoother
  - Parallel extended Kalman smoothing
- Unscented methods
  - Unscented filtering
  - Unscented smoothing
- Quadrature and cubature methods
- Posterior linearization
- Assumed Density Filtering
- Variational inference
- Particle filtering
- Sequential Monte Carlo
- Offline parameter estimation (learning)
  - Expectation Maximization (EM)
  - Stochastic Gradient Descent (SGD)
  - Variational Bayes (VB)
  - Markov Chain Monte Carlo (MCMC)
- Multi-target tracking
- Data assimilation using Ensemble Kalman filter
- Bayesian non-parametric SSMs
- Changepoint detection
- Timeseries forecasting
- Markovian Gaussian processes
- Differential equations and SSMs
- Optimal control
- Bibliography

next

Scratchpad