高友谊

记录科研、技术与思考

基于时空建模的交通流预测算法研究(毕业论文草稿)

这篇文章主要记录我在 基于时空建模的交通流预测算法研究(毕业论文草稿) 这一主题上的阶段性理解,重点放在问题背景、方法脉络和个人判断。

第一章 绪论

在过去的几十年中越来越多的家庭拥有了属于自己的私家车,据公安部统计[^1],2023年全国机动车保有量达4.35亿辆,其中汽车3.36亿辆;数量庞大的车辆保有量势必会带来交通拥堵,停车困难,难以管理等一系列问题。目前交通管理部门主要采取如下几种办法来解决交通拥堵问题:(1)加强道路基础设施建设,如加宽道路,修建新道路等;(2)限制在道路上行驶的私家车的数量,如尾号限行,限制异地车辆进入城区、摇号上牌等; (3)开发智能交通系统(Intelligent Transportation System,ITS)[^2]等。

其中开发智能交通系统是很多国家重点关注的领域。无论如何拓宽道路,限行限号,都要花费大量的人力物力,而且往往无法预知未来道路的变化,从而合理的安排公共人力物力。但是智能交通系统能够利用深度学习等算法,提前预知可能的交通变化,以便于相关职能部门合理调度人力等,从而保障道路畅通,方便人们的出行。作为智能交通系统的重要组成部分,交通预测算法研究也层出不穷,特别是随着机器学习的引入,人们不断的追求更长期的,更准确的交通预测。

1.1 课题背景与研究意义

深度学习作为一种新的交通预测方法开始受到研究人员和商业人士的广泛关注。交通预测是一种典型的时空预测问题,其中用到的数据集往往是PEMS数据集[^PEMS],PEMS(Performance Measurement System)数据集是由美国加利福尼亚州交通部(Caltrans)监测和收集的交通数据。这些数据通过在州内高速公路和主要道路上安装的传感器系统获得。数据集中包含传感器每隔5min采集一次的交通流量、速度和车道占有率等关键数据。

在这个场景中,每条时间序列$x^t_i$$\in$R^C^来自一个传感器,记录着通过车辆的一些特征,其中C为Traffic Flow、Traffic Speed等。同时往往由于只有Traffic Flow变化较大,所以很多研究在交通预测问题上只探究这一个特征的变化。同时PEMS数据集提供了对应的csv文件,用来存储检测器(节点)之间的边信息

2016年,图卷积网络(Graph Convolution Network, GCN)[^GCN]被设计出来后,科研工作者们意识到:由于车辆得沿着路网行驶,因此这些传感器之间肯定存在着很明显的依赖。一般来说,离的越近的传感器,他们的记录下来的时间序列一般会比较相似。这和GCN的思路是一致的。因此在GCN之后,时空图神经网络(Spatial-Temporal Graph Neural Network,STGNN)[^STGCN]正式被提出,用于解决交通预测等领域的问题。STGCN考虑了交通预测领域的时间和空间不可区分性,利用图卷积网络(GCN)捕捉数据的空间结构特征,结合时间卷积网络(TCN)处理时间序列数据,捕捉时间动态。之后,基于结合GCN和其他序列模型的思路,预测领域的基线模型(DCRNN,Diffusion Convolutional Recurrent Neural Network)[^DCRNN]被提出,其结合了图卷积网络(GCN)和循环神经网络(RNN),用于处理时空数据。该模型通过扩散卷积来模拟信息在图结构中的空间扩散过程,捕捉节点间的空间依赖性。同时利用循环神经网络(特别的GRU)处理时间序列数据,以学习数据的时间动态。这种结合使DCRNN能够有效预测具有复杂空间和时间关系的数据。
但是这存在一定的问题,无论是GCN结合RNN还是TCN,对于节点间的图结构是预先定义的,但是可以设想的是,存在一些情况,如节点间虽然有连接,但是两个节点并不存在明显的依赖关系,以及虽然两个节点存在依赖,但是预定义的图结构中并没有被将两个节点连接。因此为减少预定义图的不准确对预测精度的影响,在另一篇基线模Graph WaveNet[^Graph WaveNet]中设计了一个自适应邻接矩阵$$ \tilde{A}_{\text{adp}} $$,不需要任何先验知识,通过随机梯度下降进行端到端学习,让模型自己发现隐藏的空间依赖关系。模型在METR-LA 和 PEMS-BAY两大数据集上实验,结果当图形结构不可用时,graph WaveNet 仍然能够实现良好的性能。后续基于此思路,即不断的学习潜在的图结构,而非基于预定义的图结构的工作有很多。但是对应的创新性研究很少,很多的在此方面的创新带来的效果提升微乎其微。
再后来Transformer[^Transformer]架构被提出后,自注意力机制被广泛用来学习时序之间的上下文信息,从而预测更长时间步的数据。如Informer[^Informer]模型通过采用概率稀疏自注意力机制(ProbSparse Self-attention),减少了对长序列中所有时间点进行注意力计算的需求,从而减少了计算资源的消耗并加速了模型的训练,并取得了非常好的预测效果。但是目前基于Transformer的时空数据预测是不明确的,甚至是违反时空数据预测的本质的,即不能保留时间序列的位置信息,但是局部位置信息(即时间序列的排序)又是重要的。大部分的工作通过堆叠编码器解码器的数量,即从参数数量上取胜,但是当用基于Transformer的模型处理短期数据或者短期预测时,往往由于模型没有足够的数据,无法作出很好的预测。而且自注意力机制在处理长序列时会导致计算量和内存使用急剧增加,这会导致在资源有限的环境中处理非常长的时间序列成为挑战。在当前硬件资源普遍受限的情况下,通过堆叠Transformer深度而获得更好的预测效果显然并不是一个很好的思路。即使在满足条件的硬件资源下,基于Transformer的交通预测往往也要花费数个小时甚至更久。后续,Dlinear[^Dlinear]模型的提出,更一步证实了并非模型参数越多,模型复杂度越高,就能在时序预测取得更好的效果。
以上处理时空数据交通流预测的主要思路大致可以分为两类,一类是结合GCN和其他序列模型,利用GCN学习节点间的关系,结合序列模型学习时间序列的模式。另一类是通过学习节点间潜在的图结构来更好的得到节点间的依赖关系。通过分析我们不难得出,这两种方式都有其局限性。于是科研工作者们开始致力于减小计算量,回归时空预测的本质,即时间模式和空间模式。时间模式是时间序列所展示出的周期性变化,空间模式描述了不同节点之间的相互依赖。2022年来自清华大学的LightTS[^LightTS]模型,通过设计多种采样模式,试图让模型学习到不同时间粒度的信息,拼接后通过简单的MLP学习得到预测信息,结果在大大降低计算成本的同时,预测精准度却不输以上方法建模的模型。类似的,2023年谷歌研究院提出了一种名为TiDE[^TiDE]的MLP编码器-解码器模型。该模型以其简单和快速的特点,能够有效处理长期预测中的协变量和非线性依赖问题。本文正是立足于MLP建模,分析时序预测的本质,力求减少计算量,提高预测速度和精度。

