Runge–Kutta method (SDE)

From HandWiki

In mathematics of stochastic systems, the Runge–Kutta method is a technique for the approximate numerical solution of a stochastic differential equation. It is a generalisation of the Runge–Kutta method for ordinary differential equations to stochastic differential equations (SDEs). Importantly, the method does not involve knowing derivatives of the coefficient functions in the SDEs.

Most basic scheme

Consider the Itō diffusion [math]\displaystyle{ X }[/math] satisfying the following Itō stochastic differential equation [math]\displaystyle{ dX_t = a(X_t) \, dt + b(X_t) \, dW_t, }[/math] with initial condition [math]\displaystyle{ X_0=x_0 }[/math], where [math]\displaystyle{ W_t }[/math] stands for the Wiener process, and suppose that we wish to solve this SDE on some interval of time [math]\displaystyle{ [0,T] }[/math]. Then the basic Runge–Kutta approximation to the true solution [math]\displaystyle{ X }[/math] is the Markov chain [math]\displaystyle{ Y }[/math] defined as follows:[1]

  • partition the interval [math]\displaystyle{ [0,T] }[/math] into [math]\displaystyle{ N }[/math] subintervals of width [math]\displaystyle{ \delta=T/N \gt 0 }[/math]: [math]\displaystyle{ 0 = \tau_{0} \lt \tau_{1} \lt \dots \lt \tau_{N} = T; }[/math]
  • set [math]\displaystyle{ Y_0 := x_0 }[/math];
  • recursively compute [math]\displaystyle{ Y_n }[/math] for [math]\displaystyle{ 1\leq n\leq N }[/math] by [math]\displaystyle{ Y_{n + 1} := Y_{n} + a(Y_{n}) \delta + b(Y_{n}) \Delta W_{n} + \frac{1}{2} \left( b(\hat{\Upsilon}_{n}) - b(Y_{n}) \right) \left( (\Delta W_{n})^{2} - \delta \right) \delta^{-1/2}, }[/math] where [math]\displaystyle{ \Delta W_{n} = W_{\tau_{n + 1}} - W_{\tau_{n}} }[/math] and [math]\displaystyle{ \hat{\Upsilon}_{n} = Y_{n} + a(Y_n) \delta + b(Y_{n}) \delta^{1/2}. }[/math]

The random variables [math]\displaystyle{ \Delta W_{n} }[/math] are independent and identically distributed normal random variables with expected value zero and variance [math]\displaystyle{ \delta }[/math].

This scheme has strong order 1, meaning that the approximation error of the actual solution at a fixed time scales with the time step [math]\displaystyle{ \delta }[/math]. It has also weak order 1, meaning that the error on the statistics of the solution scales with the time step [math]\displaystyle{ \delta }[/math]. See the references for complete and exact statements.

The functions [math]\displaystyle{ a }[/math] and [math]\displaystyle{ b }[/math] can be time-varying without any complication. The method can be generalized to the case of several coupled equations; the principle is the same but the equations become longer.

Variation of the Improved Euler is flexible

A newer Runge—Kutta scheme also of strong order 1 straightforwardly reduces to the improved Euler scheme for deterministic ODEs.[2] Consider the vector stochastic process [math]\displaystyle{ \vec X(t)\in \mathbb R^n }[/math] that satisfies the general Ito SDE [math]\displaystyle{ d\vec X=\vec a(t,\vec X)\,dt+\vec b(t,\vec X)\,dW, }[/math] where drift [math]\displaystyle{ \vec a }[/math] and volatility [math]\displaystyle{ \vec b }[/math] are sufficiently smooth functions of their arguments. Given time step [math]\displaystyle{ h }[/math], and given the value [math]\displaystyle{ \vec X(t_k) = \vec X_k }[/math], estimate [math]\displaystyle{ \vec X(t_{k+1}) }[/math] by [math]\displaystyle{ \vec X_{k+1} }[/math] for time [math]\displaystyle{ t_{k+1}=t_k+h }[/math] via [math]\displaystyle{ \begin{array}{l} \vec K_1=h\vec a(t_k,\vec X_k)+(\Delta W_k-S_k\sqrt h)\vec b(t_k,\vec X_k), \\ \vec K_2=h\vec a(t_{k+1},\vec X_k+\vec K_1)+(\Delta W_k+S_k\sqrt h)\vec b(t_{k+1},\vec X_k+\vec K_1), \\ \vec X_{k+1}=\vec X_k+\frac12(\vec K_1+\vec K_2), \end{array} }[/math]

  • where [math]\displaystyle{ \Delta W_k=\sqrt hZ_k }[/math] for normal random [math]\displaystyle{ Z_k\sim N(0,1) }[/math];
  • and where [math]\displaystyle{ S_k=\pm1 }[/math], each alternative chosen with probability [math]\displaystyle{ 1/2 }[/math].

