我已经对我的ARIMA(1,1,1)模型进行了10天的预测,我还发现可以使用预测包来模拟未来的路径。
因此,我使用以下代码来模拟未来10天的路径。
yseries <- Arima(y,order=c(1,1,1))
simyseries <- simulate(yseries,nsim=10)
有没有办法用simulate()
函数模拟10 000条未来路径?
我的最终目标是将我的点预测与模拟路径一起绘制。
如果预测包不可用,是否有其他包可以让我这样做?
答案 0 :(得分:0)
replicate()
函数对于重复 n 次命令非常有用(您需要 n = 10000)。它可以方便地存储输出。
yseriesSims<-replicate(10000,simulate(yseries,nsim=10))
在这种情况下,结果是10 X 10000的模拟矩阵(即列包含单独的模拟)。
答案 1 :(得分:0)
使用replicate()
,然后使用matplot()
进行多次绘图。
y <- ts(arima.sim(model=list(order = c(1,1,1), ar=.8,ma=.7), 100)) # Simulate data
yseries <- Arima(y,order=c(1,1,1))
simyseries <- ts(replicate(10, simulate(yseries, nsim=10)),start=end(y)+1) # Change the first parameter of replicate() to change the number os simulated paths
matplot(cbind(y,simyseries), type='l')