一种基于时空图神经网络的时间序列数据预测方法

文档序号:29912362发布日期:2022-05-06 01:49阅读:295来源:国知局
一种基于时空图神经网络的时间序列数据预测方法

1.本发明涉及深度学习、时空预测以及图神经网络的技术领域,尤其涉及一种基于时空图神经网络的时间序列数据预测方法。


背景技术:

2.时空预测是当前人工智能研究的一大热点,针对时空数据的气象预报、洪水预报、股票预测等在日常生活和生产中得到了广泛应用,尤其是在智能交通系统(its)领域中交通预测得到了广泛的应用。
3.近年来,随着图神经网络的蓬勃兴起,其在交通预测中的应用取得了一定的进展。例如stgcn、astgcn、graph wavenet和stsgcn等网络均使用图神经网络来构建空间和时间模型,捕捉各自时间序列数据的时间和空间特征。在网络进行特征提取时,分别使用空间和时间邻接矩阵来表示不同节点之间时间和空间的联系,再进行图卷积操作,最后输出预测结果。然而,现有的方法和模型都有其局限性:(1)日益复杂的道路交通结构给提取空间特征带来了难度;(2)单独生成时间和空间的邻接矩阵来捕捉节点特征忽视了节点之间时间和空间上的联系;(3)交通流数据复杂多变,对于同步、动态地捕捉它们的全局特征是非常困难。
4.目前在时空预测方面,由于数据量大、准确度和实时性要求高,现有的网络模型和邻接矩阵特征提取方法并不适用。
5.所以需要一个新的技术方案来解决这些问题。


技术实现要素:

6.发明目的:为了克服现有的深度学习网络难以对时间序列数据做到快速精准的预测的问题,提供一种基于时空图神经网络的时间序列数据预测方法,以解决时空预测任务中的数据量大、实时性要求高、准确性要求高的特点。
7.技术方案:为实现上述目的,本发明提供一种基于时空图神经网络的时间序列数据预测方法,包括如下步骤:
8.s1:传感器采集道路车流量数据,对数据进行预处理,生成对应的时间序列数据;
9.s2:根据传感器不同的地理位置提取传感器的空间特征来生成输入特征,使用时间相似度算法来捕捉不同时间序列数据之间潜在的时间特征,从而生成时间相似矩阵;
10.s3:将时间相似矩阵映射到全局,生成全局时空相关邻接矩阵,再进一步生成组合时空相关邻接矩阵;
11.s4:通过设定不同的时间步长,对输入的时间序列数据的时间长度进行截取,再将输入特征与组合时空相关邻接矩阵送入对应的堆叠后的图卷积层进行特征提取,使用huber损失函数进行反向传播训练模型;
12.s5:使用训练好的模型预测下一时间段的时间序列数据,根据预测得到的时间序列数据,输出下一时间段的车流量分布情况并汇总全天的车流量分布。
13.进一步地,所述步骤s1具体为:
14.a1:在不同的道路口设定传感器来采集一个时间段内通过该段路程的车辆数统计,将数据进行保存,保存的文件中包括采集的初试时间、终止时间和车辆数统计;
15.a2:对原始数据进行预处理,生成时间序列数据向量集合v=(v1,v2,

vn),其中vf(f=1,2,

,n)为第f个传感器采集到的这个月通过的车辆数统计,n为所用的传感器总数。
16.进一步地,所述步骤s2具体为:
17.b1:每个传感器的编号与它们所在公路编号一致,并且每个传感器的编号都是独一无二的,通过这些编号进一步生成它们的输入特征x;
18.b2:对于来自时间序列数据向量集合v=(v1,v2,

vn)中的任意两条时间序列数据vi和vj,计算出它们的时间相似度;
19.b3:根据计算得出的时间相似度结果,筛选出相似度最高的两条时间序列数据;
20.b4:在时间序列数据向量集合v中任取一条时间序列数据记为va,其中a表示该条时间序列数据在时间序列数据向量集合v中的坐标,当i=a时,求得与va相似度最高的时间序列数据vb,构建时间相似矩阵m
sim
,时间相似矩阵m
sim
中(a,b)坐标位置的元素设置为1,遍历整个时间序列数据向量集合,完成m
sim
的构建。
21.进一步地,所述步骤b2中通过公式(1),公式(2)和公式(3)计算出时间相似度:
[0022][0023][0024]
式中,m表示时间间隔数,m表示时间间隔的总数,m的取值范围从1到m,v
(i,m)
为第i条时间序列数据向量中的第m个时间间隔内统计的车辆数,v
(j,m)
为第j条时间序列数据向量中的第m个时间间隔内统计的车辆数,表示第i条时间序列数据向量的车辆数的平均值,表示第j条时间序列数据向量的车辆数的平均值;
[0025][0026]
式中,correlation(vi,vj)表示vi,vj之间的时间相似度。
[0027]
进一步地,所述步骤b3中用式(4)筛选出相似度最高的两条时间序列数据:
[0028]
max{correlation(vi,vj)}#(4)
[0029]
式中,max表示求最大值计算。
[0030]
进一步地,所述步骤s3具体为:
[0031]
c1:将地理位置相邻的传感器在矩阵中用1表示,0则表示它们不相邻,从而得到对应的邻接矩阵a;
[0032]
c2:使用与邻接矩阵a相同大小的单位矩阵m
con
来进一步表示每个传感器之间潜在的时间和空间的联系;
[0033]
c3:将邻接矩阵a、单位矩阵m
con
和时间相似矩阵m
sim
进一步融合生成全局时空相关邻接矩阵a
cor

