技术新讯 > 信号装置的制造及其应用技术 > 一种基于滑动窗口的跨局部时间的空间注意力机制的交通预测方法  >  正文

一种基于滑动窗口的跨局部时间的空间注意力机制的交通预测方法

  • 国知局
  • 2024-10-09 14:35:20

本发明属于智能交通预测领域,涉及一种基于滑动窗口的跨局部时间的空间注意力机制的交通预测方法,可用于对交通路网未来一段时间的交通状态进行预测。

背景技术:

1、智能交通预测对智慧城市中的智能交通管控具有重要意义。现代城市交通拥堵、交通事故等问题日益突出,影响城市的运行效率和居民的生活质量。因此,准确预测交通流量对于优化交通管理、提升城市运行效率具有重要意义。

2、复杂的时空相关性在交通预测中至关重要。交通流量受时间和空间因素的影响,考虑时空相关性对提高预测模型的准确性和稳定性,有效捕捉交通流量的演变规律。因此,充分挖掘时空相关性,对于交通预测的准确性具有重要意义。交通数据的空间相关性是动态的,一个空间节点的交通数据受历史周围节点影响,而当前时刻周围节点的交通特征对其不会产生影响。因此捕获一段时间序列内的跨时间的时空节点间的依赖关系是不可避免地。

3、交通预测是智能交通系统中的一个核心问题,在过去的几十年里引起了广泛的研究关注。在早期主要是传统方法,包括基于统计学的历史平均法、自回归移动平均模型等。这些方法在处理交通预测问题时常常假设数据呈现线性关系或独立同分布,难以捕捉交通流量复杂的非线性动态变化。机器学习方法的兴起,机器学习算法能够更好地处理非线性数据,并利用特征工程提高预测效果。例如,支持向量回归和k近邻算法等机器学习模型逐渐应用于交通预测。然而,机器学习方法需要手动选择和提取特征,且在处理大规模数据时可能面临过拟合和性能瓶颈等问题。深度学习具有强大的特征学习能力和非线性建模能力,能够从大规模数据中自动学习复杂的特征和模式。卷积神经网络、循环神经网络和图卷积神经网络等深度学习模型在交通预测中取得了显著成果。深度学习方法不需要手动提取特征,能够从原始数据中直接学习特征表示,因此具有更高的预测准确度和泛化能力,在交通流量预测方面取得了不错的成绩。

4、具体来说,用时空图来代替基于距离邻接矩阵的静态图来表示跨时间的空间依赖关系,表示为其中,vg表示所有时空节点的集合,|vg|=t×n,其中t为时间片数,n为交通网络节点数。eg表示时空域中的时空节点之间的潜在相关性。给定的原始流量数据为其中h为历史时间序列的长度,d为特征个数。给定h个时间片的历史流量数据,我们的目标是通过训练模型来预测未来p个时间片的流量

技术实现思路

1、本发明的目的是提供一种基于滑动窗口的跨局部时间的空间注意力机制的交通预测方法,通过嵌入时间周期性特征以及通过设计时间维度上的滑动窗口捕获跨局部时间的空间相关性来建模交通流量数据复杂的时间特征与空间特征,提高交通流量预测精度。

2、现有的基于深度学习的方法均将交通预测模型设计为复杂的融合网络,效率低下且可解释性差,未从交通流量预测的本质考虑问题,忽略了交通数据间真实的交互模式,在提高交通预测精度和效率上存在一些挑战。

3、本发明解决上述问题的技术方案如下:一种基于滑动窗口的跨局部时间的空间注意力机制的交通预测方法,其特征在于:利用滑动窗口动态空间注意力模块获取交通流量数据的跨局部时间的空间特征;利用堆叠的多层时间自注意力机制作为时间编码器获取交通流量数据的时间特征;通过对输入数据进行周期性数据嵌入结合时间编码器建模时间周期性特征。

4、本发明提供的这种基于滑动窗口的跨局部时间的空间注意力机制的交通预测方法,过程如下:

5、步骤一:获取原始交通数据集并对数据进行预处理,按照6:2:2的比例划分得到训练集、验证集和测试集,分别用于模型的训练、验证和测试。

6、步骤二:基于时间嵌入层、滑动窗口动态空间注意力模块、时间编码器以及卷积输出层等构建交通流量预测模型。

7、步骤三:利用步骤一得到的训练集和验证集,对步骤二建立的交通流量预测模型进行训练。通过反复调整模型的参数,利用优化算法来最小化损失函数,逐步降低预测误差。

8、步骤四:使用步骤三训练完成的交通流量预测模型,在步骤一得到的测试集上进行模型推理。通过将测试集的预测结果与实际观测值进行比较,来客观评估模型的预测性能。采用评估指标包括平均绝对误差(mae)、平均绝对百分比误差(mape)和均方根误差(rmse)。

9、步骤一所述的交通数据预处理,具体过程如下:

