R HTS软件包中的Combinef-原始级别名称丢失

时间:2018-07-18 18:32:44

标签: time-series forecasting

当使用Combinef()组合预测时,所得的hts时间序列的级别名称类似于A,AA,AB ...它不会保留所提供的hts时间序列的级别名称。

在下面的示例中,底层名称是“ A10A”和“ A10B”,而得到的底层名称是“ AA”,“ BB”。

是否有办法在组合的预测对象中保留原始级别名称?

library(forecast)
library(hts)

abc <- ts(5 + matrix(sort(rnorm(20)), ncol = 2, nrow = 10))
colnames(abc) <- c("A10A", "A10B")
y <- hts(abc, characters = c(3, 1))


h <- 12
ally <- aggts(y)
allf <- matrix(NA, nrow = h, ncol = ncol(ally))
for(i in 1:ncol(ally))
  allf[,i] <- forecast(auto.arima(ally[,i]), h = h)$mean
allf <- ts(allf)
y.f <- combinef(allf, get_nodes(y), weights = NULL, keep = "gts", algorithms = "lu")

1 个答案:

答案 0 :(得分:0)

在代码末尾,添加以下行:

colnames(allf) <- colnames(ally)
colnames(y.f$bts) <- colnames(y$bts)
y.f$nodes <- y$nodes
y.f$labels <- y$labels