我正在模拟一维对称的随机游走过程:
y[t] = y[t-1] + epsilon[t]
Run Code Online (Sandbox Code Playgroud)
其中白噪声用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)
Run Code Online (Sandbox Code Playgroud)
我想模拟1000个不同的y[i,t]系列(i=1,...,1000; t=1,...,1000).(在那之后,我将检查返回原点(y[1]=0)的概率t=3,t=5和t=10.)
哪个函数可以让我用y[t]随机游走时间序列进行这种重复?
我生成随机数,并轻松计算其均值.但问题是,我怎样才能看到我生成的数字?我想将这些数字保存到矢量中.我怎样才能做到这一点?
这是我的代码:
import random
print ("#n\tmean")
for n in (1,10,100):
sum = 0
mean = 0
for i in range(n):
sum += random.random()
mean = sum / n
print ("%d\t%g\t" % (n, mean))
Run Code Online (Sandbox Code Playgroud)
先感谢您!