[0034]
c4:使用两个全局时空相关邻接矩阵a
cor
来生成组合时空相关邻接矩阵a
cor
·
group
,从而进一步扩大时间序列数据的时空特征提取范围。
[0035]
进一步地,所述步骤s4具体为:
[0036]
d1:以5分钟为一个时间间隔,将一小时平均分成12个时间间隔;
[0037]
d2:通过设定时间步长,通过公式(5)依次按12、9、6的时间间隔来截取输入特征x里的时间序列数据,生成3种不同时间间隔的时间序列数据切片:
[0038][0039]
式中,h表示图卷积层,l表示层数,l的值为3,input表示输入,output表示输出,表示第l层图卷积层的输入,表示第l-1层图卷积层的输出,t为时间间隔总数,t的值为12,k为组合时空相关邻接矩阵a
cor
·
group
的尺寸大小,k的值为4,d为时间序列数据的片段数,d的值为0、1、2,c为提取的特征数,c的值为3,r表示实数集,[:]表示截取该维度下的所有元素,[:,0:t-l
×
(k+1),:,:]表示取第1维度下第0个到第t-l
×
(k+1)个的所有元素;
[0040]
d3:根据不同的时间序列数据切片将图卷积层进行堆叠,将截取的时间序列数据片段和组合时空相关邻接矩阵a
cor
·
group
送入对应的堆叠后的图卷积层中进行特征提取,用公式(6)来表示每个图卷积层的操作:
[0041]
stcgnnh(
(l-1)
)=h
l
=σ(a
cor
·
groouph(l-1)
w+b)#(6)
[0042]
式中,w为图神经网络的权重学习参数,b为图神经网络的偏置参数,σ表示relu激活函数,stcgnn表示时空相关的图神经网络,stcgnn(h
(l-1)
)表示时空相关的图神经网络第l-1层图卷积层的状态;
[0043]
d4:使用堆叠后的图卷积层对时间序列数据片段进行特征提取操作,将图卷积层最后一层的输出结果拼接起来,从而形成一个新的时间序列数据u;
[0044]
d5:根据公式(7)来进一步聚合时间序列数据u的时间和空间特征,从而得到预测的时间序列数据矩阵y:
[0045][0046]
式中,h
agg
表示最大聚合操作,out表示输出,max表示求最大值操作;
[0047]
d6:结合均方误差和平均误差,可以得到如公式(8)所示的huber损失函数;
[0048][0049]
式中,y表示真实的时间序列数据,表示预测得到的时间序列数据,δ为决定误差的阈值,表示计算y和之间的huber损失函数;
[0050]
d7:根据式(8)计算得出的结果,沿梯度最小方向将误差回传,更新式(6)中权重学习参数w和偏置参数b的数值,保存模型。
[0051]
本发明在时间序列数据的时空预测方面提供了种基于时空图神经网络的时间序列数据预测方法,对于交通流这样的时间序列数据,做到了高实时性与高准确性的预测,可
以广泛应用于智能交通系统的监测与管理。
[0052]
本发明方法构建了时空相关的图神经网络stcgnn,不仅可以捕获时空间的潜在相关性,而且可以提取时间序列数据的整体特征。本发明方法能够在短时间内处理大量数据并且计算量小。在交通数据集上的实验结果表明了本发明方法的优越性和有效性,可以广泛应用于智能交通系统的检测和管理中。
[0053]
本发明方法自主设计了时间相似度算法可以快速准确地捕捉时间序列数据的全局特性,并且针对波动性大和异常值出现的情况具有很高的鲁棒性。同时,还设计了一种时空相关图神经网络stcgnn和组合时空相关矩阵a
cor
·
group
,可以提取到传感器节点的融合时空特征,能够动态高效地捕捉道路交通网络的全局时空特征。
[0054]
本发明方法能够对采集到的车流辆数据进行实时更新预测,捕捉到不同交通流数据之间潜在的时间和空间联系,获取道路交通网络的全局信息,用于智能交通系统的监测和管理。此检测方法具有耗时低、计算复杂度小、实时性高、准确率高的优点,并且适用于其他的时空预测任务,例如天气预报、股票预测等。
[0055]
有益效果:本发明与现有技术相比,设计了一种时间相似性算法来计算时间序列数据的时间相关性,构建了一种新的组合时空相关邻接矩阵a
cor
·
group
来同步捕获全局的时空特征,搭建了时空相关的图神经网络stcgnn来获取实时信息和进行特征提取,在交通流数据集上取得的平均绝对误差、平均绝对百分比误差和均方根误差的结果,远远领先于现有方法,且可以动态捕获时间序列数据的特征,并实时更新时间序列数据的变化,更具有鲁棒性。
附图说明
[0056]
图1是本发明实施例提供的一种基于时空图神经网络的时间序列数据预测方法的工作流程示意图;
[0057]
图2是本发明实施例提供的节点时空关系图和全局时空相关矩阵a
cor

