⬆︎
×

[TSF] [GDL] A Survey on Graph Neural Networks for Time Series: Forecasting, Classification, Imputation, and Anomaly Detection

基于图神经网络的时间序列分析综述详解

https://arxiv.org/abs/2307.03759

Hyplus目录

0 摘要

这篇综述全面介绍了图神经网络(GNN)在时间序列分析中的应用,主要涵盖四个核心任务:预测、分类、异常检测和数据填补。其目的是帮助研究者和从业者理解、应用并推进这一领域的研究。文章首先构建了一个面向任务的分类体系,然后介绍了有代表性的研究成果和主要应用场景,最后还探讨了未来可能的研究方向。这是首次系统整合了GNN在时间序列研究中的大量知识,突出了其基础理论、实际应用和发展机遇。


1 引言

随着先进传感和数据处理技术的发展,时间序列数据大量涌现。对时间序列的分析不仅能了解过去的趋势,还能支持预测、分类等多种任务,在云计算、交通、能源等很多领域都很重要。

很多时间序列中,时间点之间和变量之间存在复杂的关系,比如交通传感器之间的关联。如果把时间点或变量看作节点,它们的关系看作边,形成网络或图,就能更好地利用这些关系来解决问题。

传统的分析工具,像支持向量回归、ARIMA等,很难处理复杂的时间序列关系,比如非线性和变量间的关系。虽然深度学习方法如卷积神经网络、循环神经网络有一定优势,但它们不能明确地建模非欧氏空间中的空间关系。

近年来,图神经网络(GNN)成为处理非欧氏数据的有力工具,为建模现实世界的时间序列数据开辟了道路。它能捕捉变量之间和不同时间点之间的复杂关系,结合时间建模框架后,在很多任务中都有不错的表现。早期研究主要集中在预测,现在在分类、异常检测和填补等任务中也有了进展。

不过,现有的相关综述大多范围有限,而这篇综述首次全面覆盖了上述四个任务,具有多个关键贡献,比如提供了统一的分类框架、详细的研究概述等。


2 定义与符号

时间序列数据是在一段时间内收集的观测序列,可分为规则采样和不规则采样(可能有缺失值),每种又分单变量和多变量。

  • 单变量时间序列:规则采样的是按均匀时间间隔收集的标量序列,如X = \{x_1, x_2, ..., x_T\};不规则采样的是在非均匀时间间隔收集的,如X = \{(t_1, x_1), (t_2, x_2), ..., (t_T, x_T)\}
  • 多变量时间序列:是按时间收集的N维向量序列,规则采样的在均匀时间间隔收集,不规则采样的每个时间步可能只有部分变量有观测。

大多数基于GNN的研究关注多变量时间序列,因为它们能自然地抽象成时空图,这种图能准确描述变量之间(如不同传感器的地理信息)和时间之间(如同一传感器不同时间的动态)的依赖关系。

属性图是一种静态图,每个节点都有属性,用G=(A, X)表示,其中A是邻接矩阵(表示节点间关系),X是节点特征矩阵。

时空图可以看作是一系列属性图,能表示随时间变化或固定的结构信息,即G = \{G_1, G_2, ..., G_T\},其中G_t=(A_t, X_t)是时间t的属性图。

图神经网络处理图结构数据时,核心操作是图卷积,通过AGGREGATE(聚合邻居节点信息)和COMBINE(融合聚合信息与自身信息)两个函数来学习节点表示。

当时间序列没有现成的图结构时,有两种生成方式:

  • 启发式方法:基于空间proximity(如地理距离)、成对连接性(如交通网络连接)、相似性(如余弦相似度)、功能依赖(如因果关系)等。
  • 学习式方法:直接从数据中学习,比如基于节点嵌入或注意力机制来构建图结构。

3 框架与分类

3.1 面向任务的分类

主要聚焦四个任务:

  • 时间序列预测:根据历史观测预测未来值,分为单步(预测一个未来值)和多步(预测连续多个未来值)预测。
  • 异常检测:识别时间序列中的不规则和意外事件,由于异常数据少,多采用无监督方法,即先学习正常数据模式,再通过与正常模式的差异来检测异常。
  • 数据填补:估计并填充时间序列中的缺失数据点,分为样本内(填充已有序列中的缺失值)和样本外(预测新序列中的缺失值)填补。
  • 分类:给时间序列分配类别标签,单变量分类可转化为图分类(每个序列作为一个图)或节点分类(每个序列作为一个节点)。

3.2 统一方法框架

从三个角度对时空图神经网络(STGNN)分类:

  • 空间模块:用于建模变量之间的依赖,分为谱GNN(基于谱图理论)、空间GNN(直接设计节点邻居的过滤器)和混合方法(结合前两者)。
  • 时间模块:用于建模时间依赖,可在时间域(用循环、卷积、注意力等方法)或频率域(用傅里叶变换等)处理。
  • 模型架构:整合空间和时间模块的方式,分离散和连续架构,每种又分因子化(时空处理分开进行)和耦合(时空处理交织进行)。

通用流程是:先对时间序列数据预处理(包括提取图结构),再用STGNN获取数据表示,最后用下游任务模块完成预测、异常检测等任务。


4 用于时间序列预测的GNN

时间序列预测是根据历史数据预测未来值。深度学习模型比线性模型更能捕捉非线性的时空模式,但很多方法忽略了变量间的动态空间关联,而GNN-based方法能明确建模这种关联,提升预测效果。