1.2 本文主要工作

本章节分为四个部分:分析深度学习交通预测领域的难点,总结本文为解决问题提出的思路,简述本文的研究贡献,最后给出本文组织结构。

1.2.1 研究挑战

本节主要从时间和空间的复杂性角度分析时空数据交通预测的难点。以及从时间维度和空间维度分析时空数据的必要性。在介绍时空复杂性之前,我们给出时空数据的定义:时空数据是指同时具有时间维度和空间维度的数据。在交通领域,这类数据通常表示为一系列在不同时间和地点收集的交通指标,如车辆数量、速度、行驶时间等。

本文使用的时空数据具体如下:

  • PEMS03、PEMS04、PEMS07和PEMS08数据集: PEMS(Performance Measurement System)数据集由加利福尼亚州交通部(Caltrans)负责收集和维护,数据通过在高速公路和主要道路上安装的感应线圈、视频摄像头和其他传感器设备收集而来。这些数据集,把原始数据聚合成了每5分钟一个采样点。PEMS数据集一般包含两部分,一个是npz文件,记录了每一个检测器在一定时间内收集的交通流量数据;另一个是csv文件,记录了检测器之间的连接关系,包括连通性和权重。
Dataset PEMS03 PEMS04 PEMS07 PEMS08
节点数 358 307 883 170
时间步数 26,208 16,992 28,224 17,856
时间间隔 5 mins 5 mins 5 mins 5 mins
开始时间 2018/09/01 2018/01/01 2017/05/01 2016/07/01
结束时间 2018/11/30 2018/2/28 2017/08/31 2016/08/31
特征 F F,S,O F F,S,O

其中F代表交通流量(traffic flow),S代表交通速度(traffic speed),O代表道路占用率(traffic occupancy rate)。

1.2.1.1 时间不可区分性

如下图1-1所示,在时序预测中,存在窗口的概念。窗口(长度为H+F)分为两部分,其中H长度内的数据代表着历史数据(History),后F长度内的数据代表着未来数据(Future)。他们分别对应着机器学习的样本和真实值,即模型学习输入前H部分数据,尝试预测后F部分数据。在训练中,时间窗口每滑动一次,就会产生一个样本。然后再按照训练、验证、测试去划分原始数据集。

不同的变量和不同的时期会有不同的模式,最终可能会生成许多具有相似历史序列、但不同未来序列的样本。

Figure_1-1

图 1-1 采样图示例

