一种流量预测方法、装置、设备和介质与流程

文档序号:27907840发布日期:2021-12-11 06:27阅读:61来源:国知局
一种流量预测方法、装置、设备和介质与流程

1.本发明涉及一种流量预测方法,属于信息管理领域。


背景技术:

2.信息管理系统在数据传输中承担着重要作用,但其承载弹性往往较小。因此只有对未来一段时间的流量数据有一个相对准确的预测,才能对网络系统进行最及时、最有效的调控。流量预测在交通系统、计算机网络系统、通信网络、工业互联网中具有重要的作用。在中小型城市中,伴随着交通布局的不合理,一旦对城市交通的调度稍有差错将直接导致经济、社会安全等方面的严重后果。合理的预测可提升城市交通网络的利用率,降低城市中发生交通拥堵的概率或者减少拥堵时间。计算机网络、通信网络、工业互联网等领域中的合理预测,可以保证数据的合理传输,保障系统的安全运行。
3.现有的预测方法,大都仅仅是历史数据进行简单的趋势拟合获得,准确率低。
4.此外,还有通过神经网络对流量进行预测的方法,但是由于训练数据量大,神经网络的训练时长较长,且预测花费时间较长,对设备计算能力要求高,预测准确率仍然偏低。
5.由于上述原因,有必要提出了一种训练时间短、对设备计算能力要求低、预测准确率高的流量预测方法。


技术实现要素:

