【问题标题】:simulate.Arima function from the forecast package [closed]预测包中的模拟.Arima 函数[关闭]
【发布时间】:2013-01-07 12:17:31
【问题描述】:

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

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

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

谢谢,祝你有美好的一天。

【问题讨论】:

  • @RobHyndman 经常阅读 CrossValidated,而 StackExchange 显然更少。如果您在这里没有得到答复,您可以访问他的网站robjhyndman.com 并向他发送一封快速电子邮件。

标签: r time-series forecasting


【解决方案1】:
  1. 根据帮助文件,future 表示“生成示例路径 这是对象中的数据的未来和条件。”。所以如果 future=TRUE,模拟观察的条件是 历史观察。换句话说,它们是可能的未来 时间序列的样本路径。但是如果future=FALSE, 历史数据被忽略,模拟是可能的 与时间序列模型无关的实现 原始数据。

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

【讨论】:

  • 非常感谢您的回答!
【解决方案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))

【讨论】:

  • 我不确定同一模型的两个实现之间的差异是否能告诉您任何有用的信息。
猜你喜欢
  • 1970-01-01
  • 2017-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-04
  • 1970-01-01
  • 1970-01-01
  • 2011-02-10
相关资源
最近更新 更多