R

R,r,stochastic,stochastic-process,R,Stochastic,Stochastic Process,如何模拟高斯过程X(t),t=1,200,具有均值函数m(t)=0和 协方差函数r(h)=Cov(t,t+h)=exp(-h)。我知道这个过程有时被称为 Ornstein-Uhlenbeck过程,但如何绘制模拟过程 期待您的光临使用以下功能: ornstein_-uhlenbeck根据定义,ornstein–uhlenbeck过程由以下随机微分方程定义: 其中是维纳过程,它的一个特性是它具有高斯增量,即 上述方程可按以下方式离散: 哪里 由于维纳过程的高斯增量性质,我们得到了。这意味着可以使用s

如何模拟高斯过程
X(t),t=1,200
,具有均值函数
m(t)=0
和 协方差函数
r(h)=Cov(t,t+h)=exp(-h)
。我知道这个过程有时被称为 Ornstein-Uhlenbeck过程,但如何绘制模拟过程


期待您的光临

使用以下功能:

ornstein_-uhlenbeck根据定义,ornstein–uhlenbeck过程由以下随机微分方程定义:
其中是维纳过程,它的一个特性是它具有高斯增量,即

上述方程可按以下方式离散: 哪里 由于维纳过程的高斯增量性质,我们得到了。这意味着可以使用
sqrt(dt)*rnorm(1)

我用R编码了下面的函数,它取时间向量、过程的平均值、标准偏差和θ值


模拟到目前为止您尝试了什么?我相信维基百科页面上显示的连续时间方程的离散化应该会有帮助:
X(t+1)=h*X(t)+rnorm(1)
可能会起作用。你知道具有这种协方差结构的过程的公式吗?是的,它的:r(h)=exp(| h |)具有这种协方差结构的过程的公式是r(h)=exp(| h |)@Ricardo Semião e Castroth非常感谢大家@测试员,这里有一个稍微不同的方法,我必须在这里管理,因为如何从基本的构建块来做它,比如通过计算X=(X1,X2…X200)的平均值和共方差矩阵,然后使用函数“rmnorm”从多元正态分布中绘制一个随机向量?非常感谢@Abdessabour Mtk,这里有一个稍微不同的方法,我必须在这里管理,因为如何从基本的构建块开始,比如通过计算X=(X1,X2…X200)的均值和协方差矩阵,然后使用函数“rmnorm”从多元正态分布中绘制随机向量?那怎么办?你有什么程序吗?@Ticktock看看这个可能会很有趣。我认为你需要运行多个模拟来计算均值和协方差矩阵,如果你使用使用
rowMeans(sims)标记的答案,
将给出均值和
cov(t(sims))
将为您提供协方差矩阵@Abdessbour Mtk我仍然无法从基本构建块中生成结果,请您帮助计算X=(X1,X2…X200)的平均值和协方差矩阵,然后使用函数“rmnorm”从多元正态分布中绘制随机向量?此外,共面函数是
r(h)=exp(-h)
。非常感谢,先生!
ornstein_uhlenbeck <- function(T,n,nu,lambda,sigma,x0){
  dw  <- rnorm(n, 0, sqrt(T/n))
  dt  <- T/n
  x <- c(x0)
  for (i in 2:(n+1)) {
    x[i]  <-  x[i-1] + lambda*(nu-x[i-1])*dt + sigma*dw[i-1]
  }
  return(x);
}

test <- ornstein_uhlenbeck(200, 200, 0, 0.8, 1, 0)
plot(x = seq_along(test), y = test, type = 'l')