赞
踩
今天为大家梳理一篇有关利用图神经网络进行时间序列分析的综述,文献的下载地址如下:
https://arxiv.org/abs/2307.03759
时间序列可以说是无处不在例,如天气预报、股票,物品销量、汽车运行轨迹等等,因此时间序列分析对云计算、能源、社交网络等多个领域有着重要的意义。时间序列数据通常涉及沿时间维度不同时间点数据之间(例如影响效益传播的滞后)和变量维度(相邻传感器件的相互影响关系)复杂的交互模式,许多时间序列数据更是表现出时空性质,即不同传感器测量的变量之间蕴含着不同位置(空间)关系,局部变量的变化会传播至周边变量,例如相邻道路上交通量增加、疾病及恶劣天气在邻近地区的传播,这为时间序列分析带来了巨大的挑战。随着图神经网络相关研究的飞速发展,越来越多的图神经网络相关的算法被用于时间序列建模中。通过将时间点或变量视为节点,将它们的关系视为连边,以网络或图的形式构造模型可以有效学习时间序列中的复杂交互模式,这在城市交通网络、人口迁移和天气预测等场景中得到了广泛的应用。
考虑到时间序列分析不仅仅是为了理解历史数据中的信息,更涉及多种任务如预测、分类、异常检测和数据插补。本篇综述从时间序列预测、分类、异常检测和数据填补这四个任务维度出发,回顾了图神经网络在时间序列领域的相关研究。值得注意的是,本篇文章是第一篇全面总结了图神经网络在时间序列分析主流任务中的应用,文章也列出了其他相关的综述如下,有兴趣的小伙伴可根据需要自行查阅。
单变量时间序列:, 为规律的采样时刻,若为不规则采样的序列,则可表示为。
多元时间序列:, 为采样时刻,GNN相关研究主要关注的是多元时间序列,不同的时间序列之间的关系可通过如下时空图表示。
属性图:由节点特征矩阵和其对应的邻接矩阵组成,邻接矩阵描述了N个节点间的拓扑图结构,包含N个节点,节点间的连边,连边的权重
利用GNN分析时间序列,通常需要提供图结构即邻接矩阵。然而,并非所有时间序列数据都有现成的图结构可用,在实践中,通常使用两种策略来从数据中获取图结构:启发式方法或直接学习的方法。
启发式图:这类方法根据一些启发式的指标从数据中去发现图结构,例如空间相似性、节点对是否连接,节点特征相似度、基于格兰杰因果相关或传递熵等函数确定节点的连接及邻接矩阵。
基于图学习的方法:这类方法将直接将邻接矩阵作为一个参数,在端到端训练下游任务时进行学习,相比于启发式图,这类方法能够学习更复杂或更有信息的图。
文章梳理了GNN在时间序列预测、时间序列异常检测、分类及异常检测四个关键任务维度的相关研究,这些方法共享一个通用的pipline,即利用时空图对时间序列变量间进行建模,实现对单个序列的表征,如下图所示。其中,通过时空图( STGNN )进行时序数据表征,可将时间序列分类任务转变为图分类或节点分类任务。
在上述pipline中的时空图,由空间模块(spatial module)和时序模块(temporal module)两个关键模块组成。其中,spatial module用于建模不同时间序列(节点)间的相互影响关系,常使用spectral GNN,spatial GNN,或两种方法的组合。spectral GNN基于频谱图理论,使用图偏移算子(如图拉普拉斯)来捕获节点关系,spatial GNN对spectral GNN进行了简化,直接通过过滤器筛选各个节点的邻居,混合方法则是集合了二者的优势。Temporal module 用于建模序列样本沿时间方向的相关性,包含时域或频域。时域分析常利用RNN, TCN和Transformer等网络,频域分析常利用傅立叶变化、小波变换等。
现有 STGNN 方法分成离散或连续的网络架构,离散架构GNN在处理图数据时,通常通过迭代更新节点的表示向量来学习节点之间的关系,这些模型在离散的时间步内进行节点表示的迭代,每个时间步都考虑节点与其邻居节点之间的关系。连续架构的图神经网(Continuous Graph Neural Networks)使用连续时间和微分方程来建模图数据的动态变化,节点的表示不再通过离散的时间步骤来更新,而是使用微分方程来描述节点表示随着时间的变化,这使得节点表示在时间维度上可以连续演化,从而更好地捕捉图数据中的动态变化。不论是离散还是连续的架构,现有方法进一步又可分为两大类,一类模型对时序与空间分开建模,例如先进行时序信息建模后再利用spatial module进行空间信息提取。另一类则将空间与时序耦合在一起建模,例如 DCRNN 和 MTGODE。其他作者将非常相关的自我称为时间然后空间和时间和空间。
时间序列预测旨在根据历史观测值预测未来时间序列值。文章从三个方面对基于GNN的时间序列预测进行了总结:
空间(即变量之间)依赖关系建模,当前的研究通常采用spectral GNNs,spatial GNNs或二者的结合体来建模。早期Spectral GNN的预测模型主要使用ChebConv 来近似图卷积,通过Chebyshev多项式建模时间序列之间的空间依赖性,例如STGCN 结合了时间卷积和 ChebConv 层,以捕捉空间和时间模式。基于Spatial GNN强调局部的同质性。早期的方法如DCRNN和Graph WaveNet将图扩散层融入GRU 或时间卷积,用于建模时间序列数据。STGCN(1st)和ST-MetaNet则通过GCN 和GAT 建模空间依赖关系,以聚合相邻时间序列的信息。SLCNN 将ChebConv 和局部消息传递作为全局和局部卷积,以捕捉多个粒度上的空间关系。
时间依赖关系建模,时间依赖性可以从时间域和频域进行建模,通常卷积神经网络和注意机制可分析时间域和频率域,循环神经网络主要用于时域信息的建模。
融合时空模块进行时间序列预测,融合方式可分为两种,一类方法对两个模块进行拼接,分开对时间和空间依赖性进行建模,另一类则是将两个模块合并在一起。常见方法总结如下表。
时间序列异常检测旨在识别不符合数据正常生成机制的观测数据。识别异常样本通常面临两大挑战:一是相比于正常数据,难以收集到大量异常样本,其次,异常数据的波动边界难以确定,这为有监督学习带来了巨大的挑战。因此,无监督异常检测技术受到了广泛的关注, 这类方法通常基于正常数据或大量正常数据与少量异常样本进行训练,通过模型(可以是任何模型,包括图神经网络),计算样本异常分数,用于指示样本的异常程度。异常分数可通过评估样本的重构误差、预测误差和关系差异来计算。基于重建误差的方法通常采用自编码器结构,依赖于假设:模型能够正确建模正常样本中的数据生成机制,因此能够准确重构正常样本,异常样本不遵循该数据机制,因此模型对异常样本具有较大重构误差。的不确定性。在正常时期,重建误差应该很低,而在异常时期则应该很高。基于预测误差的方法与上述方法类似,模型对于正常样本预测准确度高,预测误差小,对于异常样本预测准确度低,预测误差大。最后,对于基于关系差异的方法则是考虑到正常样本的变量相关性与异常样本的变量相关性具有较大差异。常见方法总结如下表。
基于GNN的时间序列分类方法通过将时间序列数据转换为图表示,可以充分利用GNN的强大功能来捕捉时间序列中的局部和全局模式。对于单变量时间序列,现有方法可分为Series2Node 和 Series2Graph两类。Series2Graph将单变量时间序列分解成多个子序列,每个子序列作为一个节点,从而将单变量时间序转换为一张图,图中的边则描述了不同子序列沿时间方向的依赖关系,最后通过图神经网络(GNN)进行图分类。Series2Node方法将时间序列的样本视为一个单独的节点,节点的连边描述了不同样本间的关系,创建一张大图,提供对整个数据集中时序依赖关系的完整描述。多变量时间序列分类与单变量时间序列分类具有相同的范式,只是多变量时间序列需要进一步考虑对不同序列间空间依赖关系的建模。下表总结了目前有关GNN进行时间序列分类的相关工作。
基于GNN的数据填补方法更好地表征了时间序列数据中复杂的时空依赖关系。从任务的角度来看,基于GNN的时间序列插值可以大致分为两种类型:样本内插值和样本外插值。前者涉及填充给定时间序列数据中的缺失值,而后者预测未见过的序列中的缺失值。从方法学的角度来看,用于时间序列插值的GNN可以进一步分为确定性插值和概率性插值。确定性插值为缺失值提供单个最佳估计,而概率性插值考虑了插值过程中的不确定性,并提供缺失值可能的概率分布。下表总结了迄今为止关于基于GNN的时间序列插值的大部分相关工作。
推荐阅读:
公众号:AI蜗牛车
保持谦逊、保持自律、保持进步
发送【蜗牛】获取一份《手把手AI项目》(AI蜗牛车著)
发送【1222】获取一份不错的leetcode刷题笔记
发送【AI四大名著】获取四本经典AI电子书
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。