写点什么

顶会 VLDB'22 论文解读:多元时序预测算法 METRO

发布于: 刚刚

摘要:本文提出了一个端到端的 MTS 预测框架 METRO。METRO 的核心思想是利用多尺度动态图建模变量之间的依赖关系,考虑单尺度内信息传递和尺度间信息融合。


本文分享自华为云社区《VLDB'22 METRO论文解读》,作者:云数据库创新 Lab 。

0 导读


本文(METRO: A Generic Graph Neural Network Framework for Multivariate Time Series Forecasting)是由华为云数据库创新 Lab 联合电子科技大学数据与智能实验室发表在顶会 VLDB‘22 的文章,该文章提出了一种的多元时序预测算法 METRO。VLDB 是 CCF 推荐的 A 类国际学术会议,是数据库领域顶级学术会议之一。该论文是云数据库创新 LAB 在时序分析层面取得的关键技术成果之一。


METRO 是基于自注意力机制(self-attention)的深度学习算法。该算法能有效学习历史数据的多种周期性以及提取不同时间线的相关性,为时序预测任务提供更准确的结果,使时序数据库具有强大的分析能力。目前 METRO 已经作为 GaussDB for Influx 的时序预测算子在华为云上线,应用场景包括对服务器容量指标进行预测,指导服务器扩容操作;以及对交通路段拥堵程度预测,动态指导地图路径规划等。结合 METRO 提供的强大分析能力以及 GaussDB for Influx 已有的超大规模时间线快速读写能力,GaussDB for Influx 已具备从大规模时序数据中持续挖掘数据潜在价值的能力。

1 背景


多元时间序列(Mltivariate Time Series, MTS)预测因具有广泛的应用场景而受到越来越多的关注。目前的多元时间序列模型普遍具有以下不足:

  • 忽视了变量间依赖关系的动态特性。

  • 没有充分考虑一个时间序列内不同尺度的时序模式


因此,本文提出了一个端到端的 MTS 预测框架 METRO。METRO 的核心思想是利用多尺度动态图(Multi- scale temperal graph)建模变量之间的依赖关系,考虑单尺度内信息传递和尺度间信息融合。同时,METRO 也是一个通用的框架,现有的基于图神经网络的 MTS 预测模型可以被描述成 METRO 的特例。我们在公开的真实数据集和华为云的在线生产环境上进行了大量实验,结果表明,METRO 在预测准确性,运行时间,模型大小上都优于 SOTA。同时,我们也通过例化多个基于 METRO 的预测模型,展示了他们在性能和时间空间开销之间的的 trade-off。

2 METRO

2.1 定义


定义 1 动态图(Temporal graph): 我们将多元时间序列的变量描述成节点,变量之间的依赖关系描述成边,则动态图 G(t)=(V(t),E(t))G(t)=(V(t),E(t))可被用来建模变量之间的动态相关性。动态图可以看作一系列静态图组成的时间序列。如下图所示。



定义 2 多尺度动态图(Multi-scale Temporal graph): 若动态图中的每个时间步都是在时间尺度 ss 下观察/归纳得到的,我们称该动态图是关于尺度 ss 的,记为 G_s(t)=(V_s(t),E_s(t))Gs​(t)=(Vs​(t),Es​(t))。利用多个时间尺度观察原始 MTS,则可得到多尺度动态图。如下图所示。



2.2 模型框架


METRO 包含四个部分,temporal graph embedding (TGE) 模块,singe-scale graph update (SGU) 模块, cross-scale graph fusion (CGF) 模块 和 predict 模块。



2.3 TGE


TGE 类似编码器,利用函数 emb()emb()得到原始 MTS 中变量对于不同时间尺度 s_isi​的表示,也即获得动态图中节点的嵌入向量\mathbf{H}^{l}({t})Hl(t)。emb()emb()可被实现成拼接,求和,卷积,LSTM,GRU 等等。

2.4 SGU


对于 TGE 的到的多尺度动态图,SGU 按照尺度分别处理,完成在单一尺度下动态图内的信息传递。