如上图1-1所示,使用我们自己设计的**VisuaTraffic Suite[^tools]**工具绘制的,来自数据集PEMS04中的的两个传感器Sensor20和Sensor301记录的2018-01-26至2018-01-28三天的交通流变化。然后人工标记了三个滑动窗口$W_1,W_2,W3$,对于$W_2$对应的窗口,无论Sensor20,还是Sensor301,其H序列和F序列具有相同的时间模式,即随着时间的增加而减小。这是可以被理解的,首先是Sensor20和Sensor301是两个相邻的检测器,其次是它们具有相似的随时间减小的历史数据,按照传统的线性模型(如MLP)计算方式,其输出也就应该是随时间减小的未来数据。但是当滑动窗口来到$W_3$时,我们可以看到与之前的结论完全相悖的现象:Sensor20和Sensor301具有相似的随时间增加的历史H数据,但是其未来F数据却呈现出完全不同的趋势,Sensor20的数据随时间逐渐平稳,Sensor301的数据随时间继续增加。这对于传统的线性模型是具有很大迷惑性的:模型很难为这两个来自同一时间(如$W_3$窗口),但不同空间(如Sensor20和Sensor301)的相似的样本,产生迥异的预测结果。

1.2.1.2 空间不可区分性

交通预测中空间的不可分性主要指的是空间连续性。比如,某一主要道路的拥堵状况可能会影响到相邻道路的交通流量,当前Sensor未来F时间的流量不仅仅受到自身历史数据的影响,而且受周围其他Sensor的影响。这种空间上的连续性表明,交通状态的预测需要考虑相邻区域的交通状况。

sonser301_1_26__27

图1-2 空间连续性示例

如上图1-2所示,图1-2同样是使用我们自己设计的**VisuaTraffic Suite[^tools]**工具绘制的,来自数据集PEMS04中的的一个传感器Sensor301记录的2018-01-26至2018-01-27两天的交通流变化,我们选取这两天的每天的12:00至14:00为滑动窗口$W_4$,其中历史时间H为12:00至13:00,未来时间F为13:00至14:00,我们可以看到,在历史时间H上,同一个监测器Sensor301,交通流量都是随着时间的增加而直线式的上升的。这与我们的常识以及传统的线性模型(如MLP)的预测一致,即对于一个固定的路口,其每天的12:00至13:00(可能是上下班高峰期),车流量具有相似的模式,比如这里的随时间交通流量而增加。但是我们看到,在未来时间F上,1月26日Sensor301的交通流量突然开始直线下降,但是1月27日的交通流量则继续直线式增加,这就与我们的常识以及常规的线性模型预测相悖了。考虑到实际的物理世界,可能是在1-26日与Sensor301直接相连的监测器Sensor20处出现了特殊状况相关,事实上我们通过绘制Sensor20在2018-01-26日,12:00至14:00的交通流量也应证了这个猜想。类似的例子有很多,也就是说,当前监测器的数据不仅受到自身历史时间模式的影响,而且受到邻近,甚至更远处的一个或者多个监测器的数据影响。

1.2.2 研究思路

本研究通过分析时空数据交通预测中的时间和空间不可区分这一挑战,以及受到该领域相关论文的启发。如LightTS[^LightTS]模型,通过从时间模式的周期性入手,设计了多时间粒度的采样策略,使得模型能够学习到以日为周期的时间模式,比如每天的固定早高峰,晚高峰;以及以一周为周期的时间模式,比如每周的周末容易出现外出高峰。并且模型最终使用MLP拼接后回归预测,大大减小了计算量,同时对于交通数据这种具有明显周期性的数据预测有着很高的预测准确度。类似的,STID[^STID]模型中,作者也是从以日为周期,以周为周期两个维度对数据进行学习,同时基于节点连接性设计了空间嵌入矩阵,在经过简单拼接后经过MLP学习后回归预测,同样在减少计算量的同时,增加了预测精准度。但是这两个研究存在一定的不足。具体介绍如下。

1.2.2.1 时间维度

虽然LightTS[^LightTS]和STID[^STID]等模型都从时间周期性的日周期以及周周期角度进行设计,但是PEMS数据是持续数月的数据,考虑到更长的数据集上,我们设想,每年的节假日,如暑假,寒假,美国的圣诞节等,持续数周甚至上月的节假日势必会导致当月的出行出现以月为单位的周期。即使是在短期数据集上,由于节假日等产生的以月为周期的时间模式,也很有可能会影响到模型的学习和预测能力。综上,本研究决定从日周期,周周期,月周期三个粒度对时间维度进行建模,让模型有意识的学习到对应的时间模式。

1.2.2.2 时空维度

包括但不限于STID[^STID]等从时间维度和空间维度建模的时空模型,在处理融合时间维度和空间维度的特征时总是采用直接拼接的方式。这是可行的,但是我们不妨设想,在现实世界中,影响当前路口的交通流量的因素中,当前的时间模式对车流量的影响和邻近路口车流量对当前路口车流量很难设定为相当的。因此,从这个时空融合的维度出发,我们不妨设置一个权重参数,用于学习具体是时间模式还是空间模式对当前影响最大,以及应该以何种比例影响。

1.2.3 研究贡献

