【问题标题】:How to fix this "'xreg' and 'newxreg' have different numbers of columns" error?如何解决这个“'xreg' 和 'newxreg' 有不同的列数”错误?
【发布时间】:2019-08-05 18:17:53
【问题描述】:

这是我收到的以下错误消息:

Error in predict.Arima(object, n.ahead = h) : 
  'xreg' and 'newxreg' have different numbers of columns
In addition: Warning message:
In forecast.Arima(leMod, xreg = myX) :
  xreg not required by this model, ignoring the provided regressors

当我尝试运行以下代码时:

library(forecast)
myX <- 1:100
myY <- myX + rnorm(100)
leMod <- arima(x = myY, 
               xreg = myX, 
              order = c(1,0,0), 
                 method = "ML", 
                 include.mean = T)
forecast(leMod, xreg = myX)

我该如何解决?

我想将点预测和预测误差范围叠加在我拥有的历史时间序列之上。我意识到这是非常规的——通常人们想要对未来数据的预测——但这确实是我所追求的。此外,这个问题似乎已经在这个网站上一遍又一遍地被问到,但我仍然无法弄清楚。

【问题讨论】:

  • 这是forecast:: 包吗?请明确。 (顺便说一句:预测并不总是关于未来......它们是验证历史“真相”的模型的好方法。)
  • @r2evans 是的,是的。让我把那行加进去。是的,关于预测是正确的。

标签: r time-series forecasting arima


【解决方案1】:

这行得通。我隐约记得Arima 比arima 好一点,尤其是在涉及拦截和漂移等方面。

library(forecast)
myX <- matrix(1:100)
myY <- myX + rnorm(100)
myX <- cbind(1,myX)
leMod <- Arima(as.ts(myY), 
               xreg=myX, 
               order=c(1,0,0), 
               include.mean = F)
forecast(leMod, xreg = myX)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-11
    • 2019-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多