噪声方差不为 1 时的 Milstein 算法

Milstein algorithm when variance of the noise is different from 1

我想为噪声是加性的随机方程实现 Milshtein 算法。该等式具有下一种形式。

dx(t)/dt= q(x(t)) + noise(t)

噪声是零均值方差5的高斯变量。 这个表达式我在书上找到的milsthein算法的表达式如下

x(t)=x(t) + h q(x(t)) + sqrt(h) u

其中"h"是算法的步长,"sqrt"表示"square root","u"是均值为0方差为1的高斯随机变量。

但是,如果我想要方差为 5 的噪声,我应该只 "u" 方差为 5 的高斯变量还是应该更改其他内容?

你是对的。鉴于您修改后的随机微分方程,

dx(t)/dt = q(x(t)) + √5 noise(t),

我们可以仅使用微分的线性度和方差为 1 噪声的公式来推导出正确的公式。让 p(z) = q(√5 z)/√5y(t) = x(t)/√5.

dx(t)/dt = q(x(t)) + √5 noise(t)
         = √5 [q(√5 x(t)/√5)/√5 + noise(t)]
         = √5 [p(x(t)/√5) + noise(t)]        change q -> p where z = x(t)/√5
(dx(t)/dt)/√5 = p(x(t)/√5) + noise(t)
d(x(t)/√5)/dt = p(x(t)/√5) + noise(t)        linearity of differentiation
dy(t)/dt = p(y(t)) + noise(t)                change x -> y

y 的更新公式由 Milstein 给出:

y(t) -> y(t) + h p(y(t)) + √h u.

我们可以推导出x的更新公式。

x(t)/√5 -> x(t)/√5 + h p(x(t)/√5) + √h u
x(t) -> x(t) + √5 h q(x(t))/√5 + √5 √h u
     -> x(t) + h q(x(t)) + √h (√5 u)