我不太明白如何的语法forecast()
应用外部回归量library(forecast)
in R
.
我的身材是这样的:
fit <- auto.arima(Y,xreg=factors)
where Y
is a timeSeries
对象 100 x 1 和因子是 atimeSeries
对象 100 x 5。
当我去预测时,我申请...
forecast(fit, h=horizon)
我收到一个错误:
Error in forecast.Arima(fit, h = horizon) : No regressors provided
它是否希望我从拟合中添加回 xregressors?我以为这些都包含在fit
对象为fit$xreg
。这是否意味着它要求 xregressors 的未来值,或者我应该重复在拟合集中使用的相同值?该文档未涵盖以下含义xreg
在预测步骤中。
我相信这一切意味着我应该使用
forecast(fit, h=horizon,xreg=factors)
or
forecast(fit, h=horizon,xreg=fit$xreg)
这给出了相同的结果。但我不确定预测步骤是将这些因素解释为未来值,还是适当地解释为以前的值。所以,
- 正如我所期望的那样,这是否纯粹根据过去的值进行预测?
- 为什么我必须指定 xreg 值两次?如果我排除它们,它就不会运行,因此它的行为不像一个选项。
如果我错了,请纠正我,但我认为您可能不完全理解带有回归器的 ARIMA 模型是如何工作的。
当您使用简单的 ARIMA 模型(没有回归器)进行预测时,它只是使用时间序列的过去值来预测未来值。在这样的模型中,您可以简单地指定您的范围,它会给您一个直到该范围的预测。
当您使用回归器构建 ARIMA 模型时,您需要包括回归量的未来值预测。例如,如果您使用温度作为回归量,并且您正在预测疾病的发病率,那么您将需要未来的温度值来预测疾病的发病率。
事实上,文档does谈论xreg
具体来说。抬头?forecast.Arima
看看两个论点h
and xreg
。你会看到如果xreg
被使用,那么h
被忽略。为什么?因为如果你的函数使用xreg
,那么它needs他们进行预测。
所以,在你的代码中,h
当你包含时被简单地忽略xreg
。由于您只是使用了用于拟合模型的值,因此它只是为您提供了同一组回归量的所有预测仿佛他们在未来.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)