我想为噪声是加法的随机方程实现 Milshtein 算法。等式具有下一个形式。
dx(t)/dt= q(x(t)) + noise(t)
噪声是均值零且方差为 5 的高斯变量。 我在书中找到的这个表达式的milsthein算法的表达式如下
x(t)=x(t) + h q(x(t)) + sqrt(h) u
其中"h"是算法的步长,"sqrt"表示"平方根","u"是均值 0 和方差 1 的高斯随机变量。
但是,如果我想有一个方差 5 的噪声,我应该只让"u"成为方差 5 的高斯变量还是应该改变其他东西?
你是对的。给定修正后的随机微分方程,
dx(t)/dt = q(x(t)) + √5 noise(t),
我们可以仅使用微分线性和方差-1 噪声公式推导出正确的公式。让p(z) = q(√5 z)/√5
和y(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
的更新公式由米尔斯坦给出:
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)