【问题标题】:auto.arima number of regressors does not match the fitted model回归量的 auto.arima 数量与拟合模型不匹配
【发布时间】:2017-07-03 15:24:30
【问题描述】:

我在这里使用我自己的数据集关注 Rob Hyndman 的每日预测示例,我收到以下错误消息:

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

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

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))

提前感谢您的帮助!

【问题讨论】:

  • 请使用 dput() 附加您的数据。
  • @ShahabEinabadi 我的文件有近 1,000 行和 4 列。包括在这里不是很多吗?我应该只包含一部分还是其他内容?
  • 我在使用 auto.arima 时遇到了类似的不说同样的错误,这解决了这个问题(对你来说肯定迟到了,但也许其他人觉得它有帮助)stackoverflow.com/questions/61193768/…

标签: r forecasting


【解决方案1】:

我遇到了同样的问题,但幸运的是,我还是 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)`

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-07
    • 2017-09-14
    • 2016-09-03
    • 2021-05-26
    • 2022-07-08
    • 2015-05-15
    • 1970-01-01
    • 2018-03-17
    相关资源
    最近更新 更多