来自预测包的simulate.Arima函数

时间:2013-01-07 12:17:31

标签: r time-series forecasting

我正在使用套餐预测进行季节性时间序列模拟,我有两个问题:

1)我没有完全明白“未来”选项的含义和效用。它默认设置为TRUE,我认为如果我想预测系列的未来值,应该是这样,但是我不明白未来的模拟使用了什么= FALSE。

2)simulate.Arima函数基本上是对传统arima.sim的改进。但是使用arima.sim,可以使用innov参数为函数提供一些用户定义的创新过程,而使用simulate.Arima是不可能的。我错过了什么 ?如果没有,如果Hyndman先生读过这篇文章,是否可以在将来的版本中添加这样的选项?目前,我想我会得到源代码并尝试自己修改代码。

谢谢你,祝你有个愉快的一天。

2 个答案:

答案 0 :(得分:5)

  1. 根据帮助文件,future表示“生成样本路径 这是对象中的数据的未来和条件。“。如果 future=TRUE,模拟观察的条件是 历史观察。换句话说,它们是未来的可能 时间序列的样本路径。但如果是future=FALSE,那么 历史数据被忽略,模拟是可能的 时间序列模型的实现没有连接到 原始数据。

  2. 我将添加允许用户指定的创新的建议 功能请求列表 https://github.com/robjhyndman/forecast/issues?state=open。与此同时,这是一个非常容易的修改。只需找到rnorm的来电并替换它。

答案 1 :(得分:2)

如果要检查模型与数据的匹配程度,将future选项设置为FALSE很有用。例如,在下图中,模型拟合处于读取状态,而实际数据处于黑色状态。

library(forecast)
fit <- Arima(USAccDeaths)
plot(simulate(fit,future=FALSE),col='red')
lines(c(USAccDeaths))

enter image description here

更有趣的是获得两者之间的区别:

plot(simulate(fit,future=FALSE)-c(USAccDeaths))

enter image description here