The above describes only one time step. Repeat this time step [math]\displaystyle{ (t_m-t_0)/h }[/math] times in order to integrate the SDE from time [math]\displaystyle{ t=t_0 }[/math] to [math]\displaystyle{ t=t_m }[/math].

The scheme integrates Stratonovich SDEs to [math]\displaystyle{ O(h) }[/math] provided one sets [math]\displaystyle{ S_k=0 }[/math] throughout (instead of choosing [math]\displaystyle{ \pm 1 }[/math]).

Higher order Runge-Kutta schemes

Higher-order schemes also exist, but become increasingly complex. Rößler developed many schemes for Ito SDEs,[3][4] whereas Komori developed schemes for Stratonovich SDEs.[5][6][7] Rackauckas extended these schemes to allow for adaptive-time stepping via Rejection Sampling with Memory (RSwM), resulting in orders of magnitude efficiency increases in practical biological models,[8] along with coefficient optimization for improved stability.[9]

References

  1. P. E. Kloeden and E. Platen. Numerical solution of stochastic differential equations, volume 23 of Applications of Mathematics. Springer--Verlag, 1992.
  2. Roberts, A. J. (Oct 2012). Modify the Improved Euler scheme to integrate stochastic differential equations. 
  3. Rößler, A. (2009). "Second Order Runge–Kutta Methods for Itô Stochastic Differential Equations". SIAM Journal on Numerical Analysis 47 (3): 1713–1738. doi:10.1137/060673308. 
  4. Rößler, A. (2010). "Runge–Kutta Methods for the Strong Approximation of Solutions of Stochastic Differential Equations". SIAM Journal on Numerical Analysis 48 (3): 922–952. doi:10.1137/09076636X. 
  5. Komori, Y. (2007). "Multi-colored rooted tree analysis of the weak order conditions of a stochastic Runge–Kutta family". Applied Numerical Mathematics 57 (2): 147–165. doi:10.1016/j.apnum.2006.02.002. https://kyutech.repo.nii.ac.jp/?action=repository_action_common_download&item_id=1627&item_no=1&attribute_id=17&file_no=1. 
  6. Komori, Y. (2007). "Weak order stochastic Runge–Kutta methods for commutative stochastic differential equations". Journal of Computational and Applied Mathematics 203: 57–79. doi:10.1016/j.cam.2006.03.010. 
  7. Komori, Y. (2007). "Weak second-order stochastic Runge–Kutta methods for non-commutative stochastic differential equations". Journal of Computational and Applied Mathematics 206: 158–173. doi:10.1016/j.cam.2006.06.006. 
  8. Rackauckas, Christopher; Nie, Qing (2017). "Adaptive methods for stochastic differential equations via natural embeddings and rejection sampling with memory". Discrete and Continuous Dynamical Systems - Series B 22 (7): 2731–2761. doi:10.3934/dcdsb.2017133. PMID 29527134. 
  9. Rackauckas, Christopher; Nie, Qing (2018). "Stability-optimized high order methods and stiffness detection for pathwise stiff stochastic differential equations". arXiv:1804.04344 [math.NA].