auto.arima回归量的数量与拟合模型不匹配

时间:2017-07-03 15:24:30

标签: r forecasting

我正在使用我自己的一组数据跟踪Rob Hyndman的每日预测示例,并收到以下错误消息:

  

forecast.Arima(fit,xreg = cbind(zf,data $ holidays [157:256],   h = 100)):回归量的数量与拟合模型不匹配

我谷歌了解错误消息,并寻找可能的解决方案,但没有一个建议的修复程序适合我。以下是我正在使用的代码。我正在使用索引,因此我可以使用一些数据来训练模型,看看预测是否给实际结果带来了合理的结果。

library(forecast)

data <- read.csv("path", header = TRUE, stringsAsFactors = FALSE)

y <- ts(data$numbers[57:156], frequency=7)
z <- fourier(ts(data$numbers[57:156], frequency = 365.25), K=5)
zf <- fourier(ts(data$numbers[57:156], frequency = 365.25), K=5, h=100)
fit <- auto.arima(y, xreg = cbind(z, data$holidays[57:156]), seasonal=FALSE)
fc <- forecast(fit, xreg = cbind(zf, data$future_holidays[157:256], h=100))

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,但幸运的是,我也是Datacamp的订阅者,Hyndman教授教授时间序列建模。在他的博客文章中,他使用时间范围参数两次,因为他也加入了外部回归量,你不是。 Horizo​​n术语已在傅立叶步骤中指定,无需在预测命令中重复。以下是Hyndman教授班级的一个例子。这个例子来自练习。由于您只创建了傅里叶项,因此已经指定了H.如果您决定包含其他变量,如假日标志,他的博客文章代码将起作用。仅供参考,Datacamp是一个令人难以置信的资源,我建议订阅。

设置阶数为13的谐波回归量

`harmonics <- fourier(gasoline, K = 13)`

使用ARIMA错误拟合回归模型

`fit <- auto.arima(gasoline, xreg = harmonics, seasonal = FALSE)`

预测未来3年

`newharmonics <- fourier(gasoline, K = 13, h = 156)
fc <- forecast(fit, xreg = newharmonics)`

绘图预测fc

`autoplot(fc)`