使用tslm进行预测

时间:2018-07-18 14:21:53

标签: r time-series forecasting

我已经使用tslm创建了时间序列线性模型。它是使用179次每周数据观察构建的,我想预测接下来的26周,但仍会出错:

tslm5<-tslm(tsorders~ trend +
          I(trend^2) + Month.number, data=ppc.order.forecasting[1:179,])

forecast(tslm5,newdata=ppc.order.forecasting[180:205,])

Error in `[[<-.data.frame`(`*tmp*`, length(tmpdata) + 1, value = c(1,  : 
  replacement has 179 rows, data has 26'

如何使用行180:205和tslm5中的数据来预测接下来的26周?

1 个答案:

答案 0 :(得分:0)

没有有关您的软件包版本和ppc.order.forecasting的性质的更多信息,就不可能知道导致错误的原因。

以下示例使用forecast软件包的最新版本(8.4)。

library(forecast)
library(ggplot2)

ppc.order.forecasting <- cbind(
  trend = 1:205,
  Month.number = rep(1:12,18)[1:205],
  tsorders = rpois(205, abs((1:205)/50 + 2*sin(2*pi*(1:205)/12)))
) %>% ts(freq=12)
tslm5 <- tslm(tsorders~ trend + I(trend^2) + Month.number, 
              data=subset(ppc.order.forecasting, end=179))

forecast(tslm5, newdata=subset(ppc.order.forecasting, start=180)[,1:2]) %>%
  autoplot()