基于上述研究思路开展研究与设计,现概述研究贡献如下。
对于时空数据交通流预测问题,本文对以往模型设计归纳为两类:一是GNN结合序列(如RNN)模型,二是学习潜在的图结构。同时本文也分析了基于Transformer建模的交通流预测模型。针对Transformer建模违背了时空预测的本质以及计算资源等花费问题,本研究决定采用MLP网络进行建模;针对时空数据的时间不可区分性,本研究设计了日周期编码,周周期编码,月周期编码,用于让模型从三个时间粒度学习时间的周期性模式;针对时空数据的空间不可区分性,本文为了避免预定义图不足对模型的影响,设计了随机初始化的空间嵌入矩阵,由模型自行学习空间信息。最后为了合理的利用时间信息和空间信息,本文对时间信息和空间信息进行了权重划分,以更合理的比重考虑时间信息和空间信息对模型预测结果的影响。同时,为方便更多的初学者快速了结时空数据的时空不可区分性,以及画图,展示训练结果等方面的可视化需求,本文设计和开发了VisuaTraffic Suite可视化工具。

1.2.4 论文组织结构

本文系统地介绍了交通预测相关研究,并详细分析了时空数据交通预测的现有挑战和潜在解决方案。整篇论文的结构安排如下:

  • 第一章 绪论:介绍本文研究背景、研究意义、研究挑战、研究思路以及本文的主要贡献。
  • 第二章 相关研究工作:评述交通流量预测的发展历程,包括不同模型架构的优缺点,特别是STGNN和基于Transformer建模以及基于MLP建模的模型。
  • 第三章 时空建模与实现:详细描述本研究提出的新方法,包括时间周期编码、空间嵌入学习以及时空特征权重分配的具体实现方式。
  • 第四章 实验设计与分析:展示实验设置,数据集的选择,模型指标,模型训练的详细过程,以及结果分析等。
  • 第五章 VisuaTraffic Suite工具设计与实现:介绍为交通预测可视化所开发的工具的设计理念、系统架构、功能实现,以及使用示例等。
  • 第六章 结论与展望:总结全文,提出本研究的创新点,讨论方法的局限性,并对未来工作提出展望。

最后是本文的附录和参考文献,附录中会有一些关于本文的可视化工具的使用示例。

第二章 相关研究工作

2.1 交通流量预测算法研究的演变

在结合现有研究[^Suvery1]以及在相关领域学习社区[^Github1]和自身深入调研的基础上,本文从以下几个角度回顾交通预测算法研究的演变:传统时序预测方法、基于深度学习的时序预测方法和基于深度学习的时空预测方法的优缺点。

(1) 传统时序预测方法

交通路网中节点的交通流量,随着固定时间间隔分布形成交通流量序列。因此经典 时间序列预测方法被广泛应用于交通预测任务中。
历史平均值法,该方法设定固定大小的窗 口值,通过对窗口内交通流量历史值取平均,预测下一时刻交通流量数值。窗口数值的设定会影响到预测精度。
差分自回归移动平均法,也称 ARIMA 方法。ARIMA 方法将特定时段内的序列 视为一般的非平稳序列,结合自回归与移动平均两种用于模拟平稳时间序列的思路,并 通过差分方式对非平稳序列进行转化,在时间序列预测领域应用广泛。但用于参数估计的数据存在遗漏,且模型初始化过程复杂。
向量自回归方法 (Vector Autoregression)也称 VAR 方法,是另一种常用时间序列预测模型,能够模拟 样本变量间的线性关联,VAR 方法将系统中单独变量, 作为所有变量序列滞后值的函数进行构造,并在预测值生成过程中加入误差项,从而将 单变量自回归方法推广到多变量序列中。VAR 方法并不需要变量间关联的详细先验, 只需满足变量间存在关联的假设即可,并且在预测过程中,具备描述变量间线性相关性 的能力。以上时间序列方法因其计算效率高,且能够适用于各类场景,在交通预测领域 得到广泛应用。

缺点:
然而此类方法只能刻画交通流量数据中存在的线性时间空间关联,对于更为复杂的非线性时间空间关联无法刻画,使得预测精度受到限制。

(2) 基于深度学习的时序预测方法

深度学习方法 在历史数据充足的条件下,具有强大的拟合能力,能够模拟更为复杂的时空关联,因此 相较于传统时间序列方法具有更高的预测精度。
循环神经网络(RNN)考虑多个时刻输入数据间的时序关联,将前一时刻的输入信息进 行处理并保留至当前信息的运算中,为神经网络赋予了“记忆”功能,在时序预测,语音识别,文本翻译等任务中应用广泛。
长短期记忆网络(LSTM)是循环神经网络的变体,通过三种门控组合的方式,使得输入数据中的 长期时序依赖得以保留,增强了 RNN 时序关联的描述能力。
LSTM 同样存在变体,其 中常用变体为门控循环单元(GRU)。GRU 在保留数据长 期依赖的同时,简化了 LSTM 方法的门控结构,在确保预测精度的同时运算效率得到提 升。

RNN 结构及其变体,在连续输出多步预测值时,使用前一时刻预测值作为下一 时刻输入,造成一定程度误差积累。卷积神经网络(CNN)作为时序关联模拟方式,同样被广泛应用于交通流量预测任务。CNN 同时生成多步预测值,避免产生误差积累,且网络结构相对于 LSTM 和 GRU 方法更为简洁。

