【问题标题】:HTS package: how to specify a network-like hierarchy of forecasts?HTS 包:如何指定类似网络的预测层次结构?
【发布时间】:2018-04-26 18:54:52
【问题描述】:

我正在尝试使用 hts package for hierarchical forecasting 来一起预测供水网络的不同规模,以便进行协调一致的预测。水网由流量计组成,可以测量正流量或负流量,当我们汇总净流量时,它会给出一个社区的内部消耗。

这不是 100% 严格意义上的分层,因为: - 流量计对进入一个社区的流量计为正数,但在离开另一个社区时为负数。

所以结构是这样的,用3个流量计和2个邻域简化:

所以我尝试复制 F2 表,一正一负,但输出并不令人满意。我该如何处理?

m=structure(c(28, 20, 20, 17, 19, 22, 26, 38, 45, 45, 42, 38, 37, 
            37, 33, 29, 28, 31, 37, 40, 36, 31, 26, 23, 22, 15, 13, 11, 11, 
            12, 16, 22, 25, 24, 21, 19, 17, 16, 14, 13, 13, 14, 16, 17, 16, 
            13, 11, 8, 7, 7, 8, 8, 8, 8, 8, 9, 11, 11, 11, 12, 12, 12, 11, 
            11, 11, 10, 10, 9, 9, 9, 8, 5), .Dim = c(24L, 3L), .Dimnames = list(
              NULL, NULL))
m=cbind(m, -m[, 3])
m[,2]<- -m[,2]
colnames(m) <- c("NaF1", "NbF3", "NbF2", "NaF2")
hm <- hts(m, characters=c(2, 2))
plot(hm); forecast(hm, fmethod="arima")$bts
#  
#        NaF1      NaF2     NbF2       NbF3
# 25 23.83012 -5.019900 4.799014  -8.505145
# 26 26.24205 -5.257814 4.989756 -10.778844
# 

如你所见,F2的预测正负方向不同,没有意义。

为了澄清聚合的结构,这里有一个 grafcet:

【问题讨论】:

  • 数字似乎没有加起来。社区 b 是否也在向网络“添加”水?
  • @R.S.谢谢你的评论。社区的净消耗量与零不同,这并不奇怪,因为它们通常应该“消耗”水(具有正的净项)。但这是“假”数据:我同意这里对数字的解释会很奇怪......无论如何这并不重要,在数学上。
  • 我承认我对分层 TS 没有任何经验,但我认为这样的时间序列会将其所有叶子汇总到它们上方的节点。 HTS 的例子似乎也表明了这一点。鉴于此,我会将 N.a 的净消耗视为节点 F2 的叶子。有一篇关于使用 HTS 的智能电表的论文,虽然其中似乎没有横向流动,所以我想知道我们是否可以从那里获得信息
  • 确实,低层是流量计,高层是小区,我想我没说清楚。不知道您提到的论文,但是如果它是纯粹的分层的,那将无济于事。
  • 论文在这里:robjhyndman.com/publications/hpf-electricity BTW,hts 包也有一个叫做分组时间序列(gts)的东西我想知道这个结构是否适用于这里:rdocumentation.org/packages/hts/versions/5.1.4/topics/gts

标签: r graph time-series forecasting hierarchical


【解决方案1】:

您不能将 N.a 的 F.2 负值视为 N.a 的子节点,将 N.b 的 F.2 正值视为 N.b 的子节点吗?

这会将其转换为更简单的层次结构。

【讨论】:

猜你喜欢
  • 2012-11-14
  • 2016-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多