首先,由于变量之间的依赖关系未知且动态变化,我们使用图学习函数 g_m()gm​()自动学习变量在相邻时间步之间的联系,即邻接矩阵 AA, 再通过 msg()msg()函数建模相邻时间步之间的信息,记为 mm



接下来,agg()agg()函数被用来聚合所有 mm,得到\widetilde{m}m,\widetilde{m}m 可被看作是一张包含了整体序列信息的新图。对于时间步 tt,我们利用所有 tt 时刻之前的信息聚合得到的\widetilde{m}m 来对其进行更新,得到\hat{\mathbf{H}}^{l+1}({t})H^l+1(t)。


其中,msg(),upd()msg(),upd() 可被实现成 GCN,Transformer。agg()agg()可被实现成多数时序模型,例如 Transformer,LSTM,GRU 等。 g_m(),g_u()gm​(),gu​()在目前的工作中曾被实现成 transfer entropy,线性层等,也可以利用 attention 模型。


当对于 tt 的部分未来信息也可获得时,也可将其加入用于更新,这在本文中被称作 SUG-C (SUG-Contextual)。

2.5 CGF



多尺度融合可使模型自动地选择有效的时间尺度组合,以适应当前预测的 horizon。在 CGF 模块,我们首先通过 samp()samp()函数找到可融合的时间步,其需满足对应的原始时间片段可对齐。再通过 g_f(),fuse()gf​(),fuse() 函数进行图结构的学习和信息传播,此步可用的实现与 SUG 类似。



SGU 与 CGF 可堆叠多层,以通过增加深度增加模型 expressiveness。

2.6 Predict


最终的预测结果取 CGF 最后一层,输入 pred()pred()函数获得。pred()pred()可被实现为常见的输出层,例如线性层等。

2.7 实例化 METRO


我们对 METRO 进行了如下实例化。


3 实验

3.1 在公开数据集上与 baseline 比较



在四个公开数据集,4 个预测 horizon 上,METRO-attn 相对于 SOTA 模型获得了更好的 RSE 和 CORR。

3.2 开销和准确率的权衡



我们总结了 METRO 的各个实例化模型对应准确率与训练时间/测试时间/GPU memory/model size 的关系,因引入了 SOTA 模型做比较,发现 METRO 模型总体开销显著低于 SOTA,且由于模块的实现方式不同,METRO 模型内部也存在着不同的准确率-开销 trade off,其中,METRO-attn 是一个有效且相对简单的实现。

3.3 模型参数分析






我们在 METRO-attn 上进行了参数分析,得到了使用较多时间尺度有利,大时间尺度对于长 horizon 预测有利等结论。

4. 应用



我们将 METRO 应用于华为云真实生产环境,于其产生的私人数据集上进一步测试了模型效果,实验表明,METRO 显著优于 SOTA 模型。

5. 总结


本文提出了一个端到端的 MTS 预测框架 METRO。METRO 的核心思想是利用多尺度动态图(Multi- scale temperal graph)建模变量之间的依赖关系,考虑单尺度内信息传递和尺度间信息融合。我们在公开的真实数据集和华为云的在线生产环境上进行了大量实验,结果表明,METRO 在预测准确性,运行时间,模型大小上都优于 SOTA。


目前 METRO 已经作为 GaussDB for Influx 的时序预测算子应用在了生产环境中,应用场景包括对服务器容量指标进行预测,指导服务器扩容操作;交通路段拥堵程度预测,动态指导地图路径规划等。结合 METRO 提供的强大分析能力以及 GaussDB for Influx 已有的超大规模时间线快速读写能力,GaussDB for Influx 已具备从大规模时序数据中持续挖掘数据潜在价值的能力。


华为云数据库创新 lab 官网:https://www.huaweicloud.com/lab/clouddb/home.html


点击关注,第一时间了解华为云新鲜技术~

发布于: 刚刚阅读数: 2
用户头像

提供全面深入的云计算技术干货 2020.07.14 加入

华为云开发者社区,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态,方便开发者快速成长与发展,欢迎提问、互动,多方位了解云计算! 传送门:https://bbs.huaweicloud.com/

评论

发布
暂无评论
顶会VLDB'22论文解读:多元时序预测算法METRO