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.
翻译:点过程建模了在某个支撑集上可数个随机点的发生,可用于描述化学反应、股票市场交易和社会互动等多种现象。我们证明JumpProcesses.jl是一个快速、通用的点过程模拟库。JumpProcesses.jl最初为通过随机模拟算法(包括Doob方法、Gillespie方法和动力学蒙特卡洛方法)模拟跳跃过程而开发。历史上,跳跃过程在动力系统背景下发展,用于描述具有离散跳跃的动力学行为。相比之下,点过程的发展更侧重于描述随机事件的发生。本文弥合了点过程与跳跃过程模拟之间的处理差异。JumpProcesses.jl先前包含的算法可映射到统计学中用于模拟演化点过程的三种通用方法。我们的对比实验发现,该库最初缺乏模拟变强度率过程的高效算法。因此,我们为JumpProcesses.jl扩展了一种新模拟算法Coevolve,能够快速模拟具有局部有界变强度率的过程。现在可以高效模拟实线上任意具有非负、左连续、历史适应且局部有界强度率(无论是否与微分方程耦合)的点过程。该扩展显著提升了JumpProcesses.jl在模拟此类过程时的计算性能,使其成为少数几种现成的、快速通用的演化点过程模拟库之一。