繁体   English   中英

从 Auto.arima 到 R 中的预测

[英]From Auto.arima to forecast in R

我不太明白 predict forecast()如何在R中的library(forecast)中应用外部回归量的语法。

我的身材是这样的:

fit <- auto.arima(Y,xreg=factors)

其中Y是一个 100 x 1 的时间timeSeries对象,因子是一个 100 x 5 的时间timeSeries对象。

当我去预测时,我申请...

forecast(fit, h=horizon)

我收到一个错误:

Error in forecast.Arima(fit, h = horizon) : No regressors provided

它是否希望我从拟合中重新添加 xregressors? 我认为这些作为fit$xreg包含在fit对象中。 这是否意味着它要求 xregressors 的未来值,或者我应该重复我在拟合集中使用的相同值? 该文档未涵盖预测步骤中xreg的含义。

我相信这一切意味着我应该使用

forecast(fit, h=horizon,xreg=factors)

或者

forecast(fit, h=horizon,xreg=fit$xreg)

这给出了相同的结果。 但我不确定预测步骤是将这些因素解释为未来值,还是适当地解释为以前的值。 所以,

  1. 正如我所期望的那样,这是根据纯粹的过去值进行预测吗?
  2. 为什么我必须两次指定 xreg 值? 如果我排除它们,它就不会运行,所以它的行为不像一个选项。

如果我错了,请纠正我,但我想你可能不完全理解带有回归器的ARIMA模型是如何工作的。

当您使用简单的ARIMA模型(没有回归量)进行预测时,它只使用您时间序列的过去值来预测未来值。 在这样的模型中,您可以简单地指定您的地平线,它会为您提供预测,直到该范围。

使用回归量来构建ARIMA模型时,需要包含要预测的回归量的未来值 例如,如果您使用温度作为回归量,并且您预测疾病发病率,那么您将需要未来的温度值来预测疾病发病率。

事实上,文档确实特别谈到了xreg 查看?forecast.Arima并查看参数hxreg 您将看到如果使用xreg ,则忽略h 为什么? 因为如果你的函数使用xreg ,那么它需要它们进行预测。

因此,在您的代码中,当您包含xreg时, h被忽略了。 由于您刚刚使用了用于拟合模型的值,因此它只是为您提供了同一组回归量的所有预测, 就像将来一样

相关https://stats.stackexchange.com/questions/110589/arima-with-xreg-rebuilding-the-fitted-values-by-hand

我读到 R 中的 arima 很无聊,请参阅第 3 期和第 4 期

https://www.stat.pitt.edu/stoffer/tsa4/Rissues.htm

建议使用 xreg 导出正确的截距。

我正在使用excel的真实统计数据来确定实际常数是多少。 我有一位教授告诉我你需要有一个常数

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM