Extending JumpProcess.jl for fast point process simulation with time-varying intensities
arXiv:2306.06992 · doi:10.21105/jcon.00133
Abstract
Point processes model the occurrence of a countable number of random points over some support. They can model diverse phenomena, such as chemical reactions, stock market transactions and social interactions. We show that JumpProcesses.jl is a fast, general-purpose library for simulating point processes. JumpProcesses.jl was first developed for simulating jump processes via stochastic simulation algorithms (SSAs) (including Doob's method, Gillespie's methods, and Kinetic Monte Carlo methods). Historically, jump processes have been developed in the context of dynamical systems to describe dynamics with discrete jumps. In contrast, the development of point processes has been more focused on describing the occurrence of random events. In this paper, we bridge the gap between the treatment of point and jump process simulation. The algorithms previously included in JumpProcesses.jl can be mapped to three general methods developed in statistics for simulating evolutionary point processes. Our comparative exercise revealed that the library initially lacked an efficient algorithm for simulating processes with variable intensity rates. We, therefore, extended JumpProcesses.jl with a new simulation algorithm, Coevolve, that enables the rapid simulation of processes with locally-bounded variable intensity rates. It is now possible to efficiently simulate any point process on the real line with a non-negative, left-continuous, history-adapted and locally bounded intensity rate coupled or not with differential equations. This extension significantly improves the computational performance of JumpProcesses.jl when simulating such processes, enabling it to become one of the few readily available, fast, general-purpose libraries for simulating evolutionary point processes.
References in corpus (7)
- The Zig-Zag Process and Super-Efficient Sampling for Bayesian Analysis of Big Data
- Fast and principled simulations of the SIR model on temporal networks
- Tick: a Python library for statistical learning, with a particular emphasis on time-dependent modelling
- Exact simulation of the jump times of a class of Piecewise Deterministic Markov Processes
- Constant-complexity Stochastic Simulation Algorithm with Optimal Binning
- PoPPy: A Point Process Toolbox Based on PyTorch
- A new twist for the simulation of hybrid systems using the true jump method