10、(1)搜集目标区域的交通数据,这些数据由交通数据采集设备采集。对原始交通数据进行清理,排除可能存在的重复记录、错误数据或异常数据,以确保数据的准确性和完整性。然后,将数据处理成一个大小为n×t的交通流量矩阵,其中n代表交通路网中数据采集点的数量,t代表时间片的数量。

11、(2)采用线性插值方法对(1)中获取的交通流量矩阵中的缺失值进行填补,以确保后续的分析和建模不受影响。然后对交通流量矩阵进行标准化处理,生成标准化的交通流量矩阵。

12、(3)将(2)中得到的标准化交通流量矩阵划分成训练集、验证集、测试集。具体地,采用的比例为60%的数据用于训练,20%用于验证,20%用于测试,确保模型的训练、调优和评估。

13、步骤二所述的基于时间嵌入层、滑动窗口动态空间注意力模块、时间编码器以及输出层等构建交通流量预测模型具体如下:

14、交通流量预测模型包括:时间周嵌入层、滑动窗口动态空间注意力模块、时间编码器以及融合时空信息的卷积输出层。时间嵌入层用于建模交通数据的周期性特征,帮助模型更好理解时间的影响;滑动窗口动态空间注意力模块用于捕获跨局部时间内的空间特征;然后通过堆叠多个时间自注意力层作为时间编码器结合嵌入的周期数据捕获空间节点自身的时间特征;最后使用一个卷积输出层对所有交通节点未来p个时间步的交通流量进行预测。其中,p为目标预测时间步长。时间嵌入层、滑动窗口动态空间注意力模块、时间编码器以及基于卷积神经网络的输出层。预测过程如下:

15、将预处理后的原始交通数据输入到时间嵌入层添加周期信息嵌入,随后将带有周期嵌入的数据输入到滑动窗口动态空间注意力模块提取跨局部时间的空间特征,随后利用时间编码器对时间特征进行捕获,最后将时间编码器的输出与滑动窗口动态空间注意力模块的输出送入卷积输出层进行融合得到预测结果。

16、步骤二所述的时间嵌入层建模交通数据的周期性特征,过程如下:

17、在时间嵌入层中引入两个嵌入向量来表达交通流数据的周周期和日周期,分别经过嵌入操作处理后,将得到的周周期嵌入数据和日周期嵌入数据与经过线性变换到嵌入特征维度的原始数据进行相加融合作为模型其他模块新的输入,如式(1)所示。

18、xinput=xorigin+xd+xw   (1)

19、xorigin=linear(x)   (2)

20、xd=embedding(x[:,:,fdim]·tmin)   (3)

21、xw=embedding(x[:,:,fdim+1:fdim+8]·tday)   (4)

22、其中xorigin是数据预处理后经过线性映射得到的与嵌入数据特征维度相同的交通流矩阵,xd为嵌入日周期的特征矩阵,xw是嵌入周周期的特征矩阵,x是经过预处理得到的原始交通流矩阵,fdim=1表示日周期的特征位置索引,tmin是一天的分钟数,tday是每周的天数,embedding(·)表示嵌入操作,linear(·)是线性变换操作,xinput是时间嵌入层的输出作为后续特征提取模块的输入。

23、步骤二所述的滑动窗口动态空间注意力模块提取交通流量的跨局部时间的空间相关性信息,过程如下:

24、将时间嵌入层输出的带有时间周期性特征的交通流量序列数据输入到滑动窗口动态空间注意力模块,首先将数据xinput在时间维度上利用滑动窗口对输入的交通矩阵进行分块得到多个局部时间交通流矩阵块,具体来说通过一个窗口大小为sw的滑动窗口以步长1在时间维度上进行切分得到多个局部时空矩阵,每个矩阵都保留了一段时间的时空特征,如式(5)。

25、

26、j=0,1,2,..,6

27、其中,sw是滑动窗口的大小,即局部历史数据长度,[:]表示切片操作,是滑动窗口得的局部时间的交通矩阵,d为流量数据特征通道数,n为静态交通节点数。

28、对于每个局部时间交通矩阵首先利用利用一个特征转换操作将三维的向量转成二维的局部时空矩阵,二维矩阵的第一维保存了不同时间不同空间的时空节点,第二维表示每个时空节点的交通特征,如式(6)。

29、

30、其中n'=n×sw表示局部时空矩阵的时空节点数,表示一个二维局部时空矩阵,trans(·)表示维度变换操作。

31、对于每一个经过变换的二维局部时空矩阵分别用三个线性变换得到局部查询向量、局部键向量和局部值向量,再用自注意力机制得到跨局部时间的空间特征表示xsub,其跨时间的空间信息聚合过程如式(7)。

32、

33、

34、

35、

36、其中是一个局部时空矩阵的跨时间的空间注意力操作的输出,qlocal,klocal和分别为局部时空信号的查询矩阵、键矩阵和值矩阵。fc1,fc2和fc3代表三个不同的全连接层,softmax(·)为激活函数。