[0058]
图3是本发明实施例提供的组合时空相关矩阵a
cor
·
group

[0059]
图4是本发明实施例提供的时间序列数据截取方法示意图;
[0060]
图5是本发明实施例提供的时空相关的图神经网络结构图;
[0061]
图6是本发明实施例提供的真实的车流量数据和预测的车流量数据的对比图。
具体实施方式
[0062]
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本技术所附权利要求所限定的范围。
[0063]
本发明提供一种基于时空图神经网络的时间序列数据预测方法,其基本的原理为:传感器采集到交通流数据后,使用基于时空图卷积的深度学习神经网络进行预测,捕获时间和空间的潜在相关性并且获得时间序列数据的整体时空特征,将输入特征x和组合时空相关邻接矩阵a
cor
·
group
送入时空相关的图神经网络stcgnn中进行特征提取,最后输出预测结果。
[0064]
基于上述内容,本实施例将上述时间序列数据预测方法应用于智能交通系统的车
流量预测,参照图1,其包括以下步骤:
[0065]
步骤1:传感器采集道路车流量数据,对数据进行预处理,生成对应的时间序列数据;
[0066]
步骤2:根据传感器不同的地理位置提取传感器的空间特征来生成输入特征【可参考常伟.基于时空图神经网络的交通流预测方法研究[d].浙江大学,2020.21-22】,再使用时间相似度算法来捕捉不同时间序列数据之间潜在的时间特征,从而生成时间相似矩阵;
[0067]
步骤3:将时间相似矩阵映射到全局,生成全局时空相关邻接矩阵,再进一步生成组合时空相关邻接矩阵;
[0068]
步骤4:通过设定不同的时间步长,对输入的时间序列数据的时间长度进行截取,再将输入特征与组合时空相关邻接矩阵送入对应的堆叠后的图卷积层进行特征提取,使用huber损失函数【可参考俞搏天.p-huber损失函数及其鲁棒性研究[d].浙江师范大学,2021.11】进行反向传播训练模型;
[0069]
步骤5:使用得到的训练好的模型预测下一小时的时间序列数据,根据预测得到的时间序列数据,输出下一小时的车流量分布情况并汇总全天的车流量分布。
[0070]
本实施例中步骤1具体包括如下过程:
[0071]
步骤1.1:在不同的道路口设定传感器来采集一个月内通过该段路程的车辆数统计,将数据保存为txt文本文件;
[0072]
步骤1.2:保存的文件中包括采集的初试时间、终止时间和车辆数统计;
[0073]
步骤1.3:对原始数据进行预处理,生成时间序列数据向量集合v=(v1,v2,

vn),其中vf(f=1,2,

,n)为第f个传感器采集到的这个月通过的车辆数统计,n为所用的传感器总数。
[0074]
本实施例中步骤2具体包括如下过程:
[0075]
步骤2.1:每个传感器的编号与它们所在公路编号一致,并且每个传感器的编号都是独一无二的,通过这些编号进一步生成它们的输入特征x【可参考常伟.基于时空图神经网络的交通流预测方法研究[d].浙江大学,2020.21-22】;
[0076]
步骤2.2:对于来自时间序列数据向量集合v=(v1,v2,

vn)中的任意两条时间序列数据vi和vj,通过公式(1),公式(2)和公式(3)计算出它们的时间相似度:
[0077][0078][0079]
式中,m表示时间间隔数,m表示时间间隔的总数,m的取值范围从1到m,v
(i,m)
为第i条时间序列数据向量中的第m个时间间隔内统计的车辆数,v
(j,m)
为第j条时间序列数据向量中的第m个时间间隔内统计的车辆数,表示第i条时间序列数据向量的车辆数的平均值,表示第j条时间序列数据向量的车辆数的平均值;
[0080]
[0081]
式中,correlation(vi,vj)表示vi,vj之间的时间相似度;
[0082]
步骤2.3:根据式(3)计算得出的时间相似度结果,用式(4)筛选出相似度最高的两条时间序列数据:
[0083]
max{correlation(vi,vj)}#(4)
[0084]
式中,max表示求最大值计算;
[0085]
步骤2.4:当i=a时,由式(3)、(4)可以求得与va相似度最高的时间序列数据vb,根据va,vb在时间序列数据向量集合v中对应的坐标a、b,将矩阵中的(a,b)坐标位置的元素记为1,遍历整个时间序列数据,得到一个新的矩阵称之为时间相似矩阵m
sim

