【发布时间】:2016-05-09 22:20:42
【问题描述】:
我正在尝试使用 auto.arima 预测多个时间序列,并在数据帧中输出单位。
我有这个样本数据集:
Name <- c(rep("Tom",24),
rep("Jake",12),
rep("Jill",12))
Product <- c(rep("Orange",12),rep("Apples",12),
rep("Orange",12),rep("Apples",12))
Quarter <- c(rep(c("2013-03-31","2013-06-30","2013-09-30","2013-12-31",
"2014-03-31","2014-06-30","2014-09-30","2014-12-31",
"2015-03-31","2015-06-30","2015-09-30","2015-12-31"),4))
Units <- c(1200,1500,1800,2600,1300,1500,1700,2600,1300,1700,1900,2700,300,400,800,900,
250,400,600,700,200,300,0,0,100,250,500,600,90,200,400,450,50,0,0,0,1200,0,0,0,
1500,1700,1800,2600,1600,1900,2000,3000)
data <- cbind(Name,Product,Quarter,Units)
data <- as.data.frame(data)
data$Name_Product <- paste(data$Name,data$Product)
data <- select(data,Quarter,Units,Name_Product)
data <- spread(data,Name_Product,Units)
data2 <- ts(data[,-1], frequency=4, start=2013)
我正在尝试使用以下脚本按名称和产品预测上述批次数据:
h <- 12
ns <- ncol(data)
arimaforecast <- matrix(NA, nrow=h, ncol=ns)
for (i in 1:ns){
arimaforecast[,i] <- forecast(auto.arima(data2[,i]), h=h,)$mean}
我的问题是我不断收到错误“'[.default'(data2, , i) 中的错误:下标超出范围”,并且无法创建类似于使用 Rob Hyndman 的 forecast() 函数的预测批量预测方法,但使用 auto.arima 函数
我不确定从这里去哪里,或者我是否使用了正确的方法。任何帮助表示赞赏,谢谢!
【问题讨论】:
标签: r forecasting