我必须对 AR(1) 时间序列采用蒙特卡罗方法。我必须生成 10,000 个长度为 100 的时间序列,然后我必须为每个时间序列获取第一步自相关 rho_1。我的问题是我只获得了自相关的 NA 值,并且计算需要很长时间。我对计算 AR(1) 时间序列没有任何问题。谢谢您的帮助 :)
gen_ar <- function(a,b,length,start)
{
z<-rep(0,length)
e<-rnorm(n=length,sd=1)
z[1]<-start
for (i in 2:length)
{
z[i]<-a+b*z[i-1]+e[i]
}
z
}
mc <- matrix(c(rep(0,10000000)),nrow=10000)
for (i in 1:10000)
{
mc[i,] <- gen_ar(0.99,1,100,0)
}
ac <- matrix(c(rep(0,10000)),nrow=1)
for (i in 1:10000){
for (j in 1:99){
ac[i] <- cor(mc[i,j],mc[i,j+1])
}
}