我正在使用套餐预测进行季节性时间序列模拟,我有两个问题:
1)我没有完全明白“未来”选项的含义和效用。它默认设置为TRUE,我认为如果我想预测系列的未来值,应该是这样,但是我不明白未来的模拟使用了什么= FALSE。
2)simulate.Arima函数基本上是对传统arima.sim的改进。但是使用arima.sim,可以使用innov参数为函数提供一些用户定义的创新过程,而使用simulate.Arima是不可能的。我错过了什么 ?如果没有,如果Hyndman先生读过这篇文章,是否可以在将来的版本中添加这样的选项?目前,我想我会得到源代码并尝试自己修改代码。
谢谢你,祝你有个愉快的一天。
答案 0 :(得分:5)
根据帮助文件,future
表示“生成样本路径
这是对象中的数据的未来和条件。“。如果
future=TRUE
,模拟观察的条件是
历史观察。换句话说,它们是未来的可能
时间序列的样本路径。但如果是future=FALSE
,那么
历史数据被忽略,模拟是可能的
时间序列模型的实现没有连接到
原始数据。
我将添加允许用户指定的创新的建议
功能请求列表
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))
更有趣的是获得两者之间的区别:
plot(simulate(fit,future=FALSE)-c(USAccDeaths))