gpt4 book ai didi

r - 如何在 R 中重复此随机游走模拟 1000 次?

转载 作者:行者123 更新时间:2023-12-03 14:54:37 24 4
gpt4 key购买 nike

我正在模拟一维对称随机游走过程:

y[t] = y[t-1] + epsilon[t]

其中白噪声由 epsilon[t] ~ N(0,1) 表示时间段内 t .在这个过程中没有漂移。

此外,RW 是对称的,因为 Pr(y[i] = +1) = Pr(y[i] = -1) = 0.5 .

这是我在 R 中的代码:
set.seed(1)
t=1000
epsilon=sample(c(-1,1), t, replace = 1)

y<-c()
y[1]<-0
for (i in 2:t) {
y[i]<-y[i-1]+epsilon[i]
}
par(mfrow=c(1,2))
plot(1:t, y, type="l", main="Random walk")
outcomes <- sapply(1:1000, function(i) cumsum(y[i]))
hist(outcomes)

我想模拟 1000 种不同的 y[i,t]系列 ( i=1,...,1000; t=1,...,1000 )。 (之后,我将在 y[1]=0t=3t=5 处检查返回原点( t=10 )的概率。)

哪个函数可以让我用 y[t] 做这种重复随机游走时间序列?

最佳答案

y[t] = y[0] + sum epsilon[i] ,其中sum取自 i=1i=t , 序列 y[t]可以一次计算,例如使用 R cumsum功能。重复序列 T=10³ 次很简单:

N=T=1e3
y=t(apply(matrix(sample(c(-1,1),N*T,rep=TRUE),ncol=T),1,cumsum))

因为每一行 y然后是一个模拟的随机游走系列。

关于r - 如何在 R 中重复此随机游走模拟 1000 次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35537779/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com