【发布时间】:2015-04-24 13:31:35
【问题描述】:
我有一个分层时间序列,其底层序列都表现出间歇性需求。使用 Hyndman 的 HTS 包在层次结构中进行最佳组合似乎是有利的。使用 Kourentzes 的 MAPA 包对间歇性需求进行多重聚合预测似乎也很有利。本质上,我想做这样的事情:
forecast(my_hts, method='comb', fmethod='MAPA')
但是,我不清楚是否/如何将两者结合起来,因为forecast.gts() 只接受fmethod=c("ets", "arima", "rw").
有没有一种巧妙的方法可以将不同的预测方法传递给forecast.gts(),而无需撕毁代码?
举例说明我的意思:
library(hts)
library(MAPA)
set.seed(1)
#note intermittent demand of bottom level time series
x <- ts(rpois(365, lambda=0.05), frequency=365, start=2014)
y <- ts(rpois(365, lambda=0.07), frequency=365, start=2014)
#it's easy to make a MAPA forecast for the top-level time series
#but this isn't an optimal hierarchical forecast
mapasimple(x+y)
#it's also easy to make this a HTS and make an optimal hierarchical forecast
#but now I cannot use MAPA
z <- hts(data.frame(x,y)))
z_arima <- forecast(z, fmethod="arima")
z_rw <- forecast(z, fmethod="rw")
z_ets <- forecast(z, fmethod="ets")
#z_MAPA <- ?
【问题讨论】:
-
感谢您添加可重现的示例。我们现在可以尝试将其迁移到Stack Overflow,在那里编程问题属于并且很容易回答。
-
我显然遵从您的要求,但由于上述软件包的两位作者(据我所知)都活跃在 CrossValidated 中,我认为这是一个比一般 SO 更好的发布位置。
-
这是一个合理的猜测,@user1569317,这是一个棘手且有争议的问题。事实上,SO 上有一大群活跃的 R 用户(我相信比这里还多)。我的标准是 OP 需要解释什么;如果是统计概念,Q就属于这里,如果是代码如何工作,Q就属于SO。我将您的 Q 读为“是否有一种巧妙的方法可以将不同的预测方法传递给 predict.gts() 而无需破坏代码?”,而不是“预测如何工作”。因此我认为SO更合适。 (我也相信你会在那里获得更好/更快的 A。)
标签: r time-series forecasting hierarchical