简体   繁体   English

噪声方差不同于1的Milstein算法

[英]Milstein algorithm when variance of the noise is different from 1

I want to implement the Milshtein algorithm for an stochastic equation in which the noise is additive. 我想针对一个随机方程(其中的噪声是可加的)实现Milshtein算法。 The equation has the next form. 该方程式具有下一种形式。

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

The noise is a gaussian variable of zero mean and variance 5. The expression of the milsthein algorithm I found in books for this expression reads as follows 噪声是均值为零且方差为5的高斯变量。我在书中为该表达式找到的milsthein算法的表达式如下:

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

where "h" is the step of the algorithm, "sqrt" means "square root" and "u" is a gaussian random variable of mean 0 and variance 1. 其中“ h”是算法的步骤,“ sqrt”表示“平方根”,“ u”是均值0和方差1的高斯随机变量。

However, if I want to have a noise of variance 5, should I just make "u" a gaussian variable of variance 5 or something else should be changed? 但是,如果我想使用方差5的噪声,是否应该使“ u”成为方差5的高斯变量,还是应该进行其他更改?

You're correct. 没错 Given your revised stochastic differential equation, 根据您修改后的随机微分方程,

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

we can derive the correct formula using only the linearity of differentiation and formula for variance-1 noise. 我们可以仅使用微分线性和方差1噪声的公式得出正确的公式。 Let p(z) = q(√5 z)/√5 and y(t) = x(t)/√5 . 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

The update formula for y is given by Milstein: y的更新公式由Milstein给出:

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

We can derive the update formula for x . 我们可以推导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)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM