2

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

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

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

感谢,并有一个愉快的一天。

4

2 回答 2

5
  1. 根据帮助文件,future意思是“生成未来并以对象中的数据为条件的示例路径。”。因此,如果 future=TRUE,则模拟观察以历史观察为条件。换句话说,它们是时间序列未来可能的样本路径。但如果future=FALSE,则忽略历史数据,模拟是与原始数据无关的时间序列模型的可能实现。

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

于 2013-01-07T23:25:10.227 回答
4

当您想要检查模型与数据的拟合度时,将future选项设置为很有用。FALSE例如,在下图中,模型拟合为红色,而实际数据为黑色。

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

在此处输入图像描述

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

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

在此处输入图像描述

于 2013-01-07T15:28:00.680 回答