我为我的 ARIMA(1,1,1) 模型做了一个 10 天的点预测,我还发现可以使用预测包模拟未来的路径。
因此,我使用以下代码来模拟 10 天的未来路径。
yseries <- Arima(y,order=c(1,1,1))
simyseries <- simulate(yseries,nsim=10)
有没有办法用这个simulate()
函数模拟 10 000 条未来的路径?
我的最终目标是将我的点预测与模拟路径一起绘制。
如果无法使用预测包,是否有其他包可以让我这样做?
我为我的 ARIMA(1,1,1) 模型做了一个 10 天的点预测,我还发现可以使用预测包模拟未来的路径。
因此,我使用以下代码来模拟 10 天的未来路径。
yseries <- Arima(y,order=c(1,1,1))
simyseries <- simulate(yseries,nsim=10)
有没有办法用这个simulate()
函数模拟 10 000 条未来的路径?
我的最终目标是将我的点预测与模拟路径一起绘制。
如果无法使用预测包,是否有其他包可以让我这样做?
该replicate()
函数对于重复命令n次很有用(您需要n = 10000)。它方便地存储输出。
yseriesSims<-replicate(10000,simulate(yseries,nsim=10))
在这种情况下,结果是一个 10 X 10000 的模拟矩阵(即,列包含单个模拟)。
使用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')