缺点:
上述方法专注于交通数据中存在的时序关联,但忽略了交通场景下,不同位置间的交通流量存在空间关联。例如上游车道发生堵塞,邻近的下游道路车流量会随之改变。

(3) 基于深度学习的时空预测方法

近几年来,交通流量预测领域的深度学习模型,多基于时间关联与空间关联结合的方式进行建模,以描述交通数据中的复杂时空关联,取得更高的预测准确率。DeepST[^DeepST] 方法将特定区域大小的交通场景视为规则的二维网格,通过二维卷积神经网络与残差单元结合的方式,模拟二维网格中,邻近子区域流入与流出的相互影响。在时序建模方面,构建邻近性、周期性和趋势性三个分 支。分别使用相同结构的残差卷积模块进行运算,将运算结果加权求和,以融合时序。一些方法通过 LSTM 模型进行时序建模,结合二维 CNN 模型模拟空间关联,并将外部特征如天气等信息融入预测模型中,取得了不错的交通流量预测准确率。

缺点:
传统的二维 CNN 方法在模拟空间关联时,将交通场景作为规则二维网格进行运算, 场景中各个子区域的邻接关系相同。在流量预测任务中,网格大小的选取会对预测任务 产生影响。网格过大则对不同位置的分辨能力弱。网格过小则计算开销增大。并且实际交通场景中,路网不同位置间的空间关系,更接近由多个节点与连接边组成的图结构(非欧几里得结构)。

(4) 基于时空图网络的交通流预测方法

对于图结构条件下空间关联的模拟,通常采用图卷积方法,其核心思路为根据图结构中邻居节点的状态来更新目标节点的状态。常用图卷积方式有聚合邻近节点信息的空间域图卷积,以及将傅里叶变换推广到图数据中,结合拉普拉斯矩阵进行计算的频域图卷积,可统称为图卷积网络(GCN)。 STGCN[^STGCN] 方法使用一维门控 CNN 模拟时序关联,使用图卷积方法模拟空间关联。将两种卷积网络构建为时空卷积模块,并堆叠多个时空卷积模块预测路网交通流量。在此基础上改进的 ASTGCN方法,在一维时序卷积与图卷积模型的基础上,增加的注意力 模块,用于更好地捕捉不同时刻、不同位置及相同位置不同序列间的相关性。DCRNN 方法将交通图数据中的空间依赖建模为扩散过程,通过扩散卷积(Diffusion Convolution)模拟空间关联,并基于 LSTM 模型构建序列编码解码结构,将时空关联相结合,是目前同类方法中预测准确率较高的方法之一。STSGCN 方法提出了构建时空 图的方法。将当前时刻、前一时刻及后一时刻的图数据进行融合,构建出同时包含时空 特征的“时空图”,并使用图卷积方法提取时空图中的隐含时空模态,并通过实验显示 出该方法在时空图网络预测问题上的有效性。

2.2基于MLP建模的交通流预测算法分析

2.2 基于图神经网络的交通流预测算法分析

通常时空图神经网络以多变量时序数据和外部图结构作为输入,预测时序数据的未来值或标签。相较于未利用结构信息的方法,能够取得较大提升。但是,该方法仍然存在两个方面的挑战:

  1. 未知的图结构
    使用图神经网络建模时序预测任务时,大多依赖于预定义的图结构。但是,大多数情况下,多变量时序预测是没有明确的图结构,需要从数据中去学习变量之间的关系(图)。
  2. 图结构与图神经网络共同学习
    现有方法大多专注于如何设计合适的图神经网络结构,却忽略了有时图结构(通常为邻接矩阵)有可能不是最优的,也需要在训练中优化。因此,对于时序问题,如何在一个end2end的框架下同时学习图结构和图神经网络是一个问题。

可以通过设计图学习模块自动提取变量之间的单向关系,将诸如变量属性之类的外部知识整合到其中。同时设计其他连接结构,以捕获时间序列内的空间和时间依赖性。这种方案创新性等级比较高,且真的要做好了很难;举例分析:

  • Connecting the dots: Multivariate time series forecasting with graph neural networks[^MTGNN]

1,图学习层。非常多的工作使用欧式距离或者 kNN 进行构图,缺点就是计算复杂度达到 $O(N^2)$,因此论文中采用了节点子集来计算节点对间单项的关系。

2,图卷积模块。主要包含两步:信息传播和信息选择。信息传播层首先横向传播信息然后纵向来选择信息,主要是为了防止过平滑但同时保留初始节点特征设计的。

3,时间卷积模块。这个模块主要是用了两个 1D Dilated Inception Layer 来提取时序特征,两个 layer 区别在于:tanh 函数分支为滤波器,sigmoid 分支为门电路控制信息权重。

4,输出模块。给定 1D 输入序列$z\in R^T$和不同大小的卷积核,每个卷积层的输出进行拼接,然后与滤波器输出进行卷积得到最后 TC module 的输出,为了训练更深的模型作者还添加了残差连接。