6.为了克服上述问题,本发明人进行了深入研究,设计出一种流量预测方法,通过时空网络对历史流量数据进行处理,获得未来一段时间的流量数据,所述时空网络包括特征嵌入模块、时空图模块和输出模块。
7.该方法包括以下步骤:
8.将历史流量数据输入特征嵌入模块,获得图状态和图信号;
9.将图状态和图信号输入时空图模块,通过时空图模块对图状态和图信号进行更新;
10.将更新后的图状态和图信号输入输出模块,通过输出模块将更新后的图状态和图信号转化为流量数据输出。
11.在一个优选的实施方式中,所述特征嵌入模块包括两个全连接层,两个全连接层的输入均为历史流量数据。
12.在一个优选的实施方式中,在特征嵌入模块中,一个全连接层的输出值通过矩阵变换函数转化为图状态,另一个全连接层的输出值连接时序嵌入矩阵后生成图信号。
13.在一个优选的实施方式中,在所述时空图模块中对输入该模块的数据进行时间相关性融合、空间相关性融合和时空相关性融合。
14.在一个优选的实施方式中,在所述时空图模块中设置有两个线性层,一个线性层对输入时空图模块的图状态进行线性变换获得q向量,另一个线性层对输入时空模块的图状态进行线性变换获得k向量,将q向量和k向量相乘即可获得时间维度的注意力矩阵,通过
所说明的任何实施例不必解释为优于或好于其它实施例。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
36.根据本发明提供的一种流量预测方法,通过时空网络对流量数据进行处理,获得未来一段时间的流量数据,所述时空网络包括特征嵌入模块、时空图模块和输出模块。
37.具体地,如图1所示,包括以下步骤:
38.将历史流量数据输入特征嵌入模块,获得图状态和图信号;
39.将图状态和图信号输入时空图模块,通过时空图模块对图状态和图信号进行更新,
40.将更新后的图状态和图信号输入输出模块,通过输出模块将更新后的图状态和图信号转化为流量数据输出,该流量数据即为预测的流量。
41.所述流量数据为车流量数据,所述车流量数据为一定时间段内车流量的总和,所述一定时间段优选为5分钟。
42.在本发明中,所述时空图模块为一种使用已知的时间长度为t的时空网络序列预测未来时间长度t’的时空网络序列的神经网络,
43.进一步地,在本发明中,将已知的时间长度为t的时空网络序列表示为
44.将未来时间长度t’的时空网络序列表示为:表示为:其中g=(v,e,a)表示空间网络,v为网络中节点的集合,e为网络中边的集合,a为网络的邻接矩阵。
45.进一步地,在本发明中,流量信息如何转化为时空图模块的输入是一个难点所在。
46.在本发明中,在流量数据在输入时空图模块之前,通过特征嵌入模块将流量数据转换为需要的图状态和图信号。
47.所述特征嵌入模块包括两个全连接层,两个全连接层的输入均为历史流量数据,全连接层的设置,使得时空图模块能够接受拥有多个节点特征的输入数据,其结构如图2所示。
48.在本发明中,t时刻的图状态表示为用于描述空间网络g的图级别;
49.t时刻的图信号表示为用于描述空间网络g的节点级别。
50.进一步地,在特征嵌入模块中,一个全连接层的输出值通过矩阵变换函数转化为图状态,优选地,所述矩阵变换函数为reshape函数。
51.更进一步地,所述图状态的生成可表示为:
52.x
state
=σ(x
in
w
state
)
ꢀꢀꢀ
(一)
53.其中,x
state
表示图状态,σ()表示激活函数,优选为relu激活函数,x
in
表示输入的流量数据,其矩阵维度记为t*n*c
in
,t表示输入的历史数据的时间步长度,n为常数,本领域技术人员可根据需要自由设置,c
in
表示输入特征维度;
54.w
state
为可训练的状态参数矩阵,
55.在特征嵌入模块中,另一个全连接层的输出值连接时序嵌入矩阵后作为图信号。
56.时序嵌入矩阵的加入,使得预测过程在利用流量数据的同时,还能够利用时序信息。
57.进一步地,所述图信号的生成可表示为:
[0058][0059]
其中,x
signal
表示图信号,其矩阵维度为t*n*d
signal
,d
signal
为常数,本领域技术人员可根据需要自由设置,σ()表示激活函数,优选为relu函数,x
in
表示输入的流量数据,w
signal
为可训练的信号参数矩阵,
[0060]
w
t
为可训练的时序嵌入参数矩阵,
[0061]
根据本发明,所述时空图模块的输入数据为图状态和图信号,对图状态和图信号进行时空特征捕获和更新,输出更新后的图状态和图信号。
[0062]
进一步地,在所述时空图模块中对输入该模块的数据进行时间相关性融合、空间相关性融合、时空相关性融合。
[0063]
具体地,如图3所示,在所述时空图模块中设置有两个线性层,分别为第一线性层和第二线性层,第一线性层对输入时空图模块的图状态进行线性变换获得q向量,第二线性层对输入时空模块的图状态进行线性变换获得k向量,将q向量和k向量相乘即可获得时间维度的注意力矩阵,通过该注意力矩阵实现输入数据的时间相关性融合。
[0064]
在所述时空图模块中设置有逐时间图卷积,输入时空图模块的图信号通过逐时间图卷积运算后获得v向量,该v向量包含了空间的相关性,实现了输入数据的空间相关性融合。
[0065]
进一步地,在时空图模块中,将注意力矩阵与v向量相乘,获得时空相关矩阵x
update
,从而实现时间与空间的相关性融合,进而实现了全局的时空特征更新。
[0066]
在一个优选的实施方式中,在注意力矩阵与v向量相乘之前,还对注意力矩阵进行回归处理,优选采用softmax回归器进行回归处理。
[0067]
进一步地,在时空图模块中还具有第三线性层和第四线性层,通过第三线性层和第四线性层对时空相关矩阵进行特征的线性变换。
[0068]
在本发明中,通过将图状态进行线性变换得到q和k向量,将图信号进行特征增维和逐时间图卷积后得到v向量,使得在时间维度上进行q、k相互匹配时,数据的时间相关性能够被得到,在对v进行加权求和时,包含有时间相关性的注意力得分能够与包含空间相关性的v向量充分融合,实现全局的时空特征更新。
[0069]
进一步地,上述过程可以表示为注意力模型:
[0070][0071]
更优选地,所述注意力模型具有多个注意力头,多头使模型同时注意到处于不同特征空间内的信息,优选为4个注意力头,更优选地,每个注意力头的特征维度为32维。
[0072]
更进一步地,第三线性层线性变换的特征与图状态的残差连接,作为更新后的图
状态输出;第四线性层线性变换的特征与图信号的残差连接,作为更新后的图信号输出。
[0073]
所述残差连接(residual connection)为机器学习模型中的一种经典结构,在本发明中不做特别赘述。
[0074]
在一个优选的实施方式中,在更新后的图状态和更新后的图信号输出前,还对更新后的图状态和更新后的图信号进行归一化,以保证模型训练时的稳定性。
[0075]
进一步地,更新后的图状态和图信号可以表示为:
[0076][0077][0078]
其中layernorm表示归一化,和为可训练的参数矩阵,d
v
为常数,本领域技术人员可根据需要自由设置。
[0079]
根据本发明,所述逐时间图卷积是以时间图卷积为基础改进获得的,传统的时间图卷积网络中,往往会在不同时间步中使用相同的卷积核提取空间特征,这一做法忽略了时空数据的时间异质性,为了克服这一限制,在本发明中,提出了逐时间图卷积运算。
[0080]
所述逐时间图卷积的输出x
out
可表示为:
[0081][0082]
其中,timewisegc(x
in

sig
)表示逐时间图卷积,x
in

sig
表示逐时间图卷积的输入,σ()表示激活函数,优选为relu函数,算符表示相同时间维度的矩阵在该时间维度下相乘,w表示逐时间图卷积的卷积核,a表示x
in

