[英]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)
这给出了相同的结果。 但我不确定预测步骤是将这些因素解释为未来值,还是适当地解释为以前的值。 所以,
如果我错了,请纠正我,但我想你可能不完全理解带有回归器的ARIMA模型是如何工作的。
当您使用简单的ARIMA模型(没有回归量)进行预测时,它只使用您时间序列的过去值来预测未来值。 在这样的模型中,您可以简单地指定您的地平线,它会为您提供预测,直到该范围。
使用回归量来构建ARIMA模型时,需要包含要预测的回归量的未来值 。 例如,如果您使用温度作为回归量,并且您预测疾病发病率,那么您将需要未来的温度值来预测疾病发病率。
事实上,文档确实特别谈到了xreg
。 查看?forecast.Arima
并查看参数h
和xreg
。 您将看到如果使用xreg
,则忽略h
。 为什么? 因为如果你的函数使用xreg
,那么它需要它们进行预测。
因此,在您的代码中,当您包含xreg
时, h
被忽略了。 由于您刚刚使用了用于拟合模型的值,因此它只是为您提供了同一组回归量的所有预测, 就像将来一样 。
我读到 R 中的 arima 很无聊,请参阅第 3 期和第 4 期
https://www.stat.pitt.edu/stoffer/tsa4/Rissues.htm
建议使用 xreg 导出正确的截距。
我正在使用excel的真实统计数据来确定实际常数是多少。 我有一位教授告诉我你需要有一个常数
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.