基于Transformer网络的交通流预测是近年来的热点研究领域,它利用Transformer模型的强大能力来捕捉时间序列数据中的长期依赖关系,以提高交通流量、交通速度等交通状态预测的准确性。Transformer模型最初在自然语言处理(NLP)领域取得了巨大成功,随后被广泛应用于其他序列数据的任务中,包括交通流预测Transformer模型的基本特点:

  • 自注意力机制(Self-Attention):Transformer通过自注意力机制能够捕获序列中任意两点之间的依赖关系,这对于理解交通流中的复杂动态特别有用。
  • 并行处理:与传统的递归神经网络(RNNs)不同,Transformer能够并行处理整个序列,显著提高了计算效率。
  • 可扩展性:Transformer模型可以通过增加层数来轻松扩展,以捕获更复杂的序列依赖关系。

尽管基于Transformer的交通流预测模型在准确性和效率上有明显优势,但仍面临一些挑战:

  • 计算资源要求高:Transformer模型尤其是大型模型,对计算资源的要求较高,可能限制其在资源受限的环境中的应用。
  • 模型解释性:与其他一些深度学习模型相比,Transformer模型的解释性较差,这可能会影响其在某些实际应用中的接受度。
  • 超参数调整:Transformer模型中有大量的超参数需要调整,这可能会增加模型训练的难度和时间。

近期的研究工作在解决上述挑战方面取得了进展,包括开发轻量级Transformer模型以降低计算资源要求,以及引入新的技术和方法来提高模型的可解释性和优化超参数的调整过程。

第三章 时空建模与实现

3.1 引言

在本研究中,我深入探讨了多变量时间序列(MTS)预测问题,并针对样本在空间和时间上的不可区分性问题提出了一种创新性解决方案。我的方法综合了附加时空信息(Spatial-Temporal Identity, STID)[^STID],自适应特征融合(Adaptive Feature Fusion, AFF),动态权重调整(Dynamic Weight Adjustment, DWA),进一步提升了预测的准确性和模型的泛化能力。此外,我引入了月内周期编码(Monthly Cyclical Encoding, MCE),以增强对时间序列中周期性变化的感知能力。

3.2 模型架构设计

3.3 自适应特征融合设计与实现(Adaptive Feature Fusion, AFF)

自适应特征融合旨在动态调整不同特征之间的融合权重,为每个样本生成更为准确和个性化的特征表示。设$x_i$和$x_j$分别表示样本$i$和$j$的特征向量,$f(x_i, x_j)$表示融合函数,我定义AFF如下:

$$
AFF(x_i, x_j) = \alpha_i \cdot x_i + (1 - \alpha_i) \cdot x_j\tag{3-1}
$$

其中,$\alpha_i$是一个根据样本内容自适应调整的权重,其值通过一个小型神经网络根据输入样本自动计算得到,以实现特征之间的动态融合。

3.3 动态权重调整设计与实现(Dynamic Weight Adjustment, DWA)

为了应对不同阶段可能需要重视不同信息的情况,我引入了动态权重调整机制。假设模型在时间$t$的输入为$x_t$,空间信息为$s$,时间信息为$d$,模型的输出为$y_t$,则DWA可以数学表示为:

$$
y_t = M(x_t, \beta_t \cdot s + (1 - \beta_t) \cdot d)\tag{3-2}
$$

其中,$M$表示预测模型,$\beta_t$是一个动态调整的权重,根据模型在训练过程中的性能自动调整,以平衡空间信息$s$和时间信息$d$的重要性。

3.4 月内周期编码设计与实现(Monthly Cyclical Encoding, MCE)

为了进一步提升模型对时间序列预测的能力,我引入了月内周期编码(MCE)。MCE为模型提供了每个样本所属月份的具体周信息,使模型能够区分同一月份内不同周的数据,从而更好地捕捉周期性变化。

数学表达与实现
  1. 编码矩阵定义:
    定义编码矩阵$E^{MCE} \in \mathbb{R}^{W_m \times D}$,其中$W_m$代表一个月中的最大周数,$D$代表编码的维度。
  2. 样本编码过程:
    对于每个样本,根据其时间戳确定它属于当月的第几周$w$,然后从$E^{MCE}$中检索相应的编码向量$E^{MCE}_w$。
  3. 模型输入整合:
    将MCE向量与其他时空特征一同作为模型输入,提供一个综合的时空特征表示。

第四章 实验设计与分析

4.1 模型训练与评估

模型的评估采用了均方误差(MSE)、均方根误差(RMSE)和平均绝对误差(MAE)等指标,以全面评价预测性能,这些指标的定义及计算如下:误差(Error):预测值减去真值。可以表示为$y_i - \hat{y}_i$,范围(-∞,+∞)如果预测值高于实际值,那么误差为正,若低于实际值,则误差为负。

(1)平均绝对误差(Mean Absolute Error)

