【时间序列预测】0.时间序列任务知识地图 [时间序列预测] 0.时间序列任务知识地图我们要进行的Traffic Forecasting交通预测是Forecasting预测最典型的应用场景之一而预测是Artificial Intelligence人工智能分支下Time Series Tasks时间序列任务的一个分支。我们要完成交通预测实际上是接触Forecasting预测下图则是我们要完成的任务在知识地图对应的位置。(这是本人新接触的方向、能力有限借助资料及AI完成的知识地图构建知识地图仅供参考)当然对于时间序列的其他分类和任务我们将在此略过用到的时候会写对应的文章。文章目录[时间序列预测] 0.时间序列任务知识地图前言一、时间序列(Time Series )1.1 时间序列解决什么问题1.1.1 预测 Forecasting1.1.2 推断 Imputation1.1.3 异常检测 Anomaly Detection1.1.4 分类 Classification1.2时间序列数据有什么特殊性1.2.1 欧式空间(Euclidean Space)1.2.2 非欧式空间(Non-Euclidean Space)1.2.3 图卷积(Graph Convolution)二、Forecasting预测2.1 Forecasting预测的分类体系2.1.1 按预测时间跨度Forecast Horizon2.1.2 按变量数量Number of Variables2.1.3 按输出形式Output Type2.1.4 按数据结构Data Structure2.1.5 按应用领域Application Domain2.2 Spatio-Temporal Forecasting时空预测2.2.1 Time Forecasting时间预测2.2.2 Spatial Forecasting空间预测2.2.3 Spatio-Temporal Forecasting时空预测2.2.4 维度模型2.3 时空预测模型优化与创新方向三、推荐资料3.1 基础理论3.1.1 时间序列基础3.1.2 图神经网络基础3.2 时空预测经典模型3.3 常用数据集3.4 推荐综述前言面对一个未接触的领域首先要干的事情不是埋头苦干而是构建知识地图。结合AI和资料知道自己目前所在的位置、要完成任务的位置、以及如何完成的路线。一、时间序列(Time Series )时间序列Time Series就是按照时间顺序排列的数据。温度或者股价时间温度日期股价8:0022℃Day11009:0023℃Day210210:0025℃Day399或者心电图、EEG脑电、销量、天气、电力负荷、交通流量全部都是时间序列。它最重要的特点就是当前数据受到历史数据影响。例如今天股票价格 ≈ 昨天价格 × 市场变化不是独立的。1.1 时间序列解决什么问题主要有四类预测、推断、异常检测、分类1.1.1 预测 Forecasting例如根据过去30天预测未来7天。包括股票、天气、电力、交通等预测这是现在最热门的任务。过去1 2 3 4 5 预测6 71.1.2 推断 Imputation例如预测缺失值。20 21 ? 23 241.1.3 异常检测 Anomaly Detection例如服务器监控CPU30 32 31 9595突然暴涨需要检测。1.1.4 分类 Classification例如一段ECG判断是不是心脏病。输入0.1 0.3 0.5 0.2 ... 输出正常 或 异常1.2时间序列数据有什么特殊性时间序列是最基本的数据形式之一广泛存在于各个领域。现实世界的数据不仅包括规则的欧式空间数据如图像、音频还包括大量非欧式空间数据如社交网络、交通路网、分子结构等。1.2.1 欧式空间(Euclidean Space)欧式空间就是我们最熟悉的坐标空间。例如二维平面(x, y)三维空间(x, y, z)图片。为什么图片是欧式空间因为图片像素排列规则。□ □ □ □ □ □ □ □ □ □ □ □每个像素都有固定位置左边是谁、右边是谁完全固定。卷积神经网络Convolutional Neural Network,CNN为什么适合欧式空间CNN利用局部窗口例如3×3卷积核滑动。□ □ □ □ □ □ □ □ □因为图片排列规则所以卷积可以一直滑。1.2.2 非欧式空间(Non-Euclidean Space)很多数据不是规则排列。例如社交网络A / \ B C \ / D没有“第1行 第2列”的概念。再例如知识图谱人 → 公司 → 城市也是图。还有道路A——B——C \ D也是图。这些都叫非欧式空间因为没有规则网格。为什么CNN不能直接处理因为CNN需要左/右/上/下这种固定邻域但是图没有。例如 A 连接5个人B 连接2个人邻居数量不同卷积核没法滑。所以提出图卷积Graph Convolution。1.2.3 图卷积(Graph Convolution)目的把CNN推广到图。从欧式空间 → 非欧式空间把卷积思想推广到图。A / \ B CGCN更新A不是3×3卷积而是把 B、C 的信息聚合。A A B C 或者 平均。二、Forecasting预测2.1 Forecasting预测的分类体系Forecasting预测是时间序列分析中最核心、最热门的任务。简单来说预测就是利用历史数据来估计未来未知的值。交通流量预测 Long-term Forecasting Multivariate Forecasting Spatio-Temporal Forecasting2.1.1 按预测时间跨度Forecast HorizonForecasting │ ├── Short-term Forecasting短期预测 │ └── Long-term Forecasting长期预测1Short-term Forecasting短期预测预测未来较短时间内的值例如根据过去24小时的数据预测未来1小时的值根据过去7天的数据预测未来1天的值特点时间跨度短数据变化相对平稳通常精度较高对模型的长期记忆能力要求较低2Long-term Forecasting长期预测预测未来较长时间内的值例如根据过去一年的数据预测未来十年的趋势根据过去30天的数据预测未来30天的值特点时间跨度长不确定性大精度通常低于短期预测对模型捕捉长期依赖的能力要求高目前很多 Transformer 相关的论文都在研究 Long-term Forecasting例如InformerBeyond Efficient Transformer for Long Sequence Time-Series ForecastingAutoformerFEDformerPatchTST这些模型都被称为LTSFLong-Term Time Series Forecasting长期时间序列预测模型。2.1.2 按变量数量Number of VariablesForecasting │ ├── Univariate Forecasting单变量预测 │ └── Multivariate Forecasting多变量预测1Univariate Forecasting单变量预测只有一个变量只根据该变量自身的历史值来预测未来。例如时间1 2 3 4 5 6 ? 温度20 21 22 23 24 25 只有温度这一个变量预测未来的温度。特点数据维度低模型简单无法利用其他相关变量的信息适用于单一指标预测2Multivariate Forecasting多变量预测多个变量一起输入同时预测一个或多个变量的未来值。例如输入 温度 湿度 风速 气压 ↓ ↓ ↓ ↓ 预测未来温度或者同时预测多个变量输入温度 湿度 风速 ↓ 输出未来温度 未来湿度 未来风速特点数据维度高信息更丰富可以捕捉变量之间的相关性现实中90% 以上的预测任务都是 Multivariate Forecasting2.1.3 按输出形式Output TypeForecasting │ ├── Point Forecasting点预测 │ └── Probabilistic Forecasting概率预测1Point Forecasting点预测直接预测一个确定的值。例如明天温度 26℃输出只是一个具体的数值没有任何不确定性信息。特点简单直观无法表达预测的置信度大多数传统模型ARIMA、LSTM默认输出点预测2Probabilistic Forecasting概率预测输出一个概率分布或置信区间而不是单一数值。例如明天温度 26℃ 概率 40% 27℃ 概率 30% 28℃ 概率 20% 25℃ 概率 10%或者95% 置信区间[25℃, 28℃]特点提供了不确定性信息对决策更有帮助尤其是金融、电力、气象领域近年来越来越受重视2.1.4 按数据结构Data Structure这是近几年 GNN图神经网络兴起后最重要的分类方式。Forecasting │ ├── Time Forecasting时间预测 ├── Spatial Forecasting空间预测 └── Spatio-Temporal Forecasting时空预测注意这里的时间预测不是预测时间本身而是指预测对象只有时间维度没有空间关系。1Time Forecasting时间预测只有时间维度没有空间关系。例如股票价格昨天 → 今天 → 明天气温变化昨天 25℃ → 今天 26℃ → 明天 ℃这类数据用传统的LSTM、GRU、Transformer就可以处理。2Spatial Forecasting空间预测只有空间维度没有时间变化。例如已知城市A、城市B、城市C的地理位置和污染数据预测城市D的污染程度根据传感器网络的空间分布预测某个位置的数值这类数据没有时间动态用GNN、GCN就可以处理。3Spatio-Temporal Forecasting时空预测同时包含时间和空间两个维度。这是目前GNN 时间序列最热门的研究方向。例如交通预测道路网络 每个路口随时间变化的流量气象预测气象站网络 每个站点随时间变化的温度/降水疫情传播预测城市网络 每个城市随时间变化的感染人数这类数据的特点是空间道路 A —— 道路 B —— 道路 C图结构 时间t1 → t2 → t3 → ...时间序列因此必须同时使用空间模块GCN / GAT / GraphSAGE来捕捉空间依赖时间模块LSTM / GRU / TCN / Transformer来捕捉时间依赖典型模型STGCNSpatio-Temporal Graph Convolutional NetworksDCRNNDiffusion Convolutional Recurrent Neural NetworkGraph WaveNetGMANASTGCN2.1.5 按应用领域Application Domain直接按场景划分。Forecasting │ ├── Traffic Forecasting交通预测 ├── Weather Forecasting天气预报 ├── Energy Forecasting能源预测 ├── Stock Forecasting股票预测 ├── Electricity Load Forecasting电力负荷预测 ├── Air Quality Forecasting空气质量预测 ├── Sales Forecasting销量预测 ├── Healthcare Forecasting医疗预测 └── ...举例Traffic Forecasting交通预测交通预测实际上就是Traffic Forecasting Spatio-Temporal Forecasting Multivariate Forecasting Long-term / Short-term Forecasting一个具体的预测任务可以同时拥有多个标签。2.2 Spatio-Temporal Forecasting时空预测预测按照数据结构可分为 三类。时间预测Time Forecasting空间预测Spatial Forecasting时空预测Spatio-Temporal Forecasting三者最大的区别不是预测目标不同而是模型所利用的数据结构不同。Time Forecasting仅利用时间维度的信息进行建模Spatial Forecasting仅利用空间结构的信息进行建模Spatio-Temporal Forecasting则同时利用时间维度和空间维度的信息通过联合建模完成预测任务。三种预测方式之间的关系如下所示。Forecasting │ ┌─────────────┼──────────────────┐ │ │ │ Time Forecasting Spatial Forecasting │ │ │ │ └──────融合(广义) ──────────────┘ │ Spatio-Temporal Forecasting可以发现时空预测并不是一种完全独立的新预测任务而是在时间预测模型基础上引入空间建模能力实现时间信息和空间信息的联合学习。从发展历程来看时空预测可以看作时间预测与空间预测的融合和扩展广义。传统的时间序列模型擅长捕捉时间依赖性但无法处理数据之间的空间拓扑关系而图神经网络擅长建模非欧式结构却缺乏对时间动态的建模能力。为了同时建模时间和空间依赖性研究者提出了时间图神经网络Temporal Graph Neural Networks, TGNN将时间序列分析与图神经网络相结合形成时空预测模型。应用于交通预测、气象预报、疫情传播等时空任务中。2.2.1 Time Forecasting时间预测Time Forecasting是时间序列预测最基本的形式其建模对象仅包含时间维度的信息。模型输入通常为按照时间顺序排列的历史时间序列模型通过学习历史数据之间的时间依赖关系建立从历史序列到未来序列的映射关系。其数学形式可表示为X t − T : t → f ( ⋅ ) X t 1 : t H X_{t-T:t} \xrightarrow{f(\cdot)} X_{t1:tH}Xt−T:t​f(⋅)​Xt1:tH​其中X t − T : t X_{t-T:t}Xt−T:t​表示历史时间窗口X t 1 : t H X_{t1:tH}Xt1:tH​表示未来预测窗口f ( ⋅ ) f(\cdot)f(⋅)表示时间预测模型。因此Time Forecasting关注的是如何不断优化映射函数f ( ⋅ ) f(\cdot)f(⋅)。近年来时间预测模型的发展基本围绕时间建模能力展开大致经历了以下几个阶段统计模型 │ ▼ RNN/LSTM/GRU │ ▼ CNN(TCN) │ ▼ Transformer不同模型本质上都是在提高时间维度特征提取能力即如何更准确地建模历史序列与未来序列之间的时间依赖关系。由于没有空间关系参与建模因此时间预测模型不涉及图结构也不需要图神经网络。2.2.2 Spatial Forecasting空间预测Spatial Forecasting主要研究数据对象之间的空间关联关系。与Time Forecasting不同Spatial Forecasting不关注时间变化而关注不同对象之间的空间依赖关系Spatial Dependency。空间关系通常可以表示为一个图GraphG ( V , E ) G (V, E)G(V,E)其中V VV表示节点NodeE EE表示节点之间的连接关系Edge。图结构可以来源于实际网络例如道路拓扑、电网拓扑、传感器网络等也可以由数据之间的相关性自动构建例如根据距离、相关系数或相似度生成邻接矩阵。因此Spatial Forecasting关注的是如何学习图中节点之间的信息传播规律即G → g ( ⋅ ) H G \xrightarrow{g(\cdot)} HGg(⋅)​H其中G GG表示输入图H HH表示空间表示Spatial Representationg ( ⋅ ) g(\cdot)g(⋅)表示空间建模模型。目前空间建模主要包括两类方法1基于图神经网络的方法例如GCN、GAT等通过邻域聚合Neighborhood Aggregation学习节点表示。2基于Transformer的方法利用空间注意力Spatial Attention学习不同节点之间的相关关系。因此Spatial Forecasting的核心任务是不断优化空间建模函数g ( ⋅ ) g(\cdot)g(⋅)。2.2.3 Spatio-Temporal Forecasting时空预测Spatio-Temporal Forecasting是在时间预测基础上引入空间建模能力形成的一类联合预测模型可以看作Spatio-Temporal ForecastingTime ForecastingSpatial Forecasting这里的加并不是简单相加而是指时间建模与空间建模的联合学习Joint Learning。对于交通流量预测而言最典型的数据集之一是PeMS04。该数据集实际上包含两部分信息历史时间序列数据可理解为按时间排列的多变量表格Excel每一行对应一个时间戳每一列对应一个传感器节点每个单元格记录该节点在该时刻的交通流量或速度、占有率等。空间图结构数据由传感器之间的道路连接关系构成通常表示为邻接矩阵如果原始数据未提供图结构也可以依据节点间距离、道路连接关系或时间序列相关性等方式构建图。因此时空预测模型的输入可以表示为历史时间序列表格 空间图结构Graph │ ▼ 时空预测模型 │ ▼ 未来时间序列表格更严格地说图结构通常作为模型学习空间依赖的先验信息预测输出主要仍然是未来各节点的时间序列值空间关系更多体现在模型内部的信息传播过程而不是预测出一张新的图。因此可将其理解为利用历史时间序列和空间图结构共同预测未来各节点的时间序列。数学上可表示为( X , G ) → F ( ⋅ ) Y ^ (X, G) \xrightarrow{F(\cdot)} \hat{Y}(X,G)F(⋅)​Y^其中X XX表示历史时间序列G GG表示空间图结构Y ^ \hat{Y}Y^表示未来时间序列预测结果F ( ⋅ ) F(\cdot)F(⋅)表示时空预测模型。因此时空预测模型的研究重点就在于如何设计更优的联合映射函数F ( ⋅ ) F(\cdot)F(⋅)。2.2.4 维度模型1时间维度模型时间维度模型负责提取历史序列中的时间依赖关系其研究基本沿用了时间预测的发展路线目前主要包括三类基于RNN的方法以Diffusion Convolutional Recurrent Neural Network为代表将GRU等循环神经网络用于建模时间演化过程。基于CNN的方法以Graph WaveNet为代表利用时间卷积Temporal Convolution扩大感受野提高长序列建模能力。基于Transformer的方法以Graph Multi-Attention Network为代表通过时间注意力机制学习长距离时间依赖。这些模型的目标都是不断提升时间建模能力即优化时间映射函数。2空间维度模型空间维度模型负责学习图中节点之间的空间依赖关系其核心思想是利用图结构进行信息传播和特征聚合。目前主要包括两类基于图神经网络的方法如GCN、GAT等通过邻域聚合实现空间建模。基于Transformer的方法利用空间注意力Spatial Attention直接学习节点之间的关联关系。经过空间建模后可获得各节点的空间特征表示。3时空融合方式完成时间建模和空间建模后需要设计融合策略将二者结合形成最终的时空预测模型。目前主要有三种典型方式① 融合式Coupled时间建模与空间建模在同一模块内共同完成两种信息高度耦合。代表模型Diffusion Convolutional Recurrent Neural Network。② 并联式Parallel时间模块和空间模块分别独立学习特征最后进行融合。代表模型Graph Multi-Attention Network。③ 串联式Serial时间模块和空间模块依次执行一个模块的输出作为另一个模块的输入。代表模型Spatio-Temporal Graph Convolutional Networks。这种时间建模 → 空间建模 → 时空融合或相反的思想也是目前绝大多数时空图神经网络STGNN模型的基本设计范式。这样组织章节也能够自然过渡到后续对 DCRNN、STGCN、Graph WaveNet、GMAN 等具体模型的介绍。2.3 时空预测模型优化与创新方向根据优化对象的不同可将现有研究归纳为五个方向。时空预测模型研究演进 │ ┌─────────────────┼─────────────────┐ │ │ │ 时间建模进化 空间建模进化 图结构进化 从RNN到 从GCN到 从固定图到 Transformer 动态图/Transformer 自适应学习 │ │ │ └─────────────────┼─────────────────┘ │ ┌───────────┴───────────┐ │ │ 多源信息融合 应用场景拓展 天气/节假日/突发事件 交通/能源/环境等1时间维度模型优化Temporal Model Optimization优化时间预测模型提高对短期和长期时间依赖的建模能力典型模型包括基于RNN的方法如DCRNN、基于CNN的方法如Graph WaveNet以及基于Transformer的方法如GMAN。2空间维度模型优化Spatial Model Optimization现有研究主要采用图神经网络如GCN、GAT或基于Transformer的空间注意力机制对空间关系进行建模提高模型的空间特征表达能力。3图构建方式优化Graph Construction Optimization研究逐渐由固定图结构向可学习图结构发展主要包括图结构自动学习、基于语义信息构建邻接矩阵、超图结构构建以及多类型图构建与融合等方向以获得更加准确的空间关系表示。4外部环境因素融合External Factors Integration实际时空数据通常受到天气、空气质量、节假日及突发事件等外部因素的影响。为了提高模型的预测精度和泛化能力研究将外部环境信息作为辅助特征与时空特征共同输入模型进行联合建模。5数据集与应用场景扩展Dataset and Application Extension时空预测模型最初主要应用于交通流量预测近年来逐渐扩展到更多时空预测场景包括网约车需求预测、地铁客流预测、充电桩负荷预测、电力负荷预测等。不同应用场景虽然预测对象不同但均可采用统一的时空预测建模框架并针对数据特点进行相应的模型设计与优化。公有数据集比较卷模型精度私有数据集更好三、推荐资料时间序列基础LSTM/GRU │ ▼ Transformer │ ▼ 图神经网络GCN → GraphSAGE → GAT │ ▼ 时空预测经典DCRNN → STGCN → Graph WaveNet → ASTGCN → GMAN │ ▼ 跟踪最新论文3.1 基础理论3.1.1 时间序列基础模型论文代码LSTMLong Short-Term MemoryHochreiter S, 1997-TransformerAttention Is All You NeedVaswani A, 2017tensor2tensorInformerInformer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting2020Informer2020AutoformerAutoformer2021AutoformerFEDformerFEDformer2022FEDformer3.1.2 图神经网络基础模型论文代码GCNSemi-Supervised Classification with Graph Convolutional NetworksKipf T N, 2017gcnGraphSAGEInductive Representation Learning on Large GraphsHamilton W, 2017GraphSAGEGATGraph Attention NetworksVelickovic P, 2018GAT3.2 时空预测经典模型模型论文代码特点DCRNNDiffusion Convolutional Recurrent Neural Network2017DCRNN扩散图卷积 RNN序列到序列结构STGCNSpatio-Temporal Graph Convolutional Networks2018STGCN_IJCAI-18纯卷积结构训练速度快ASTGCNAttention Based Spatial-Temporal Graph Convolutional NetworksAAAI 2019ASTGCN-r-pytorch引入时空双重注意力Graph WaveNetGraph WaveNet2019Graph-WaveNet扩张因果卷积 自适应图学习一步式多步预测GMANGMAN2019GMAN纯注意力架构长期预测效果显著3.3 常用数据集数据集节点数时间跨度特点获取方式METR-LA2074个月交通预测最经典的数据集DCRNNPeMS-BAY3256个月传感器覆盖更广DCRNNPeMS043072个月常用于流量预测ASTGCNPeMS081702个月中小规模适合快速实验ASTGCN3.4 推荐综述综述年份论文链接推荐指数侧重点A Survey on Graph Neural Networks for Time Series: Forecasting, Classification, Imputation, and Anomaly Detection2024https://arxiv.org/abs/2307.03759⭐⭐⭐⭐⭐时间序列GNN最全面综述涵盖预测、分类、补全、异常检测四大任务重点推荐Spatio-Temporal Graph Neural Networks for Predictive Learning in Urban Computing: A Survey2023https://arxiv.org/abs/2308.10483⭐⭐⭐⭐⭐STGNN经典综述系统总结城市计算中的交通、空气质量、能源等预测任务A Comprehensive Survey on Graph Neural Networks2021https://arxiv.org/abs/1901.00596⭐⭐⭐⭐☆图神经网络经典综述介绍GCN、GAT、GraphSAGE等基础模型Graph Neural Networks: A Review of Methods and Applications2020https://arxiv.org/abs/1812.08434⭐⭐⭐⭐☆GNN基础理论、模型分类及典型应用综述Deep Learning for Time Series Forecasting: A Survey2020https://arxiv.org/abs/2004.13408⭐⭐⭐⭐☆深度学习时间序列预测综述涵盖RNN、CNN、Transformer等方法Transformers in Time Series: A Survey2023https://arxiv.org/abs/2202.07125⭐⭐⭐⭐☆Transformer在时间序列预测中的发展与改进路线Foundation Models for Time Series Analysis: A Tutorial and Survey2024https://arxiv.org/abs/2403.14735⭐⭐⭐⭐☆时间序列基础模型Foundation Models与大模型最新综述Spatio-Temporal Data Mining: A Survey of Problems and Methods2023https://arxiv.org/abs/2301.10594⭐⭐⭐⭐☆时空数据挖掘基础综述介绍时空数据表示、预测与分析方法推荐阅读顺序Deep Learning for Time Series Forecasting: A Survey—— 建立时间序列预测基础了解RNN、CNN、Transformer等时间建模方法。A Comprehensive Survey on Graph Neural Networks—— 学习图神经网络基础包括GCN、GraphSAGE、GAT、MPNN等经典模型。A Survey on Graph Neural Networks for Time Series—— 重点阅读系统理解GNN在时间序列预测、分类、补全和异常检测中的应用是连接时间序列与图神经网络的重要综述。Spatio-Temporal Graph Neural Networks for Predictive Learning in Urban Computing—— 学习STGNN的整体框架、时空建模方式及交通预测、空气质量预测、电力预测等典型应用。Transformers in Time Series: A Survey—— 深入了解Transformer在时间序列预测中的发展为学习GMAN、STAEformer等模型奠定基础。Foundation Models for Time Series Analysis—— 了解时间序列基础模型和大模型的发展趋势适合作为进一步研究的参考。