sig
的邻接矩阵,表示邻接矩阵和自连接后的矩阵,表示度矩阵。
[0083]
进一步地,传统的时间图卷积中每一时间步的卷积核均相同,不同于传统的时间图卷积,在本发明中,所述逐时间图卷积中每一时间步对应的卷积核不完全相同,每一时间步的卷积核相互独立。
[0084]
在一个优选的实施方式中,所述时空图模块具有多个,多个时空图模块依次连接,下一时空图模块接收上一时空图模块输出的更新后的图状态和更新后的图信号,再次进行时空特征捕获和更新后输出。根据本发明,使用多个模块能够提取到更深层、更复杂的时空特征,模块个数过少会导致提取到的时空特征过于简单或不能够完整描述数据的时空特征,过多会增加计算的时间复杂度。优选设置1~3个,更优选为设置3个。
[0085]
在输出模块中,将输入该模块的图状态依次通过一个全连接层和softmax激活函数处理后得到时间维度的注意力,进一步地,将该时间维度的注意力与输入该模块的图信号相乘即可获得历史图信号,历史图信号通过双层全连接网络后即可获得流量数据,该流量数据即为最终的预测结果。
[0086]
在一个优选的实施方式中,所述历史图信号的获得可以表示为:
[0087][0088]
其中,x
his
表示历史图信号,σ()激活函数,优选为relu函数,
[0089]
w1∈n*1,w2∈d
signal
*d
his
,d
his
为为常数,本领域技术人员可根据需要自由设置,w1、w2为两个可训练的参数矩阵,上标t表示转置。
[0090]
在一个优选的实施方式中,历史图信号输出最终的预测结果经过的双层全连接网络为逐时间的双层全连接网络,从而使得历史图信号的时空异质性得以解决。
[0091]
所述逐时间为一个时间步一个时间步依次进行。
[0092]
进一步地,所述逐时间的双层全连接网络包括一个全连接层和一个时间前馈神经网络,所述逐时间的双层全连接网络可以表示为:
[0093][0094]
其中。
[0095]
其中,y
(i)
表示逐时间的双层全连接网络的输出,i表示不同的时间步,i=1,2,...,t

,t

表示需要预测的时间步的长度,w
1(i)
表示第i时间步时的矩阵参数,表示第i时间步时的矩阵参数,d
future
为常数值,用于指代矩阵维度,w
1(i)
、w
2(i)
为第i时间步时的两个可训练矩阵参数。
[0096]
另一方面,本发明还提供了一种流量预测装置,包括依次连接的特征嵌入模块、时空图模块和输出模块。
[0097]
优选地,所述时空图模块可以具有多个,多个时空图模块串联在一起,串联的多个时空模块中,第一个时空图模块与特征嵌入模块相连,最后一个时空模块与输出模块相连。
[0098]
进一步地,所述特征嵌入模块的输入为历史流量数据,输出为图状态和图信号,所述特征嵌入模块包括两个全连接层,一个全连接层的输出值通过矩阵变换函数转化为图状态,另一个全连接层的输出值连接时序嵌入矩阵后作为图信号。
[0099]
所述时空图模块的输入为图状态和图信号,输出为更新后的图状态和更新后的图信号。
[0100]
所述时空图模块中设置有两个线性层,分别为第一线性层和第二线性层,第一线性层对输入时空图模块的图状态进行线性变换获得q向量,第二线性层对输入时空模块的图状态进行线性变换获得k向量,将q向量和k向量相乘即可获得时间维度的注意力矩阵;
[0101]
在所述时空图模块中设置有逐时间图卷积,逐时间图卷积对输入的图信号进行卷积运算获得v向量;
[0102]
将注意力矩阵与v向量相乘,获得时空相关矩阵;
[0103]
在所述时空图模块中还设置有两个线性层,
[0104]
在时空图模块中还具有第三线性层和第四线性层,通过第三线性层和第四线性层对时空相关矩阵进行特征的线性变换。
[0105]
更进一步地,第三线性层线性变换的特征与图状态的残差连接,作为更新后的图状态输出;第四线性层线性变换的特征与图信号的残差连接,作为更新后的图信号输出。
[0106]
优选的,在注意力矩阵与v向量相乘之前,还设置有回归器,对注意力矩阵进行回
归处理。
[0107]
所述逐时间图卷积的输出x
out
可表示为:
[0108][0109][0110]
进一步地,逐时间卷积核中,每一时间步的逐时间卷积核相互独立。
[0111]
所述输出模块具有一个输入全连接层,通过输入全连接层将输入的图状态转换为时间维度的注意力,将该时间维度的注意力与输入的图信号相乘获得历史图信号。
[0112]
所述输出模块还具有逐时间的双层全连接网络,将历史图信号转化为预测结果,其包括一个全连接层和一个时间前馈神经网络,所述逐时间的双层全连接网络可以表示为:
[0113][0114]
本发明中以上描述的方法和装置的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0115]
用于实施本发明的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0116]
在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd

rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0117]
为了提供与用户的交互,可以在计算机上实施此处描述的方法和装置,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用
任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0118]
可以将此处描述的方法和装置实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0119]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端

服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务(

virtual private server

,或简称

vps

)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0120]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明公开的技术方案所期望的结果,本文在此不进行限制。
[0121]
实施例
[0122]
实施例1
[0123]
在数据集pems系列数据集上进行流量预测实验,pems系列数据集每5分钟记录一次流量,每小时输出12个流量值。
[0124]
采用流量预测装置进行预测,所述流量预测装置包括依次连接的特征嵌入模块、时空图模块和输出模块,时空图模块数量为3个。
[0125]
特征嵌入模块包括两个全连接层,一个全连接层的输出值通过矩阵变换函数转化为图状态,另一个全连接层的输出值连接时序嵌入矩阵后作为图信号。
[0126]
其中,矩阵变换函数为reshape函数,图状态的生成为:
[0127]
x
state
=σ(x
in
w
state
)
[0128][0129]
图信号特征的生成为:
[0130][0131][0132]
其中,d
signal
为128,n为2,c
in
=1;
[0133]
时空图模块中设置有两个线性层,分别为第一线性层和第二线性层,第一线性层对输入时空图模块的图状态进行线性变换获得q向量,第二线性层对输入时空模块的图状态进行线性变换获得k向量,将q向量和k向量相乘获得时间维度的注意力矩阵;
[0134]
在所述时空图模块中设置有逐时间图卷积,逐时间图卷积对输入的图信号进行卷积运算获得v向量;
for skeleton

based action recognition[c]//proceedings of the aaai conference on artificial intelligence.2018,32(1).
[0155]
对比例3
[0156]
采用graph wavenet模型进行与实施例1中相同的实验,所述dcrnn具体结构参见论文
[0157]
《graph wavenet for deep spatial

temporal graph modeling》wu z,pan s,long g,et al.graph wavenet for deep spatial

temporal graph modeling[j].arxiv preprint arxiv:1906.00121.2019.
[0158]
对比例4
[0159]
采用astgcn模型进行与实施例1中相同的实验,所述astgcn具体结构参见论文《attention based spatial

temporal graph convolutional networks for traffic flow forecasting》guo s,lin y,feng n,et al.attention based spatial

temporal graph convolutional networks for traffic flow forecasting[c]//proceedings of the aaai conference on artificial intelligence.2019,33(01):922

929.
[0160]
对比例5
[0161]
采用stsgcn模型进行与实施例1中相同的实验,所述stsgcn具体结构参见论文
[0162]
《spatial

temporal synchronous graph convolutional networks:a new framework for spatial

temporal network data forecasting》song c,lin y,guo s,et al.spatial

temporal synchronous graph convolutional networks: a new framework for spatial

temporal network data forecasting[c]//proceedings of the aaai conference on artificial intelligence.2020,34(01):914

921.
[0163]
实验例
[0164]
使用mae、mape、rmse评价实施例1与对比例1~5,结果如表一所示。
[0165]
表一
[0166][0167]
其中,mae为平均绝对误差,mape为平均绝对百分比误差,rmse为均方根误差,均未常用的预测评价指标。
[0168]
从表一可以看出,实施例1中的模型在所用数据集上的评估指标均优于其它所有模型,同时,由于注意力机制的引入,实施例1的计算效率远高于对比例5。经过测试,在模型参数大致相同的情况下,实施例1的训练时长约为对比例5的1/3。
[0169]
实施例1与对比例5在pems04数据集上的参数量、训练时间和测试时间的对比结果如表二所示。
[0170]
表二
[0171]
模型参数量/
×
106训练时间/s测试时间/s对比例52.811817实施例12.9315
[0172]
从表二可以看出,实施例1训练时间和测试时间远低于对比例5,其计算效率更高。
[0173]
在本发明的描述中,需要说明的是,术语“上”、“下”、“内”、“外”、“前”、“后”等指示的方位或位置关系为基于本发明工作状态下的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”、“第四”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0174]
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”“相连”“连接”应作广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体的连接普通;可以是机械连接,也可以是电连接;可以是直接连接,也可以通过中间媒介间接连接,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语
在本发明中的具体含义。
[0175]
以上结合了优选的实施方式对本发明进行了说明,不过这些实施方式仅是范例性的,仅起到说明性的作用。在此基础上,可以对本发明进行多种替换和改进,这些均落入本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1