Skip to main content
QUICK REVIEW

[Paper Review] Efficient simulation of individual-based population models: the R Package IBMPopSim

Daphné Giorgi, Sarah Kaakaï|arXiv (Cornell University)|Mar 10, 2023
demographic modeling and climate adaptationDecision Sciences26 references3 citations
TL;DR

This paper introduces IBMPopSim, an R package that enables efficient, exact simulation of stochastic individual-based population models (IBMs) using C++-accelerated thinning algorithms via Rcpp. It supports complex population dynamics with age-structured individuals, dynamic event intensities, and interactions, offering a scalable solution for actuarial, ecological, and demographic modeling with proven computational efficiency and user-friendly R integration through compiled C++ code.

ABSTRACT

The R Package IBMPopSim aims to simulate the random evolution of heterogeneous populations using stochastic Individual-Based Models (IBMs). The package enables users to simulate population evolution, in which individuals are characterized by their age and some characteristics, and the population is modified by different types of events, including births/arrivals, death/exit events, or changes of characteristics. The frequency at which an event can occur to an individual can depend on their age and characteristics, but also on the characteristics of other individuals (interactions). Such models have a wide range of applications in fields including actuarial science, biology, ecology or epidemiology. IBMPopSim overcomes the limitations of time-consuming IBMs simulations by implementing new efficient algorithms based on thinning methods, which are compiled using the Rcpp package while providing a user-friendly interface.

Motivation & Objective

  • To address the computational inefficiency of traditional individual-based model (IBM) simulations in large, heterogeneous populations with dynamic event intensities.
  • To provide a scalable, high-performance simulation framework for stochastic IBMs in continuous time, particularly for applications in actuarial science and demography.
  • To integrate advanced stochastic simulation techniques—specifically Poisson random measures and thinning—into a user-friendly R package with seamless C++ compilation via Rcpp.
  • To support complex population dynamics including individual interactions, age-dependent event rates, and state-dependent transitions in a single, extensible computational environment.
  • To enable researchers to define custom events and intensities with minimal code, while ensuring exact simulation through pathwise representation of jump processes.

Proposed method

  • Employs a pathwise representation of IBMs using Poisson random measures to model event occurrences as jumps in a continuous-time Markov process.
  • Applies the thinning method to simulate event times exactly by dominating the original intensity with a simpler, uniformly bounded intensity process.
  • Uses Rcpp to compile C++ implementations of event generation and intensity evaluation, achieving high computational performance while maintaining R-level usability.
  • Models population dynamics through three event types: births/entries, deaths/exits, and state changes (e.g., trait transitions), each with intensity functions dependent on individual age, characteristics, and population-level interactions.
  • Implements a multivariate counting process framework where event times are determined by competitive thinning across all potential events, ensuring exact simulation without rejection sampling.
  • Supports both non-interacting and interacting populations by allowing intensity functions to depend on the joint state of multiple individuals, with formal existence and non-explosion proofs provided via domination arguments.

Experimental results

Research questions

  • RQ1How can individual-based models with complex, state-dependent event intensities and interactions be simulated efficiently in continuous time?
  • RQ2What computational strategies enable exact simulation of large, heterogeneous populations without relying on discrete-time approximations or rejection sampling?
  • RQ3To what extent can the integration of C++ via Rcpp improve performance in stochastic simulation of structured populations while preserving R-level usability?
  • RQ4How can the thinning method be systematically applied to a general class of individual-based models with age and interaction-dependent intensities?
  • RQ5What is the theoretical foundation ensuring the non-explosion and pathwise correctness of the simulation algorithm in the presence of population-level interactions?

Key findings

  • The IBMPopSim package enables exact simulation of individual-based models using a thinning-based algorithm compiled via Rcpp, significantly reducing runtime compared to naive implementations.
  • The method ensures non-explosion of the process by pathwise domination with a simpler counting process, with theoretical justification provided through Feller condition verification.
  • The package supports complex dynamics including age-dependent and interaction-dependent event intensities, enabling realistic modeling of insurance portfolios and demographic systems.
  • The pathwise representation via Poisson random measures allows for exact simulation of jump processes in general state spaces, avoiding bias from time-discretization.
  • The integration of C++ code through Rcpp enables high-performance computation while maintaining a high-level, user-friendly R interface for defining events and intensities.
  • Theoretical results confirm that the simulated process has the same law as the original IBM, ensuring correctness of the simulation framework.

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.