0

我为我的 ARIMA(1,1,1) 模型做了一个 10 天的点预测,我还发现可以使用预测包模拟未来的路径。

因此,我使用以下代码来模拟 10 天的未来路径。

yseries <- Arima(y,order=c(1,1,1))
simyseries <- simulate(yseries,nsim=10)

有没有办法用这个simulate()函数模拟 10 000 条未来的路径?

我的最终目标是将我的点预测与模拟路径一起绘制。

如果无法使用预测包,是否有其他包可以让我这样做?

4

2 回答 2

0

replicate()函数对于重复命令n次很有用(您需要n = 10000)。它方便地存储输出。

yseriesSims<-replicate(10000,simulate(yseries,nsim=10))

在这种情况下,结果是一个 10 X 10000 的模拟矩阵(即,列包含单个模拟)。

于 2013-03-20T11:53:47.653 回答
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')
于 2013-03-20T11:55:14.910 回答