1

我最近更新到 forecast() 版本 4.03,下面示例代码的最后一行(第 4 行)现在给出了错误消息(如底部所示)。请注意,第 4 行中的 forecast() 是第 3 行的 auto.arima() 的输出(它可以正常工作)。预测包中有什么变化吗?

此外,使用以下代码将第 3 行中的 zoo 术语替换为 ts 术语时,错误消息消失:

  autarimod <- auto.arima(log(as.ts(zooinpdat))) ##New line 3

那么,forecast(auto.arima()) 组合不再接受 zoo 对象了吗?如果是这种情况,有没有比 as.ts() 方法更好的方法来处理这个问题?

library(zoo)
library(forecast)

inpdat <- c(353.03, 383.06, 407.9, 420.58, 345.96, 299.73, 286.42, 291.03, 
  297.71, 300.92, 272.13, 283.58, 331.72, 372.95, 404.78, 403.04, 
  374.57, 332.94, 284.37, 311.78, 307.27, 302.42, 283.52, 288.64, 
  337.19, 416.35, 418.65, 431.51, 407.74, 319.28, 297.33, 314.83, 
  290.49, 309.38, 294.5, 330.63, 371.2, 418.76, 440.05, 467.23, 
  384.32, 329.81, 300.4, 318.9, 355.06, 329.93, 293.43, 297.76, 
  340.42, 393.09, 395.2, 443.13, 396.45, 341.96, 307.95, 322, 339.63, 
  312.12, 304.31, 310.95)

zooinpdat <- zooreg(inpdat, frequency=12, start=as.yearmon("May 1965"))

autarimod <- auto.arima(log(zooinpdat)) ##Line 3

for_arima <- forecast(autarimod, level=0.98, h=48) ##Line 4


Error in .cbind.ts(list(e1, e2), c(deparse(substitute(e1))[1L], deparse(substitute(e2))[1L]),  : 
not all series have the same frequency
4

1 回答 1

4

预测包适用于ts对象,而不是zoo对象。有些函数可以与zoo对象一起工作,但不能保证。特别是,当我对包进行更改时,我从不检查更改是否会zoo在使用对象时引起问题。

您可以使用修复错误

zooinpdat <- as.ts(zooinpdat)
于 2013-04-17T05:15:48.647 回答