【问题标题】:Arima.sim issues in RR中的Arima.sim问题
【发布时间】:2015-07-08 01:29:40
【问题描述】:

我正在使用时间序列模型在 R 中进行预测。 我使用 auto.arima 函数为我的数据集(它是一个 ts 对象)查找模型。 fit<-auto.arima(data) 然后我可以使用预测函数绘制以下 20 个日期的预测结果:

plot(forecast(fit,h=20))

但是我想添加外部变量,但我无法使用预测来完成,因为它对我来说是一个黑盒子,因为我是 R 新手。 所以我试图通过使用 arima.sim 函数来模仿它,但出现了一个问题: 如何初始化这个功能? 我通过设置model=as.list(coef(fit)) 得到了模型,但其他参数对我来说仍然是模糊的。 我浏览了数百页,包括在 stackoverflow 中,但似乎没有人真正知道发生了什么。 它是如何计算的?就像为什么 n.start (老化期)必须具有 ma+ar 长度而不仅仅是 max(ar,ma) 长度? start.innov 到底是什么? 我以为我理解只有 AR 部分但我无法使用 AR+MA 过滤器重现结果。 我对 AR 的理解是 start.innov 代表过滤后的零信号和真实信号之间的误差,是真的吗? 就像如果你想要一个具有初始条件 (a1,a2) 的 2 阶 ar,你需要设置

start.innov[1]=a1-ar1*0-ar2*0=a1 

start.innov[2]=a2-ar1*start.innov[1]

和 innov 到 rep(0,20) 但面对 arima 函数时该怎么办,如何设置 innov 以获得与预测完全相同的限制? 谢谢你的帮助!!!

【问题讨论】:

  • 格式化您的问题,以便阅读?
  • 对不起,这实际上是我在 Stack 上的第一篇文章,所以初学者错误!
  • 请帮我解决我的问题:[我需要帮助,我需要在 R 中模拟 arima][1] [1]:stackoverflow.com/questions/32918632/…

标签: r math statistics time-series forecasting


【解决方案1】:

您似乎对建模和仿真感到困惑。你对auto.arima()也有误。

auto.arima() 确实通过xreg 参数允许外生变量。阅读帮助文件。您可以使用forecast.Arima() 包含未来期间的外生变量。再次阅读帮助文件。

完全不清楚你为什么在这里提到arima.sim()。它用于模拟 ARIMA 过程,而不是用于建模或预测。

【讨论】:

  • 感谢您的快速回答,我不知道如何在 forecast.arima 中包含外部变量,所以我尝试使用 arima.sim 手动完成,这很好,因为它可以为您提供更好地理解所做的事情。我对建模和模拟并不感到困惑,我对使用现有模型进行预测的方式感到困惑(预测的工作原理)。
  • 我的理解是,一旦您有了信号模型(例如使用 auto.arima),您就可以使用信号的最后一个值和最后一个错误,并使用您的 arima 过滤器对其进行过滤以获得下一个值,然后再次。如果你能帮我用 arima.sim 做这件事,或者向我解释你是如何用预测做的,我会很高兴。但是你的 arima 函数似乎工作得很好,谢谢你在 R 中的工作!
  • 请告诉我我的理解是否完全错误!同时,我将使用 Forecast.Arima,但我也想使用 arima.sim。
  • 我真的是 RI 的初学者,我猜说预测没有输入参数是不正确的,我为此道歉(我刚刚发现你可以添加其他参数)但事实是每个复杂的函数对于像我这样的初学者来说,R 有点像黑匣子!
  • 好的,我现在让我的问题更精确:在预测函数中,您是否使用与使用 auto.arima 获得的模型相同的模型,然后使用类似 arima.sim 的函数模拟下一个点?它更复杂,例如卡尔曼滤波等。如果答案仅使用 arima.sim 之类的,我非常想了解您将如何做到这一点
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-14
  • 2017-05-08
  • 2015-01-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多