[Paper Review] A tutorial on spatiotemporal partially observed Markov process models via the R package spatPomp
This paper introduces the R package spatPomp, a computational framework for statistical inference in spatiotemporal partially observed Markov process (SpatPOMP) models, enabling analysis of high-dimensional, nonlinear, non-Gaussian systems with spatial coupling. It demonstrates the framework on a measles transmission model across six UK cities, showing accurate simulation of case reporting patterns using sequential Monte Carlo methods and plug-and-play inference.
We describe a computational framework for modeling and statistical inference on high-dimensional stochastic dynamic systems. Our primary motivation is the investigation of metapopulation dynamics arising from a collection of spatially distributed, interacting biological populations. To make progress on this goal, we embed it in a more general problem: inference for a collection of interacting partially observed nonlinear non-Gaussian stochastic processes. Each process in the collection is called a unit; in the case of spatiotemporal models, the units correspond to distinct spatial locations. The dynamic state for each unit may be discrete or continuous, scalar or vector valued. In metapopulation applications, the state can represent a structured population or the abundances of a collection of species at a single location. We consider models where the collection of states has a Markov property. A sequence of noisy measurements is made on each unit, resulting in a collection of time series. A model of this form is called a spatiotemporal partially observed Markov process (SpatPOMP). The R package spatPomp provides an environment for implementing SpatPOMP models, analyzing data using existing methods, and developing new inference approaches. Our presentation of spatPomp reviews various methodologies in a unifying notational framework. We demonstrate the package on a simple Gaussian system and on a nontrivial epidemiological model for measles transmission within and between cities. We show how to construct user-specified SpatPOMP models within spatPomp.
Motivation & Objective
- To develop a scalable computational framework for statistical inference in high-dimensional spatiotemporal partially observed Markov processes (SpatPOMP) with nonlinear and non-Gaussian dynamics.
- To address the challenge of inference in spatially coupled, partially observed stochastic systems where standard Monte Carlo methods suffer from the curse of dimensionality.
- To unify model specification and inference for mechanistic spatiotemporal models, particularly in ecology and epidemiology, by extending the POMP framework to spatially structured units.
- To provide a plug-and-play environment in R that supports both existing and new inference algorithms for SpatPOMP models, facilitating methodological innovation.
- To enable practical analysis of complex biological metapopulation systems, such as multi-city disease transmission, with realistic measurement error and process noise.
Proposed method
- The framework models each spatial unit as a partially observed Markov process with latent states and noisy observations, linked via a global Markov property across space and time.
- It extends the POMP (Partially Observed Markov Process) framework to spatially structured systems using S4 classes in R, building on the pomp package for computational efficiency.
- The package supports user-defined stochastic processes via Euler approximation (e.g., `euler()`), with state transitions governed by user-specified differential equations or Markov jump processes.
- It incorporates accumulator variables (e.g., cumulative infections) that reset at each observation time, enabling accurate modeling of case reporting intervals.
- Inference is performed using sequential Monte Carlo (SMC) methods, with plug-and-play likelihood evaluation via particle filters, and supports multi-core parallelization for performance.
- The package provides modular components for data, measurement models, process models, and global parameters, enabling flexible model assembly and reuse.
Experimental results
Research questions
- RQ1How can statistical inference be efficiently performed for high-dimensional, nonlinear, non-Gaussian spatiotemporal systems with spatial coupling?
- RQ2Can a unified R-based framework support both existing and novel inference algorithms for SpatPOMP models while maintaining computational efficiency?
- RQ3How well can SpatPOMP models reproduce real-world epidemiological patterns, such as measles case reporting across multiple cities?
- RQ4What role do accumulator variables play in accurately modeling time-integrated observations like cumulative infections?
- RQ5To what extent can the plug-and-play SMC inference approach scale to realistic metapopulation models with moderate spatial resolution?
Key findings
- The spatPomp package successfully implements a scalable, modular framework for SpatPOMP models, enabling inference in systems with up to ~100 spatial units and complex dynamics.
- A six-city measles transmission model was successfully constructed and simulated, showing qualitative agreement with real case reporting data on the log scale.
- The use of accumulator variables (e.g., C for cumulative infections) enabled accurate modeling of case reports over two-week intervals, with reset behavior at each observation time.
- The framework supports plug-and-play inference via sequential Monte Carlo, allowing efficient likelihood evaluation and parameter estimation without explicit likelihood computation.
- The package achieves competitive performance through C-compiled core components and native support for multi-core parallelization, enhancing scalability for computationally intensive tasks.
- The framework enables researchers to decouple model development from inference, promoting reuse and methodological innovation in spatiotemporal modeling.
Better researchstarts right now
From reading papers to final review, dramatically reduce your research time.
No credit card · Free plan available
This review was created by AI and reviewed by human editors.