我最近更新到forecast()版本4.03,下面示例代码的最后一行(第4行)现在给出了一条错误消息(如底部所示)。请注意,第4行中的forecast()从第3行输入auto.arima()(它没有任何错误)。预测包中有什么变化吗?
此外,当使用以下代码将第3行中的zoo术语替换为ts术语时,错误消息将消失:
autarimod <- auto.arima(log(as.ts(zooinpdat))) ##New line 3
那么,预测(auto.arima())组合是否不再接受动物园对象?如果是这种情况,有没有比as.ts()方法更好的方法来处理它?</ p>
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
答案 0 :(得分:4)
预测包适用于ts
个对象,而不是zoo
个对象。某些函数可以与zoo
个对象一起使用,但是没有任何保证。特别是,当我对包进行更改时,如果使用zoo
个对象,我永远不会检查更改是否会导致问题。
您可以使用
修复错误zooinpdat <- as.ts(zooinpdat)