1.本发明属于交通流量预测技术领域,涉及一种交通流量预测方法、系统、装置及可读存储介质。
背景技术:2.在社会发展的过程中,交通运输行业是其他行业发展的基石。智能交通系统(its)利用先进的软硬件技术,构建实时精确的交通管理系统,以提供准确的交通路况分析,实现对交通管理效率的提升。交通流量预测是智能交通系统中的重要组成部分,通过各种方式对城市内部的不同道路收集流量信息,基于这些对流量进行预测,根据预测结果既可以对出行路径进行合理规划,也可以帮助交通部门合理分配资源,从而提高城市交通效率。
3.随着深度学习技术的发展,诸如卷积网络和循环神经网络极其变体广泛应用于交通流量预测中,但是,发现其仍然存在两个问题。第一个问题是其仅仅捕捉到了不同区域之间的空间依赖性,对于其每个区域与其他区域之间的流动性特征并未学习,具体来说,一个区域在很大概率上与某几个区域流通性较强,与其他区域流通性较弱,大多数方法忽略了流动特征,导致模型学习到的空间特征不完整,降低了预测的准确性。另一个问题是,远距离区域与近距离区域仍然具有一定的空间依赖关系,一些方法忽略了远距离区域之间的空间依赖关系,导致预测准确性下降,另一些方法通过堆叠卷积网络的方式获取远距离空间依赖关系,但是过多的卷积层堆叠会令模型的训练难度增加,其性能也会随之下降。
4.综上,能够得知,交通流量的区域流动和远距离空间依赖性,决定了并不存在一种成熟的交通流量预测算法提取多区域之间的流动和远距离空间依赖特征,因此设计一种精确,稳定的交通流量预测方法的需求是迫切的。
技术实现要素:5.本发明的目的在于解决现有技术中交通流量预测技术的缺陷,提供一种面向城市区域网格的交通流量预测方法、系统、装置及可读存储介质。
6.为达到上述目的,本发明采用以下技术方案予以实现:
7.第一方面,本发明提供一种交通流量预测方法,包括以下步骤:
8.根据交通流量特征搭建gat-fncl预测模型;
9.训练gat-fncl预测模型;
10.向gat-fncl预测模型中输入时间序列,输出预测结果。
11.第二方面,本发明提供一种交通流量预测系统,包括:
12.预测模型搭建模块,所述预测模型搭建模块用于根据交通流量特征搭建gat-fncl预测模型;
13.预测模型训练模块,所述预测模型训练模块用于训练gat-fncl预测模型;
14.预测结果输出模块,所述预测结果输出模块用于向gat-fncl预测模型中输入时间序列,输出预测结果。
15.第三方面,本发明提供一种交通流量预测装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述方法的步骤。
16.第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述方法的步骤。
17.与现有技术相比,本发明具有以下有益效果:
18.本发明设计了一种基于流动图特征和多尺度空间特征的时空序列模型,为了提取空间流动特征,使用图注意力网络实现对每个区域的流动特征学习;为了提取多尺度空间依赖特征,设计了一个基于残差网络,利用卷积网络和空洞卷积网络的远近空间特征模块,学习多尺度的空间特征;为了提取时间特征,使用convlstm网络对每个区域的顺序性和周期性进行学习,并且设计了一种注意力机制进一步提高了周期性特征的提取准确度,并训练出最终的预测模型,有效的提高时空序列的预测精确度和稳定性。
附图说明
19.为了更清楚的说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
20.图1为本发明交通流量预测方法的流程图。
21.图2为本发明交流流量预测系统的逻辑框图。
22.图3为本发明方法的整体流程图。
23.图4为本发明gat-fncl预测模型的整体架构图。
24.图5为本发明gat-fncl预测模型的训练流程图。
具体实施方式
25.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
26.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
27.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
28.在本发明实施例的描述中,需要说明的是,若出现术语“上”、“下”、“水平”、“内”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的
限制。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
29.此外,若出现术语“水平”,并不表示要求部件绝对水平,而是可以稍微倾斜。如“水平”仅仅是指其方向相对“竖直”而言更加水平,并不是表示该结构一定要完全水平,而是可以稍微倾斜。
30.在本发明实施例的描述中,还需要说明的是,除非另有明确的规定和限定,若出现术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
31.下面结合附图对本发明做进一步详细描述:
32.参见图1,本发明实施例公开了一种交通流量预测方法,包括以下步骤:
33.s1,根据交通流量特征搭建gat-fncl预测模型;所述交通流量特征包括区域流动特征、区域依赖特征和时间特征。所述区域流动特征为利用交通流量轨迹中的经纬度信息将其所在范围划分为一个w
×
h的网格地图,将每一个区域视为一个节点,构建不同区域之间的流量有向图,区域有向图信息其中,h和w分别为时空图的长和宽。
34.所述区域依赖特征为利用交通流量轨迹中的经纬度信息将其所在范围划分为一个w
×
h的网格地图,根据给定的时间区间,统计网格地图中的每一区域在该时间段中的流入数量和流出数量,每次的采集信息表示当前时间段每个区域的流量。
35.所述时间特征通过以下方法得到:
36.历史已知区域流量信息x
area
如下:
37.x
area
={x1,x2,
…
,x
t
}
38.其中,t表示已知流量序列的结尾,i∈[1,t],h和w分别为时空图的长和宽,采集顺序时间和周期时间的数据作为输入,得到顺序特征和周期特征,顺序时间序列xo如下:
[0039]
xo={x
t-l
,x
t-l+1
,...,x
t
}
[0040]
其中,l表示采集的长度,则周期时间序列xc如下:
[0041]
xc={x
t-nk-p
,x
t-nk-p+1
,...,x
t-nk
,...,x
t-n-1
,x
t-n
}
[0042]
其中,k表示周期长度,p表示每个周期序列的长度,n表示设定的周期窗口大小。
[0043]
所述搭建gat-fncl预测模型,包括:
[0044]
gat-fncl模型包括流动图特征模块、空间特征模块和时间特征模块;
[0045]
流动图特征模块通过图注意力网络捕获区域之间的依赖关系,具体方法如下:
[0046]
通过将多个区域按照流量关系构建拓扑图,再将其归一化处理,用来构建区域依赖关系特征图,接着利用已知时刻所有时刻的流量数据以及区域依赖关系特征图作为图注意力网络的输入,最后得到区域流动特征,与原始序列合并,作为空间特征模块的输入;图注意力网络主要在图卷积网络的传播过程中引入自注意力机制,其每一个节点的状态由其对相邻节点注意力计算;图注意力网络具有多个图注意力层,每个注意力层的注意力计算方法如下:
[0047][0048]
其中,a
i,j
表示节点i对于节点j的注意力系数,ni表示节点i的所有邻接节点,k表示ni中的某个节点,whi为第i节点的权值变换矩阵,whj为第j节点的权值变换矩阵,whk为第k节点的权值变换矩阵,α为权值向量,leakrelu()表示负值斜率不为零的激活函数,t表示矩阵转置;最终得到每个节点其邻接节点的注意力相关系数,其输出为:
[0049][0050]
其中,σ()表示激活函数,hi表示第i个节点的最终输出。
[0051]
空间特征模块利用卷积网络和空洞卷积网络共同组成一个残差模块,空洞卷积为:
[0052]fk
(x
input
)=f(wk*x
input
+bk)
[0053]
其中,k表示空洞卷积的扩张因子大小,fk()表示扩张因子为k时的空洞卷积,x
input
表示空洞卷积的输入,wk表示参数矩阵,bk表示偏置量,f表示激活函数,
‘
*’表示卷积操作;残差块的计算方法如下:
[0054][0055][0056][0057][0058]
其中,t表示输入的序列时间,x
t
表示当前残差块的输入,f
conv
()表示普通卷积操作,c表示普通卷积,表示普通卷积网络的输出,f
k-dilation-conv
()表示扩张因子为k的空洞卷积,k表示空洞卷积的扩张因子,表示扩张因子为k的空洞卷积网络输出,relu()表示激活函数,x
′
t
表示残差块中的计算结果,表示最终残差块的输出;
[0059]
时间特征模块采用并行的convlstm网络,分别学习时间维度的顺序性特征和周期性特征;顺序性时间特征模块的输入为临近时间序列经过流动图特征模块和远近空间特征模块对空间特征进行提取后得到的时空序列,其表示为:
[0060]
x
o,t
={x
t-r
,x
t-r+1
,...,x
t
}
[0061]
其中,x
o,t
表示高阶的顺序时间序列,r表示顺序序列长度;提取到的顺序性高阶特征表示为:
[0062][0063]
其中,为顺序高阶特征,f
convlstm
()表示convlstm操作;周期性时间特征模块的输入为多个周期时间序列经过流动图特征模块和远近空间特征模块对其进行空间提取后得到的时空序列,其表示为:
[0064]
[0065]
其中,x
c,t
表示高阶的周期时间序列,p表示每个周期序列的长度,l表示周期序列长度;每个周期序列表示为:
[0066][0067]
首先对于每一个周期序列分别通过一个convlstm网络提取其顺序性特征:
[0068][0069]
其中,表示第l周期提取到的周期特征,f
conulstm
()表示convlstm操作;将顺序性高阶特征作为query,将所有周期序列得到的高阶特征当作key,计算其相关性权重,将其得到结果的使用softmax函数进行归一化,得到其相关性系数:
[0070][0071][0072]
其中,s()表示注意力打分函数,wr和wc为参数矩阵,t表示矩阵转置,v
t
表示转置的周期高阶特征,tanh表示在注意力打分函数中使用的激活函数,l表示周期序列数量,a
c,t
表示对应的周期序列得到的权重系数,最终得到高阶周期性特征:
[0073][0074]
将时空特征模块捕获的时间顺序性高阶特征和时间周期性高阶特征进行concat操作,再输入到卷积网络得到最终的预测结果:
[0075][0076]
其中,为模型的输出结果,表示顺序性高阶特征,表示周期性高阶特征。
[0077]
s2,训练gat-fncl预测模型,具体方法如下:
[0078]
将选择的训练样本:
[0079]
x
→
y:(x1,y1),(x2,y2),(x3,y3),
…
,(xn,yn)x={xc,xo,x
p-p
}
[0080]
其中,x为训练样本集,y为预测目标时间流量,n为样本的数量,x为已知流量信息,xc为周期信息,xo为顺序信息,x
p-p
为区域节点流通信息;gat-fncl预测模型的训练过程是通过已知信息训练一个非线性表达,将训练样本输入后,经过计算,使其得到结果逼近正确的交通流量。
[0081]
s3,向gat-fncl预测模型中输入时间序列,输出预测结果。
[0082]
如图2所示,本发明实施例还公开了一种交通流量预测系统,包括:
[0083]
预测模型搭建模块,所述预测模型搭建模块用于根据交通流量特征搭建gat-fncl预测模型;
[0084]
预测模型训练模块,所述预测模型训练模块用于训练gat-fncl预测模型;
[0085]
预测结果输出模块,所述预测结果输出模块用于向gat-fncl预测模型中输入时间
序列,输出预测结果。
[0086]
实施例
[0087]
参见图3,本发明面向城市区域网格的交通流量预测方法,包括以下部分:
[0088]
步骤1:交通流量特征设计,包括区域流动特征、区域依赖特征和时间特征。
[0089]
区域流动特征是指:利用交通流量轨迹中的经纬度信息将其所在范围划分为一个w
×
h的网格地图,将每一个区域视为一个节点,构建不同区域之间的流量有向图,具体形式上将区域有向图信息定义为
[0090]
区域依赖特征是指:利用交通流量轨迹中的经纬度信息将其所在范围划分为一个w
×
h的网格地图,根据给定的时间区间,统计网格地图中的每一区域在该时间段中的流入数量和流出数量,具体形式上将每次的采集信息表示当前时间段每个区域的流量。
[0091]
时间特征是指:设历史已知区域流量信息为:x
area
={x1,x2,
…
,x
t
},其中t表示已知流量序列的结尾,i∈[1,t],h和w分别为时空图的长和宽,其中需要分别对顺序时间和周期时间的数据进行采集作为输入,以得到顺序特征和周期特征。顺序时间序列表示为:
[0092]
xo={x
t-l
,x
t-l+1
,...,x
t
}
[0093]
其中xo表示输入的顺序时间序列,l表示采集的长度,周期时间序列表示为:
[0094]
xc={x
t-nk-p
,x
t-nk-p+1
,...,x
t-nk
,...,x
t-n-1
,x
t-n
}
[0095]
其中,k表示周期长度,p表示每个周期序列的长度,n表示设定的周期窗口大小。
[0096]
步骤2:gat-fncl预测模型搭建。
[0097]
如图4所示,gat-fncl模型主要由三部分组成,分别是流动图特征模块、空间特征模块和时间特征模块。
[0098]
通过将多个区域按照流量关系构建拓扑图,再将其归一化处理,用来构建区域依赖关系特征图,接着利用已知时刻所有时刻的流量数据以及区域依赖关系特征图作为图注意力网络的输入,最后得到区域流动特征,与原始序列合并,作为空间特征模块的输入;图注意力网络主要在图卷积网络的传播过程中引入自注意力机制,其每一个节点的状态由其对相邻节点注意力计算;图注意力网络具有多个图注意力层,每个注意力层的注意力计算方法如下:
[0099][0100]
其中,a
i,j
表示节点i对于节点j的注意力系数,ni表示节点i的所有邻接节点,k表示ni中的某个节点,whi为第i节点的权值变换矩阵,whj为第j节点的权值变换矩阵,whk为第k节点的权值变换矩阵,α为权值向量,leakrelu()表示负值斜率不为零的激活函数,t表示矩阵转置;最终得到每个节点其邻接节点的注意力相关系数,其输出为:
[0101]
[0102]
其中,σ()表示激活函数,hi表示第i个节点的最终输出。
[0103]
空间特征模块利用卷积网络和空洞卷积网络共同组成一个残差模块,空洞卷积为:
[0104]fk
(x
input
)=f(wk*x
input
+bk)
[0105]
其中,k表示空洞卷积的扩张因子大小,fk()表示扩张因子为k时的空洞卷积,x
input
表示空洞卷积的输入,wk表示参数矩阵,bk表示偏置量,f表示激活函数,
‘
*’表示卷积操作;残差块的计算方法如下:
[0106][0107][0108][0109][0110]
其中,t表示输入的序列时间,x
t
表示当前残差块的输入,f
conv
()表示普通卷积操作,c表示普通卷积,表示普通卷积网络的输出,f
k-dilation-conv
()表示扩张因子为k的空洞卷积,k表示空洞卷积的扩张因子,表示扩张因子为k的空洞卷积网络输出,relu()表示激活函数,x
′
t
表示残差块中的计算结果,表示最终残差块的输出;
[0111]
时间特征模块采用并行的convlstm网络,分别学习时间维度的顺序性特征和周期性特征;顺序性时间特征模块的输入为临近时间序列经过流动图特征模块和远近空间特征模块对空间特征进行提取后得到的时空序列,其表示为:
[0112]
x
o,t
={x
t-r
,x
t-r+1
,...,x
t
}
[0113]
其中,x
o,t
表示高阶的顺序时间序列,r表示顺序序列长度;提取到的顺序性高阶特征表示为:
[0114][0115]
其中,为顺序高阶特征,f
convlstm
()表示convlstm操作;周期性时间特征模块的输入为多个周期时间序列经过流动图特征模块和远近空间特征模块对其进行空间提取后得到的时空序列,其表示为:
[0116][0117]
其中,x
c,t
表示高阶的周期时间序列,p表示每个周期序列的长度,l表示周期序列长度;每个周期序列表示为:
[0118][0119]
首先对于每一个周期序列分别通过一个convlstm网络提取其顺序性特征:
[0120][0121]
其中,表示第l周期提取到的周期特征,f
convlstm
()表示convlstm操作;将顺序性高阶特征作为query,将所有周期序列得到的高阶特征当作key,计算其相关性权重,将其得到结果的使用softmax函数进行归一化,得到其相关性系数:
[0122][0123][0124]
其中,s()表示注意力打分函数,wr和wc为参数矩阵,t表示矩阵转置,v
t
表示转置的周期高阶特征,tanh表示在注意力打分函数中使用的激活函数,l表示周期序列数量,a
c,t
表示对应的周期序列得到的权重系数,最终得到高阶周期性特征:
[0125][0126]
将时空特征模块捕获的时间顺序性高阶特征和时间周期性高阶特征进行concat操作,再输入到卷积网络得到最终的预测结果:
[0127][0128]
其中,为模型的输出结果,表示顺序性高阶特征,表示周期性高阶特征。
[0129]
步骤3:gat-fncl模型训练
[0130]
如图5所示,将选择的训练样本x
→
y:(x1,y1),(x2,y2),(x3,y3),...,(xn,yn)x={xc,xo,x
p-p
},其中x为训练样本集,y为预测目标时间流量,n为样本的数量,x为已知流量信息,xc为周期信息,xo为顺序信息,x
p-p
为区域节点流通信息;gat-fncl预测模型的训练过程是通过已知信息训练一个非线性表达,将训练样本输入后,经过计算,使其得到结果逼近正确的交通流量。
[0131]
步骤4:向步骤2中的gat-fncl预测模型输入已知的时间序列,输出预测结果。
[0132]
本发明一实施例提供的交通流量交通流量预测装置的示意图。该实施例的交通流量预测装置包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序程序。所述处理器执行所述计算机程序时实现上述各个方法实施例中的步骤。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能。
[0133]
所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。
[0134]
所述交通流量预测装置可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述交通流量预测装置可包括,但不仅限于,处理器、存储器。
[0135]
所述处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
[0136]
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述
交通流量预测装置的各种功能。
[0137]
所述交通流量预测装置集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0138]
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。