即观测值与真实值的误差绝对值的平均值,具体公式如下:
$$
\text{MAE} = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i|\tag{3-3}
$$
(2)均方根误差(Root Mean Square Error)

即均方根误差是均方误差的算术平方根,具体公式如下:
$$
\text{RMSE} = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}i)^2}\tag{3-4}
$$
(3)平均绝对百分比误差(Mean Absolute Percentage Error)
具体公式如下:
$$
\text{MAPE} = \frac{1}{n} \sum
{i=1}^{n} \left| \frac{y_i - \hat{y}_i}{y_i} \right| \times 100\tag{3-5}
$$

4.2 实验设计与结果分析

实验部分,我首先在标准的时间序列预测数据集(如PEMS-BAY、PEMS04、PEMS07、PEMS08)上验证了我模型的有效性。我比较了STID,STGCN在内的多个现有的时空图神经网络方法和我的模型。

通过精心设计的实验,我发现:

  • 在空间上的不可区分性问题上,通过附加的空间信息和自适应特征融合机制,我的模型能够更准确地区分来自同一时间但不同空间的相似样本,从而提高了预测准确性。
  • 在时间上的不可区分性问题上,通过引入时间信息和动态权重调整机制,模型能够更有效地处理来自同一空间但不同时间的相似样本,提升了模型对时间变化的适应能力。
  • 在牺牲一定的时间成本下,增加月内周期编码能够使得模型学习到更多的特征,从而获得更好的预测准确率。

实验结果表明,我的模型在多个数据集上都达到了优于或至少可比的性能,证明了我方法的有效性和创新性设计的合理性。

4.3 实现总结

本研究通过重新审视MTS预测问题,并针对样本在空间和时间上的不可区分性问题,提出了一种包含自适应特征融合、动态权重调整和时间序列增强学习的创新性解决方案。我的方法不仅简单易实现,而且在多个标准数据集上展示了卓越的预测性能。

在未来的工作中,我计划进一步探索这一方法在更广泛的时间序列预测任务中的应用,包括但不限于金融市场分析、气象预测和能源需求预测等。此外,我还将考虑更多种类的数据增强技术和特征融合策略,以进一步提升模型的泛化能力和预测准确性。

第五章 VisuaTraffic Suite工具设计与实现

5.1 概述

本章介绍VisuaTraffic Suite工具的设计和实现,该工具旨在提供交通数据的可视化展示。工具支持交通流折线图、节点图以及训练结果的可视化,以辅助交通数据分析和研究。

5.2 系统设计

VisuaTraffic Suite采用模块化设计,主要包括以下几个部分:

5.2.1 架构简介

工具使用现代Web技术栈,后端基于Python和Dash框架,前端采用React技术。这种架构提供了良好的用户交互体验和高效的数据处理能力。

5.2.2 功能模块

  • 交通流折线图模块:分析并展示交通流量随时间的变化情况。
  • 节点图模块:展示不同交通节点间的关系和流量分布。
  • 训练结果展示模块:展示基于交通数据训练的模型结果。

5.3 实现概要

每个模块的实现细节如下:

5.3.1 交通流折线图

使用Plotly库绘制折线图,代码如下:

1
2
3
4
5
import plotly.express as px

def plot_traffic(data):
fig = px.line(data, x='Time', y='Flow', title='Daily Traffic Flow')
fig.show()

5.3.2 节点图

使用Dash和Plotly的图形功能绘制节点间的连线图。

5.3.3 训练结果展示

利用Dash提供的交互式图形界面展示模型的训练和预测结果。

5.4 应用示例

本节通过一个实际例子展示如何使用VisuaTraffic Suite来分析交通流量数据。用户可以通过简单的界面选择数据集和分析类型,系统将自动处理数据并展示结果。

5.5 总结

VisuaTraffic Suite作为一个交通数据可视化工具,在数据分析和交通研究中显示了极大的潜力。未来的工作将包括增加更多的数据分析功能,优化系统性能,并改进用户交互设计。

尽管已取得显著进展,但我认为出几个关键领域仍需改进。未来的工作计划和改进措施包括:

  • 数据集扩充:针对数据集规模限制,将通过合成技术和时间序列增强手段扩充数据集,增加样本多样性。
  • 模型优化:考虑到现有模型复杂度高,将进行结构简化和参数优化,以减少训练成本,提高效率。
  • 周期性模式分析深化:继续研究先进的周期性和季节性模式分析方法,以提升模型对复杂周期变化的捕捉能力。
  • 全面实验与对比:执行更多实验,与其他模型进行综合对比,如Graph WaveNet、AGCRN、StemGNN、GMAN等,确保本研究方法的竞争力。
  • 可视化工具开发:开发了用于分析模型处理时间和空间不可区分性的初步可视化工具,以便更直观地理解模型的性能。

通过这些措施,以期望在未来几个月内显著提升项目成果,并为时间序列预测领域提供有价值的见解。

表5-2:后续工作计划

第六章 总结与展望