37、每个局部时空块经自注意力操作后得到的交通矩阵首先将维度从二维转换到三维,然后对所有局部交通矩阵按照滑动窗口的切分位置,处于相同时间片位置的元素进行相加,即对j个局部交通矩阵按时间片对应位置错位相加,以融合不同局部的跨时间空间相关性,如式(11)。

38、

39、其中表示跨局部时间的空间特征矩阵,表示按时间片位置在时间维度上的错位相加操作,xout是跨局部时间的空间注意力层的输出。交通特征经过多层注意力层计算捕获跨局部时间的空间相关性。且层与层之间进行残差连接和归一化最终得到输出xout,如式(12)。

40、xout=attlayer(xout)+xout    (12)

41、其中,attlayer(·)表示注意力层的操作,是滑动窗口动态空间注意力模块的输出,h是历史数据长度,n是空间节点数,d是特征维数。

42、步骤2所述的采用时间编码器捕获时间相关性信息,具体如下:

43、时间编码器中利用时间注意力机制捕获时间相关性,时间编码器由多个多头时间注意力层串联构成,且在每层之间都有残差连接与归一化操作。并且输入时间编码器的查询向量与键向量由时间嵌入层得到的具有时间周期性特征的数据经过线性变换得到,而值向量由滑动窗口动态空间注意力模块的输出经卷积操作得到。

44、qt=linear(xemb)   (13)

45、kt=linear(xemb)   (14)

46、vt=conv(xst)   (15)

47、其中xemb表示时间嵌入层的输出,xst是滑动空间注意力模块得到的跨局部时间的空间特征,qt、kt和vt分别是时间注意力层的查询向量、键向量和值向量,linear(·)和conv(·)分别表示线性变换和卷积操作。

48、时间编码器在时间维度采用多头注意力机制捕获时间相关性,如式(16)所示。

49、attmh=head1+head2+…+headh   (16)

50、

51、其中qt∈rh×n×d、kt∈rh×n×d、vt∈rh×n×d分别表示时间维度的查询向量、键向量与值向量,headi是第i个头的输出,linear(·)表示线性变换,d为特征维度,softmax(·)是非线性激活函数,attmh即为多头注意力层的输出矩阵。

52、将attmh∈rn×t×d添加残差连接与归一化后输入下一层注意力层深度捕获交通序列的时间相关性,经过多层计算后即为时间编码器的输出。

53、步骤2所述的使用卷积输出层来融合时空相关性信息,具体如下:

54、经过时间嵌入层、滑动窗口动态空间注意力模块、时间编码器后本发明的卷积输出层首先将时间编码器的输出在时间维度上进行一维卷积对时间特征进行线性变换,然后对其在特征维上进行线性变换操作降低特征维大小后与滑动空间注意力模块的输出在特征维上进行拼接最后利用一个线性层得到未来12步的交通预测结果,卷积输出层的过程如下式。

55、xt=convf(convt(xt))    (18)

56、y=linear(concat(xt,xst))   (19)

57、其中,xt为时间编码器输出的交通流量矩阵,xst是滑动空间注意力模块的时空特征矩阵,y为模型的预测值,convt、convf分别表示在时间维和特征维的卷积操作,linear(·)表示线性变换操作,concat(·)表示拼接操作。

58、步骤3所述的将训练集、验证集输入交通流量预测模型进行训练,具体过程如下:

59、训练过程中采用l1损失函数进行损失计算,采用adam作为优化器;

60、训练过程中将训练集输入交通流量预测模型中,通过反向传播算法计算损失函数对模型参数的梯度,然后利用选定的优化器来更新模型参数,使损失函数逐渐减小;

61、训练过程中在每个训练周期结束后,使用验证集评估模型的性能。

62、步骤4:所述的采用步骤3训练后的交通流量预测模型对步骤1中的测试集进行交通流量预测并评估,具体如下:

63、首先将交通流量预测模型的模式从训练模式修改为评估模式;

64、交通流量预测模型加载训练过程中保存的最佳参数模型,并将测试集中的数据输入模型进行交通流量预测并采用mae、rmse和mape进行评估并保存预测出的流量数据。

65、本发明中提出的交通流量预测模型使用滑动窗口动态空间注意力模块捕获跨局部时间的空间相关性,将日周期和周周期数据嵌入到交通流中结合时间编码器充分捕获每个节点自身的时间相关性。滑动窗空动态空间注意力模块通过自定义的窗口大小以及矩阵变换灵活的捕获到局部时间内各时空节点之间的跨时间的空间依赖关系,时间编码器所采用的自注意力机制能够捕获序列数据的长期依赖,从而使得该模型在长期预测方面相比其他预测模型更具优势,对周期性显式建模也使得该模型对于交通流量的周期性更加敏感,提高了预测精度。

本文地址:https://www.jishuxx.com/zhuanli/20241009/305764.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。