Extending JumpProcess.jl for fast point process simulation with time-varying intensities
Guilherme Augusto Zagatti,Samuel A. Isaacson,Christopher Rackauckas,Vasily Ilin,See-Kiong Ng,Stéphane Bressan
DOI: https://doi.org/10.21105/jcon.00133
2023-07-24
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 <a class="link-external link-http" href="http://JumpProcesses.jl" rel="external noopener nofollow">this http URL</a> is a fast, general-purpose library for simulating point processes. <a class="link-external link-http" href="http://JumpProcesses.jl" rel="external noopener nofollow">this http URL</a> 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 <a class="link-external link-http" href="http://JumpProcesses.jl" rel="external noopener nofollow">this http URL</a> 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 <a class="link-external link-http" href="http://JumpProcesses.jl" rel="external noopener nofollow">this http URL</a> 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 <a class="link-external link-http" href="http://JumpProcesses.jl" rel="external noopener nofollow">this http URL</a> when simulating such processes, enabling it to become one of the few readily available, fast, general-purpose libraries for simulating evolutionary point processes.
Computation,Mathematical Software