从方法上看,主要从三方面分析:

  • 建模变量间依赖:

    • 谱GNN:早期多用ChebConv来近似图卷积,比如STGCN结合时间卷积和ChebConv来捕捉时空模式。
    • 空间GNN:用消息传递或图扩散等方法,比如DCRNN将图扩散融入GRU来建模交通数据。
    • 混合方法:结合谱和空间GNN的优势,比如SLCNN用ChebConv和局部消息传递作为全局和局部卷积。
  • 建模时间依赖:

    • 循环模型:用GRU等循环单元,比如DCRNN用GRU处理时间依赖。
    • 卷积模型:用时间卷积,比如STGCN用时间门控卷积,Graph WaveNet用扩张因果卷积来扩大感受野。
    • 注意力模型:用自注意力机制,比如GMAN通过时空注意力聚合历史信息。
    • 混合模型:结合多种时间建模方法,比如ASTGCN同时用时间注意力和卷积。
  • 架构融合:

    • 离散架构:因子化的如STGCN,时空处理分开;耦合的如DCRNN,时空处理交织。
    • 连续架构:用神经微分方程来建模,因子化的如STGODE,将图传播作为连续过程;耦合的如MTGODE,用一个连续过程同时处理时空。

5 用于时间序列异常检测的GNN

时间序列异常检测是识别不符合正常模式的数据。异常因为稀少、难以收集和标注,所以无监督方法应用广泛。

传统方法有基于距离和分布的,但深度学习方法更有效,不过循环模型缺乏对变量间依赖的显式建模,而GNN能捕捉这种依赖,在异常检测中表现出潜力。

通用方法是采用双模块框架:骨干模块学习正常数据的模式,评分模块通过比较骨干模块的输出和实际观测来判断是否异常。同时,还能通过计算每个变量的差异来找出异常的原因。

根据差异计算方式,分为:

  • 重构差异:假设正常数据能被很好地重构,异常数据重构误差大,比如MTAD-GAT用图注意力网络作为编码器来重构数据。
  • 预测差异:假设正常数据能被准确预测,异常数据预测误差大,比如GDN用GNN预测未来值,通过预测误差检测异常。
  • 关系差异:基于变量间关系在异常时会发生显著变化的假设,比如GReLeN通过图结构的变化来检测异常。
  • 混合差异:结合多种差异,比如MTAD-GAT同时用重构和预测差异。

6 用于时间序列分类的GNN

时间序列分类是给时间序列分配类别标签。早期的距离-based和集成方法在大规模数据集上扩展性有限,而深度学习技术能提升性能,GNN通过将时间序列转化为图来发挥作用。

6.1 单变量时间序列分类

有两种基于图的方法:

  • Series-as-Graph:将单变量时间序列分成子序列作为节点,根据子序列间关系构建图,再用GNN进行图分类,比如Time2Graph+将时间序列转化为形状图,用GNN学习关系后分类。
  • Series-as-Node:将每个序列作为节点,根据序列间的关系(如相似度)构建图,转化为节点分类任务,比如SimTSC用DTW距离构建图,再用GNN分类。

6.2 多变量时间序列分类

与单变量分类类似,但需要捕捉变量间的依赖。由于变量间关系可视为图,GNN很适用,比如Raindrop能处理不规则采样的多变量数据,通过学习图结构和插值缺失值来提升分类性能。


7 用于时间序列填补的GNN

时间序列填补是估计并填充缺失数据。传统的统计方法难以捕捉复杂的时空关系,深度学习方法也未显式考虑变量间依赖,而GNN能更好地处理这些问题。

从任务看,分样本内(填充已有序列的缺失值)和样本外(预测新序列的缺失值)填补;从方法看,分确定性(给出单一估计值)和概率性(给出可能值的分布)填补。

  • 样本内填补:多数方法聚焦于此,比如GACN交替使用GAT和时间卷积层来建模时空依赖,再用反卷积层填充缺失值;GRIN结合MPNN和GRU,分两步进行填补。
  • 样本外填补:方法较少,比如IGNNK用归纳GNN来恢复未观测时间序列的信号;INCREASE考虑位置间的异质时空关系来提升填补效果。

8 实际应用与资源

GNN在时间序列分析中的应用广泛,主要有七个领域,这里介绍三个:

  • 智能交通:应用于交通预测(如预测交通速度、流量,帮助规划路线)、交通数据填补(完善交通数据库)、自动驾驶、航班延误预测等。
  • 环境与可持续能源:用于风速和功率预测(优化风能管理)、太阳能预测(提高太阳能利用)、空气污染预测和天气预报(服务农业、能源等领域)。
  • 物理系统:在n体系统模拟、粒子物理、人体运动建模等领域,GNN能建模物体间的复杂交互,结合物理定律后效果更好。

此外,还有一些常用的基准数据集和开源模型实现,方便研究者进行比较和应用。


9 未来方向

GNN在时间序列分析中的未来发展有几个重要方向:

  • 预训练、迁移学习和大模型:能在数据稀疏或多样时提升性能,但面临时间序列数据少、难以捕捉复杂时空依赖等挑战。
  • 鲁棒性:提升GNN处理数据扰动和分布变化的能力很重要,比如在智能城市和医疗应用中,处理好噪声或数据损坏问题十分关键。
  • 隐私增强:随着GNN的广泛应用,要保护数据中节点和关系的隐私,平衡隐私保护和GNN的优势。
  • 可扩展性:解决GNN在处理大规模时间依赖数据时的内存限制等问题,提升在边缘设备等场景的实时应用能力。

10 结论

这篇综述填补了GNN在时间序列分析领域的知识空白,通过统一的分类框架,全面覆盖了预测、分类、异常检测和填补四大任务,探讨了时空依赖建模和模型架构,介绍了应用场景和未来方向,为研究者和从业者提供了有价值的参考。

《[TSF] [GDL] A Survey on Graph Neural Networks for Time Series: Forecasting, Classification, Imputation, and Anomaly Detection》有1条评论

发表评论