提取预测数据
Extract forecasting data
我有一个数据框,它由三列(AJT、NET 和 SAT)组成。我的目的是用预测包对这三个时间序列中的每一个进行预测。出于这个原因,我将数据框转换为 ts 对象并使用 snaive 函数进行预测,所以我写了这行代码:
#CODE
library(forecast)
# Data set
DATA_SET<-data.frame(
AJT=seq(1, 48, by = 2),
NET=seq(1, 24, by = 1),
SAT=seq(1, 94, by = 4)
)
# Making TS object
TS_SALES<-ts(DATA_SET,start=c(2016,1),frequency = 12)
# Making forecasting with Forecast package
SNAIVE_AJT<-snaive(TS_SALES[, 'AJT'],h=5)
SNAIVE_NET<-snaive(TS_SALES[, 'NET'],h=5)
SNAIVE_SAT<-snaive(TS_SALES[, 'SAT'],h=5)
# Union forecast in list
SNAIVE_UNION<-mapply(SNAIVE_AJT, SNAIVE_NET,SNAIVE_SAT, FUN=list, SIMPLIFY=FALSE)
我放入 SNAIVE_UNION 的幼稚函数的所有输出,其中包含所有预测结果。所以这里最重要的组成部分是 "mean",它包含按月预测的结果。
SNAIVE_UNION[["mean"]]
#
# # [[1]]
# # Jan Feb Mar Apr May
# # 2018 25 27 29 31 33
# #
# # [[2]]
# # Jan Feb Mar Apr May
# # 2018 13 14 15 16 17
# #
# # [[3]]
# # Jan Feb Mar Apr May
# # 2018 49 53 57 61 65
所以在这里,我的目的是将结果形式 SNAIVE_UNION[["mean"]] 放入数据 table 中,例如下面的 table 和一些函数循环,对于或其他功能
Jan Feb Mar Apr May
------------------------------
AJT 25 27 29 31 33
NET 13 14 15 16 17
SAT 49 53 57 61 65
我问这个是因为这个时间序列只是整个系列的一小部分,我想自动化这个代码。
您可以使用:
pred <- do.call(rbind, SNAIVE_UNION[["mean"]])
# [,1] [,2] [,3] [,4] [,5]
# [1,] 25 27 29 31 33
# [2,] 13 14 15 16 17
# [3,] 49 53 57 61 65
我有一个数据框,它由三列(AJT、NET 和 SAT)组成。我的目的是用预测包对这三个时间序列中的每一个进行预测。出于这个原因,我将数据框转换为 ts 对象并使用 snaive 函数进行预测,所以我写了这行代码:
#CODE
library(forecast)
# Data set
DATA_SET<-data.frame(
AJT=seq(1, 48, by = 2),
NET=seq(1, 24, by = 1),
SAT=seq(1, 94, by = 4)
)
# Making TS object
TS_SALES<-ts(DATA_SET,start=c(2016,1),frequency = 12)
# Making forecasting with Forecast package
SNAIVE_AJT<-snaive(TS_SALES[, 'AJT'],h=5)
SNAIVE_NET<-snaive(TS_SALES[, 'NET'],h=5)
SNAIVE_SAT<-snaive(TS_SALES[, 'SAT'],h=5)
# Union forecast in list
SNAIVE_UNION<-mapply(SNAIVE_AJT, SNAIVE_NET,SNAIVE_SAT, FUN=list, SIMPLIFY=FALSE)
我放入 SNAIVE_UNION 的幼稚函数的所有输出,其中包含所有预测结果。所以这里最重要的组成部分是 "mean",它包含按月预测的结果。
SNAIVE_UNION[["mean"]]
#
# # [[1]]
# # Jan Feb Mar Apr May
# # 2018 25 27 29 31 33
# #
# # [[2]]
# # Jan Feb Mar Apr May
# # 2018 13 14 15 16 17
# #
# # [[3]]
# # Jan Feb Mar Apr May
# # 2018 49 53 57 61 65
所以在这里,我的目的是将结果形式 SNAIVE_UNION[["mean"]] 放入数据 table 中,例如下面的 table 和一些函数循环,对于或其他功能
Jan Feb Mar Apr May
------------------------------
AJT 25 27 29 31 33
NET 13 14 15 16 17
SAT 49 53 57 61 65
我问这个是因为这个时间序列只是整个系列的一小部分,我想自动化这个代码。
您可以使用:
pred <- do.call(rbind, SNAIVE_UNION[["mean"]])
# [,1] [,2] [,3] [,4] [,5]
# [1,] 25 27 29 31 33
# [2,] 13 14 15 16 17
# [3,] 49 53 57 61 65