我正在R中使用hts
软件包进行分层预测。在forecast()
函数中,如何指定必须进行预测的级别?
它将始终在最高层进行预测并通过选定的分类策略对其进行分类吗?
d = forecast(c, h = 12, method = "tdgsf", fmethod = "ets", keep.fitted = TRUE)
在上述代码中,我有c
=具有2个级别的分层时间序列,h
=预测范围,method
=分解策略,fmethod
=预测方法。
预测将在哪个级别进行?我可以指定预测发生的级别吗?
答案 0 :(得分:0)
在预测调用中,您正在将'tdgsf'分配给方法。这代表“自上而下的Gross-Sohl方法F”。您正在分配要在顶层创建的初始预测,然后使用较低层级的历史比例来创建这些较低层级的预测。如果要从底层开始工作,请为方法分配“ bu”。
d = forecast(c, h = 12, method = "bu", fmethod = "ets", keep.fitted = TRUE)
由于只有两个级别,因此不能使用method =“ mo”,但是如果您具有3个或更多级别,则可以将level参数设置为等于希望从其开始的层次级别。
我推荐this ebook,由预报和hts软件包的创建者Rob Hyndman撰写。第10章全部涉及分层和分组时间序列预测。