技术和开发环境

  1. 开发和调试工具:

    主要开发和调试工具:Visual Studio Code(v1.85.0),PyCharm 2023.2.5 (Professional Edition)

    主要远程文件传输和交互工具:Xftp 7(Build 0137),Xshell 7(Build 0140)

  2. 编程语言和依赖库:

    编程语言及版本:Python3.9

    主要依赖库:PyTorch 1.10.0, EasyTorch1.2.10和conda 23.10.0等,可以使用类似如下pip命令一键安装:

$pip install torch==1.10.0+cu111 torchvision==0.11.0+cu111 torchaudio==0.10.0 -f https://download.pytorch.org/whl/torch_stable.html$

  1. 硬件环境:

     实验中使用了一台配备5块 NVIDIA TITAN RTX  GPU(24GB显存)的工作站。我使用的CUDA版本为 12.1,GPU驱动版本为 530.41.03。在实验中,我一般使用GPU:0和GPU:1进行计算。
    
     主机操作系统为Windows10系统,服务器系统为Ubuntu 16.04.6 LTS
    

参考文献

[^1]: 李珺 赵伟 (2024年01月11日). 去年全国机动车保有量达4.35亿辆 驾驶人达5.23亿人. 央视新闻. URL
[^2]: Y. Lin, P. Wang and M. Ma, “Intelligent Transportation System(ITS): Concept, Challenge and Opportunity,” Beijing, China, 2017, pp. 167-172.
[^GCN]:Kipf T N, Welling M. Semi-Supervised Classification with Graph Convolutional Networks[C]//International Conference on Learning Representations. 2016.
[^STGCN]:Yu B, Yin H, Zhu Z. Spatio-Temporal Graph Convolutional Networks: A Deep Learning Framework for Traffic Forecasting[C]//Proceedings of the Twenty-Seventh International Joint Conference on Artificial Intelligence. International Joint Conferences on Artificial Intelligence Organization, 2018.
[^STID]: Shao Z, Zhang Z, Wang F, et al. Spatial-temporal identity: A simple yet effective baseline for multivariate time series forecasting[C]//Proceedings of the 31st ACM International Conference on Information & Knowledge Management. 2022: 4454-4458.
[^DCRNN]:Li Y, Yu R, Shahabi C, et al. Diffusion convolutional recurrent neural network: Data-driven traffic forecasting[J]. ICLR, 2018.
[^DeepST]: J. Zhang, Y. Zheng, and D. Qi, “Deep Spatio-Temporal Residual Networks for Citywide Crowd Flows Prediction”, AAAI, vol. 31, no. 1, Feb. 2017.
[^STGCN]: Yu B, Yin H, Zhu Z. Spatio-temporal graph convolutional networks: A deep learning framework for traffic forecasting[J]. arXiv preprint arXiv:1709.04875, 2017.
[^Graph WaveNet]:Wu Z, Pan S, Long G, et al. Graph wavenet for deep spatial-temporal graph modeling[J]. arXiv preprint arXiv:1906.00121, 2019.
[^Transformer]:Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[J]. Advances in neural information processing systems, 2017, 30.
[^Informer]:H. Zhou, “Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting”, AAAI, vol. 35, no. 12, pp. 11106-11115, May 2021.
[^LightTS]:Campos D, Zhang M, Yang B, et al. LightTS: Lightweight time series classification with adaptive ensemble distillation[J]. Proceedings of the ACM on Management of Data, 2023, 1(2): 1-27.
[^TiDE]:Das A, Kong W, Leach A, et al. Long-term forecasting with tide: Time-series dense encoder[J]. arXiv preprint arXiv:2304.08424, 2023.

[^Suvery1]:YAO Jun-feng, HE Rui, SHI Tong-tong, WANG Ping, ZHAO Xiang-mo. Review on machine learning-based traffic flow prediction methods[J]. Journal of Traffic and Transportation Engineering, 2023, 23(3): 44-67. doi: 10.19818/j.cnki.1671-1637.2023.03.003

[^Github1]:ddz16. (2024). TSFpaper: Awesome Time Series Forecasting/Prediction Papers [Source code]. GitHub. https://github.com/ddz16/TSFpaper
[^Dlinear]:Zeng A, Chen M, Zhang L, et al. Are transformers effective for time series forecasting?[C]//Proceedings of the AAAI conference on artificial intelligence. 2023, 37(9): 11121-11128.
[^MTS-Mixers]: Li Z, Rao Z, Pan L, et al. Mts-mixers: Multivariate time series forecasting via factorized temporal and channel mixing[J]. arXiv preprint arXiv:2302.04501, 2023.
[^TiDE]: Das A, Leach A, Sen R, et al. Long Horizon Forecasting with TiDE: Time-series Dense Encoder[J]. 2023.
[^MTGNN]: Wu Z, Pan S, Long G, et al. Connecting the dots: Multivariate time series forecasting with graph neural networks[C]//Proceedings of the 26th ACM SIGKDD international conference on knowledge discovery & data mining. 2020: 753-763.
[^PEMS]:https://dot.ca.gov/programs/traffic-operations/mpr/pems-source

致谢

外文资料原文

外文资料翻译