[0086]
本实施例中步骤3具体包括如下过程:
[0087]
步骤3.1:地理位置相邻的传感器在矩阵中用1表示,0则表示它们不相邻,从而得到对应的邻接矩阵a【可参考常伟.基于时空图神经网络的交通流预测方法研究[d].浙江大学,2020.21-22】;
[0088]
步骤3.2:使用与邻接矩阵a相同大小的单位矩阵m
con
来进一步表示每个传感器之间潜在的时间和空间的联系;
[0089]
步骤3.3:将邻接矩阵a、单位矩阵m
con
和时间相似矩阵m
sim
进一步融合生成如图2所示的全局时空相关邻接矩阵a
cor

[0090]
步骤3.4:使用两个全局时空相关邻接矩阵a
cor
来生成如图3所示的组合时空相关邻接矩阵a
cor
·
group
,从而进一步扩大时间序列数据的时空特征提取范围;
[0091]
本实施例中步骤4具体包括如下过程:
[0092]
步骤4.1:以5分钟为一个时间间隔,将一小时平均分成12个时间间隔;
[0093]
步骤4.2:通过设定时间步长,通过公式(5)依次按12、9、6的时间间隔来截取输入特征x里的时间序列数据,生成3种不同时间间隔的时间序列数据切片,具体如图4所示:
[0094][0095]
式中,h表示图卷积层,l表示层数,l的值为3,input表示输入,output表示输出,表示第l层图卷积层的输入,表示第l-1层图卷积层的输出,t为时间间隔总数,t的值为12,k为组合时空相关邻接矩阵a
cor
·
group
的尺寸大小,k的值为4,i为时间序列数据的片段数,i的值为0、1、2,c为提取的特征数,c的值为3,r表示实数集,[:]表示截取该维度下的所有元素,[:,0:t-l
×
(k+1),:,:]表示取第1维度下第0个到第t-l
×
(k+1)个的所有元素;
[0096]
步骤4.3:根据不同的时间序列数据切片将图卷积层【可参考常伟.基于时空图神经网络的交通流预测方法研究[d].浙江大学,2020.21-22】进行堆叠,将截取的时间序列数据片段和组合时空相关邻接矩阵a
cor
·
group
送入对应的堆叠后的图卷积层中进行特征提取,用公式(6)来表示每个图卷积层的操作:
[0097]
stcgnn(h
(l-1)
)=h
l
=σ(a
cor
·
groouph(l-1)
w+b)#(6)
[0098]
式中,w为图神经网络的权重学习参数,b为图神经网络的偏置参数,σ表示relu激活函数,stcgnn表示时空相关的图神经网络,网络的结构如图5所示,stcgnn(h
(l-1)
)表示时空相关的图神经网络第l-1层图卷积层的状态;
[0099]
步骤4.4:使用堆叠后的图卷积层对时间序列数据片段进行特征提取操作,将图卷
积层最后一层的输出结果拼接起来,从而形成一个新的时间序列数据u;
[0100]
步骤4.5:根据公式(7)来进一步聚合时间序列数据u的时间和空间特征,从而得到预测的时间序列数据矩阵y:
[0101][0102]
式中,h
agg
表示最大聚合操作,out表示输出,max表示求最大值操作;
[0103]
步骤4.6:结合均方误差和平均误差,可以得到如公式(8)所示的huber损失函数【可参考俞搏天.p-huber损失函数及其鲁棒性研究[d].浙江师范大学,2021.11】:
[0104][0105]
式中,y表示真实的时间序列数据,表示预测得到的时间序列数据,δ为决定误差的阈值,表示计算y和之间的huber损失函数;
[0106]
步骤4.7:根据式(8)计算得出的结果,沿梯度最小方向将误差回传,更新式(6)中权重学习参数w和偏置参数b的数值,保存模型。
[0107]
本实施例中步骤5具体包括如下过程:
[0108]
步骤5.1:使用得到的训练好的模型预测下一小时的时间序列数据;
[0109]
步骤5.2:根据预测得到的时间序列数据,输出下一小时的车流量分布情况,最后汇总全天的车流量分布情况,真实的车流量数据和预测的车流量数据的对比图如图6所示。
[0110]
可见,本实施例中采用本发明方法在交通流数据集上取得了平均绝对误差为15.66,平均绝对百分比误差为14.69%和均方根误差为27.06的结果数据,这些数据要远远领先于其他的方法,从而验证了本发明方法的有效性。
[0111]
本实施例还提供一种基于时空图神经网络的时间序列数据预测系统,该系统包括网络接口、存储器和处理器;其中,网络接口,用于在与其他外部网元之间进行收发信息过程中,实现信号的接收和发送;存储器,用于存储能够在所述处理器上运行的计算机程序指令;处理器,用于在运行计算机程序指令时,执行上述预测方法的步骤。
[0112]
本实施例还提供一种计算机存储介质,该计算机存储介质存储有计算机程序,在处理器执行所述计算机程序时可实现以上所描述的方法。所述计算机可读介质可以被认为是有形的且非暂时性的。非暂时性有形计算机可读介质的非限制性示例包括非易失性存储器电路(例如闪存电路、可擦除可编程只读存储器电路或掩膜只读存储器电路)、易失性存储器电路(例如静态随机存取存储器电路或动态随机存取存储器电路)、磁存储介质(例如模拟或数字磁带或硬盘驱动器)和光存储介质(例如cd、dvd或蓝光光盘)等。计算机程序包括存储在至少一个非暂时性有形计算机可读介质上的处理器可执行指令。计算机程序还可以包括或依赖于存储的数据。计算机程序可以包括与专用计算机的硬件交互的基本输入/输出系统(bios)、与专用计算机的特定设备交互的设备驱动程序、一个或多个操作系统、用户应用程序、后台服务、后台应用程序等。
[0113]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实
施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0114]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0115]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0116]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1