Despite the success of adaptive time-stepping in ODE simulation, it has so far seen few applications for Stochastic Differential Equations (SDEs). To simulate SDEs adaptively, methods such as the Virtual Brownian Tree (VBT) have been developed, which can generate Brownian motion (BM) non-chronologically. However, in most applications, knowing only the values of Brownian motion is not enough to achieve a high order of convergence; for that, we must compute time-integrals of BM such as $\int_s^t W_r \, dr$. With the aim of using high order SDE solvers adaptively, we extend the VBT to generate these integrals of BM in addition to the Brownian increments. A JAX-based implementation of our construction is included in the popular Diffrax library (https://github.com/patrick-kidger/diffrax). Since the entire Brownian path produced by VBT is uniquely determined by a single PRNG seed, previously generated samples need not be stored, which results in a constant memory footprint and enables experiment repeatability and strong error estimation. Based on binary search, the VBT's time complexity is logarithmic in the tolerance parameter $\varepsilon$. Unlike the original VBT algorithm, which was only precise at some dyadic times, we prove that our construction exactly matches the joint distribution of the Brownian motion and its time integrals at any query times, provided they are at least $\varepsilon$ apart. We present two applications of adaptive high order solvers enabled by our new VBT. Using adaptive solvers to simulate a high-volatility CIR model, we achieve more than twice the convergence order of constant stepping. We apply an adaptive third order underdamped or kinetic Langevin solver to an MCMC problem, where our approach outperforms the No U-Turn Sampler, while using only a tenth of its function evaluations.
翻译:尽管自适应时间步长在常微分方程模拟中取得了成功,但迄今为止,它在随机微分方程中的应用仍然有限。为了实现随机微分方程的自适应模拟,人们开发了诸如虚拟布朗树等方法,这些方法能够非时序地生成布朗运动。然而,在大多数应用中,仅知道布朗运动的值不足以实现高阶收敛;为此,我们必须计算布朗运动的时间积分,例如$\int_s^t W_r \, dr$。为了自适应地使用高阶随机微分方程求解器,我们将虚拟布朗树扩展为除了生成布朗增量外,还能生成这些布朗运动的积分。我们基于JAX的实现已包含在流行的Diffrax库中(https://github.com/patrick-kidger/diffrax)。由于虚拟布朗树生成的整个布朗路径由单个伪随机数生成器种子唯一确定,因此无需存储先前生成的样本,这带来了恒定的内存占用,并确保了实验的可重复性和强误差估计。基于二分查找,虚拟布朗树的时间复杂度在容差参数$\varepsilon$上是对数级的。与原始虚拟布朗树算法仅在部分二分时间点上精确不同,我们证明了只要查询时间点之间至少相距$\varepsilon$,我们的构造就能在任何查询时间点上精确匹配布朗运动及其时间积分的联合分布。我们展示了由新虚拟布朗树实现的自适应高阶求解器的两个应用案例。通过使用自适应求解器模拟高波动率的CIR模型,我们实现了比恒定步长方法高出一倍以上的收敛阶数。我们将自适应三阶欠阻尼或动能朗之万求解器应用于马尔可夫链蒙特卡洛问题,该方法在仅使用十分之一函数评估量的情况下,性能超越了No U-Turn采样器。