一种基于自适应二维图卷积的起讫点交通流量预测方法

未命名 07-18 阅读:140 评论:0


1.本发明涉及本发明涉及交通流预测领域,特别涉及一种基于自适应二维图卷积的起讫点交通流量预测方法。


背景技术:

2.随着城市化进程的加快,大量的人口向城市聚集,城市之间的旅客与货物往来也愈加频繁。截止到2020年末,全国高速公路总里程达15.29万公里。高速公路使得城市之间的通行快捷、便利,公众越来越多选择高速公路作为出行方式,而城市之间的大规模的客货流动向交通系统施加了巨大的压力。起讫点交通流量预测是指从大量的历史交通数据中,提取内在规律,预测研究范围内未来一段时间内由某区域出发驶向另一区域的车流量,即区域之间的交通流量。基于高速公路收费数据的起讫点交通流量预测在高速公路交通管理和区域经济发展指示等方面,具有重大现实意义,一方面,区域间的起讫点交通流量能够反映两者之间的货物和旅客往来规模,可以作为反映两地之间的经济联系重要指标。另一方面,区域之间的起讫点交通流量预测能够为交通管理部门拥堵疏散、路线规划提供决策支撑。
3.国内外学者在起讫点交通流量预测领域使用了诸多方法进行了深度探索,按照时间发展脉络,大致可以分为统计分析方法、机器学习方法和深度学习方法,其中深度学习的方法在近期研究中使用频繁。该类方法在交通流量预测问题上,着重关注空间依赖性捕获和时间依赖性捕获。yub等人提出stgcn进行交通流量预测,该模型使用切比雪夫一阶近似后的图卷积进行空间依赖性捕获,采用门控线性单元进行时间依赖性捕获。wuz等人提出mtgnn,该模型使用节点嵌入矩阵生成自适应邻接矩阵,通过自适应图卷积进行空间依赖性捕获,在捕获时间依赖性方面,使用多尺度一维膨胀卷积,取得了较好的预测效果。
4.但是上述方法存在以下问题:图邻接矩阵的构建依赖于节点距离等先验条件,该类邻接矩阵对节点联系的表征能力较弱,尽管有模型使用自适应邻接矩阵,以期捕获节点间深层次的空间依赖关系,但是起讫点交通流量预测问题具有其自身特点,即起讫点交通流量数据具有起点和终点两个维度,单个维度的图卷积无法完全捕获节点在作为起点和终点时所具有的不同的空间依赖关系;此外诸多文章采用lstm或gru对交通流量数据进行时间依赖性的捕获,该类方法设计了多个门控,以期获取长期和短期的时间依赖关系,但是复杂的门控机制使得模型训练的时间开销较大。因此本发明提出一种基于自适应二维图卷积的起讫点交通流量预测方法,使用自适应二维图卷积进行空间依赖性捕获,在此基础上与时间卷积网络多层堆叠,综合捕获起讫点交通流量数据之间的时空依赖关系。


技术实现要素:

5.针对上述技术问题,本发明拟解决的技术问题是,提出一种基于自适应二维图卷积的起讫点交通流量预测方法,该方法在起点维度和终点维度分别建立自适应邻接矩阵,从两个角度对起讫点交通流量数据进行图卷积,充分捕获节点在作为起点和终点时不同的
空间依赖关系;使用时间卷积网络捕获不同时间片数据之间的时间依赖关系,能够充分捕获起讫点交通流量数据的时空依赖关系,从而提高了预测精度。
6.本技术的核心创新点有两个:一是在捕获空间依赖性方面提出自适应二维图卷积,其具体做法为:在起点和终点两个维度建立节点嵌入矩阵;使用起点和终点两个维度的节点嵌入矩阵,构建起点和终点两个维度的自适应邻接矩阵;从两个角度对起讫点交通流量数据进行自适应二维图卷积。二是将自适应二维图卷积和时间卷积网络进行多层堆叠,并使用残差连接,防止过拟合现象,在此基础上构建时空卷积块,同时捕获空间依赖性和时间依赖性。
7.本发明解决所述技术问题采用的技术方案是:
8.一种基于自适应二维图卷积的起讫点交通流量预测方法,所述预测方法包括以下内容:
9.s1.依据实际场景中的县级行政区划,将整个研究范围划分为n个区域,根据区域内监测点所采集的原始数据表中入口收费站编号和出口收费站编号,以及收费站基本信息表,确定每个行程的起点区域编号和终点区域编号,根据驶入入口收费站时间确定其所在的时间片编号;初始化为一个全零的三维张量,遍历原始数据表中的每一条记录,确定每条记录所对应的起点区域编号、终点区域编号和时间片编号,将三维张量中对应位置的元素值加一,直至将整个原始数据表所有记录遍历完毕,最终得到的三维张量即为所构建的起讫点交通流量数据集;
10.s2.构建基于自适应二维图卷积的起讫点交通流量预测模型:
11.所述基于自适应二维图卷积的起讫点交通流量预测模型包括多层堆叠的时空卷积块和二维卷积层,所述多层堆叠的时空卷积块依次串联,最后一个时空卷积块的输出连接所述二维卷积层;所述二维卷积层的卷积核大小设置为(t-τ+1)
×
f,其中,τ表示模型输出的时间片数量,t表示模型输入的时间片数量;f表示隐藏层节点特征维度,隐藏层是模型中除输入和输出之外的层状结构,这包括下文所介绍的自适应二维图卷积模块和时间卷积模块所构成的层状结构;
12.所有时空卷积块结构相同,每个时空卷积块包括由t个自适应二维图卷积模块2d-agcn和一个时间卷积模块tcn串联构成的串联结构;每个时间片的起讫点交通流量数据经一个自适应二维图卷积模块2d-agcn连接时间卷积模块tcn的输入,时间卷积模块tcn的输入为t;所述串联结构的数量为m个,m为不小于1的整数,所有串联结构的输出与第一个串联结构的输入进行矩阵加法运算,构成残差连接,残差连接后的结果为时空卷积块的输出;
13.所述自适应二维图卷积模块在起点和终点两个维度进行图卷积操作;
14.s3.模型训练:将起讫点交通流量数据集按比例划分为训练集、验证集和测试集,模型在训练集和验证集上进行参数更新,损失最小时的模型为最优模型,以最优模型用于起讫点交通流量预测。
15.所述起讫点交通流量数据集的构建过程是:
16.s1.1.依据实际场景中的县级行政区划,将整个研究范围划分为n个区域,每个区域内入口收费站和出口收费站布置一定数量的传感器,用于采集对应位置的原始数据表,原始数据表的关键字段有行程编号pass_id,车辆自驶入入口收费站至驶出出口收费站称为一次行程,pass_id为行程的唯一标识;入口收费站编号start_sta_id;出口收费站编号
end_sta_id;起始时间start_time,表示车辆驶入入口收费站的时间;
17.s1.2.获取收费站基本信息表,根据收费站基本信息表构建由收费站编号到区域编号的映射,记为dict_l,具体方法是:收费站基本信息表中关键字段有收费站编号sta_id、收费站经度lng和收费站纬度lat,使用arcgis软件进行空间分析,根据收费站的经度和纬度,将收费站点位投射到相应的县级行政区划区域内,再将收费站所属区域的区域编号作为一个字段值添加到收费站基本信息表中,从而完成该映射的建立;
18.s1.3.构建由起始时间时间到时间片编号的映射,记为dict_2,具体方法是:以原始数据表中最早时间作为时间起点,设定时间片长度为s分钟,每s分钟作为一个时间片,共划分有个时间片,通过界定起始时间处在哪个时间片的时间范围来确定起始时间对应的时间片编号,从而完成该映射的建立;
19.s1.4.通过遍历原始数据表,使用前两步所建立的两个映射,构建起讫点交通流量数据集,具体是:
20.初始化全零的三维张量χ,其中,三维张量的第一个维度表示起点维度,第二个维度表示终点维度,第三个维度表示时间维度,表示根据原始数据表的时间跨度所划分的时间片数量;
21.然后,遍历原始数据表中的每一条记录,根据start_sta_id和dict_1得到该条记录对应的起点区域编号start_area_id,根据end_sta_id和dict_1得到该条记录对应的终点区域编号end_area_id,根据start_time和dict_2得到该条记录对应的时间片编号time_id,则张量χ中的元素x
start_area_idend_areaid,time_id
的值加一;重复此步骤直至原始数据表中的所有记录遍历完毕,则最终得到的三维张量即为所构建的起讫点交通流量数据集;
22.个时间片内的起讫点交通流量数据构成起讫点交通流量数据集,在数据集中选取t个时间片的数据作为一个样本为模型的输入,每个时间片的数据各自输入到2d-agcn中。
23.所述自适应二维图卷积模块的获取过程是:将实际场景中的区域抽象为图结构中的节点,将整个研究范围内的所有区域所构成的交通网络进行抽象化,表示为图结构,则实际场景中的区域与图结构中的节点一一对应,采用如下公式表示场景中划分的区域所构成的交通网络:
[0024][0025]
其中v表示节点集合,即划分的区域集合;v∈v表示其中的节点,即某一区域,;|v|=n表示节点数量,即区域数量,节点数量与区域数量相同;ε表示交通网络中的边集;表示交通网络中的邻接矩阵,邻接矩阵中第i行第j列的元素a
ij
表示节点vi与节点vj关联程度;
[0026]
使用softmax函数和relu函数进行归一化处理,从起点角度建立自适应的邻接矩阵
[0027][0028]
其中,表示图中n个节点的嵌入矩阵,d表示节点嵌入的维度;表示eo的转置矩阵;
[0029]
使用softmax函数和relu函数进行归一化处理,从终点角度建立自适应的邻接矩

[0030][0031]
其中,表示图中n个节点的嵌入矩阵,d为节点嵌入的维度;表示ed的转置矩阵;
[0032]
同时对输入的起讫点交通流量数据进行自适应的二维图卷积操作,用公式(6)表示:
[0033][0034]
其中,分别表示自适应二维图卷积模块的输入和输出;表示参数矩阵;表示偏置矩阵;σ(
·
)表示sigmoid函数;
×o表示在起点维度图卷积;
×d表示在终点维度图卷积;
×c表示在特征维度卷积;分别表示起点和终点的自适应邻接矩阵;d表示节点嵌入的维度;分别表示起点和终点的嵌入矩阵。
[0035]
所述串联结构的数量为2个,时空卷积块以历史上t个时间片的起讫点交通流量数据{x1,x2,

,x
t
}为输入,将该输入复制一份,这两份输入具有不同的数据流向:
[0036]
其中一份输入首先进行空间依赖性的捕获,分别对每个时间片的数据输入到自适应二维图卷积模块进行处理;然后将得到的输出作为时间卷积模块的输入,进行时间卷积,捕获其时间依赖性;按照上述步骤重复运算一次,即将自适应二维图卷积模块和时间卷积模块堆叠两次;
[0037]
另外一份输入则不进行卷积运算,而是与两次堆叠后的结果进行矩阵加法运算,构成残差连接,最终该时空卷积块的输出为
[0038]
本发明还保护一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时可实现所述预测方法的步骤。
[0039]
与现有技术相比,本发明的有益效果是:
[0040]
本发明基于自适应二维图卷积的起讫点交通流量预测方法在起讫点交通流量数据的起点维度和终点维度分别生成起点嵌入矩阵和终点嵌入矩阵,在此基础上建立了起点和终点维度的自适应邻接矩阵,通过在两个维度上进行图卷积,充分捕获节点在分别作为起点和终点时不同的空间依赖关系。为验证该方法的有效性,在起讫点交通流量数据集上进行了相关实验,实验表明,相较于同类的其他模型,该模型能够取得较好的预测效果。
附图说明
[0041]
图1为本发明基于自适应二维图卷积的起讫点交通流量预测方法的流程示意图;
[0042]
图2为本发明中数据集的构建过程示意图;
[0043]
图3为本发明中的自适应二维图卷积模块的结构示意图;
[0044]
图4为本发明中的时间卷积网络的结构示意图;
[0045]
图5为本发明中基于自适应二维图卷积的起讫点交通流量预测模型的结构示意图;
0100:00:10为第2个时间片,以此类推,共划分有个时间片。通过界定起始时间处在哪个时间片的时间范围来确定该起始时间对应的时间片编号,从而完成该映射的建立。
[0059]
s1.4.通过遍历原始数据表,使用前两步所建立的两个映射,构建起讫点交通流量数据集,具体方法是:
[0060]
首先将数据集初始化为全零的三维张量χ:
[0061][0062]
其中,张量的第一个维度表示起点维度,第二个维度表示终点维度,第三个维度表示时间维度,表示根据原始数据表的时间跨度所划分的时间片数量,x
t
表示第t时间片的数据,其详细表达为:
[0063][0064]
其中,x
i,j,t
表示在第t时间片内由第i区域驶向第j区域的车流量。
[0065]
然后,遍历原始数据表中的每一条记录,根据start_sta_id和dict_1得到该条记录对应的起点区域编号start_area_id,根据end_sta_id和dict_1得到该条记录对应的终点区域编号end_area_id,根据start_time和dict_2得到该条记录对应的时间片编号time_id。则张量χ中的元素x
start_area_id,end_area_id,time_id
的值加一。重复此步骤直至原始数据表中的所有记录遍历完毕,则最终得到的三维张量即为所构建的起讫点交通流量数据集。
[0066]
进一步地,步骤s2具体包括以下步骤:
[0067]
s2.1.本模型将实际场景中的区域抽象为图结构中的节点。将整个研究范围内的所有区域所构成的交通网络进行抽象化,表示为图结构,则实际场景中的区域与图结构中的节点一一对应,采用如下公式表示该场景中区域抽象化的交通网络:
[0068][0069]
其中v表示节点集合,即区域集合;v∈v表示其中的节点,即某一区域;|v|=n表示节点数量,即区域数量;ε表示交通网络中的边集,区域之间具有道路连接或距离较近,则两个节点之间具有边,边的存在表示两个节点之间具有关联性;表示交通网络中的邻接矩阵,邻接矩阵中第i行第j列的元素a
ij
表示节点vi与节点vj关联程度;
[0070]
s2.2.采用如下公式,使用softmax函数和relu函数进行归一化处理,从起点角度建立自适应的邻接矩阵
[0071][0072]
其中,表示图中n个节点的嵌入矩阵,d表示节点嵌入的维度;表示eo的转置矩阵;
[0073]
s2.3.采用如下公式,使用softmax函数和relu函数进行归一化处理,从终点角度建立自适应的邻接矩阵
[0074]
[0075]
其中,表示图中n个节点的嵌入矩阵,d为节点嵌入的维度;表示ed的转置矩阵。
[0076]
s2.4.采用如下公式,同时对输入的起讫点交通流量数据进行自适应的二维图卷积操作:
[0077][0078]
其中,分别表示自适应二维图卷积的输入和输出;表示参数矩阵;表示偏置矩阵;σ(
·
)表示sigmoid函数;
×o表示在起点维度图卷积;
×d表示在终点维度图卷积;
×c表示在节点特征维度卷积。f表示隐藏层的节点特征维度。
[0079]
进一步地,步骤s3具体包括以下步骤:
[0080]
s3.1.为保持输出的时间片数量与输入的时间片数量保持一致,采用padding模式,对输入进行填充;
[0081]
s3.2.采用如下公式对历史多个时间片数据进行卷积操作:
[0082][0083]
其中分别表示l层t时间片起讫点交通流量数据和l+1层起讫点交通流量数据;αk表示权重参数。k为卷积核的大小,表示当前时间片数据所聚合的历史数据的时间片数量。
[0084]
进一步地,步骤s4具体包括以下步骤:
[0085]
s4.1.对自适应二维图卷积模块和时间卷积模块进行堆叠;
[0086]
s4.2.在所述的时间卷积块最外层设置残差连接,采用如下公式表示时空卷积块内部的残差连接:
[0087]hout
=f(h
in
)+h
in
ꢀꢀꢀꢀꢀ
(8),
[0088]
其中,h
in
,h
out
分别表示时空卷积块的输入和输出;f(
·
)表示堆叠的多层卷积运算。
[0089]
进一步地,步骤s5具体包括以下步骤:
[0090]
s5.1.堆叠所述的时空卷积块,充分挖掘起讫点交通流量数据内部深层次的时空依赖关系;
[0091]
s5.2.在模型尾部设置二维卷积层,在时间维度和节点特征维度对数据进行卷积操作,使输出的数据在两个维度上达到预期数量。
[0092]
进一步地,步骤s6具体包括以下步骤:
[0093]
s6.1.将数据集按照6:2:2比例划分为训练集、验证集和测试集;
[0094]
s6.2.将训练集和验证集输入到模型中进行训练;
[0095]
s6.3.采用如下公式根据预测值和实际值进行损失计算:
[0096][0097]
其中,y,分别表示实际值和模型的预测值;mae表示平均绝对误差。
[0098]
进一步地,表述模型的预测准确度的度量标准包括:平均绝对误差(mae)和均方根误差(rmse)。
[0099]
实施例
[0100]
本发明具体实施采用某省高速公路15天的收费数据构建起讫点交通流量数据集,采用基于自适应二维图卷积的起讫点交通流量预测方法进行起讫点交通流量预测,具体实施步骤如下:
[0101]
1.依据实际场景中的县级行政区划,将整个研究范围划分为n个区域,n表示依据县级行政区划所划分的区域数量,该实际场景中选取某省作为整个研究范围,该省中拥有多少个县级行政区划单位,则所划分的区域就有多少个,即n是根据划分得到。最终所划分的区域数量为160,即n=160。每个区域内入口收费站和出口收费站布置一定数量的传感器,用于采集对应位置的原始数据表,部分字段的示例数据如表1所示:
[0102]
表1原始数据表示例数据
[0103][0104]
其中,pass_id为行程编号,车辆自驶入入口收费站至驶出出口收费站称为一次行程,pass_id为行程的唯一标识;start_sta_id表示入口收费站编号;end_sta_id表示出口收费站编号;start_time为起始时间,表示车辆驶入入口收费站的时间。
[0105]
在此基础上,构建数据集的过程如附图2所示,下面依次对其中的关键步骤进行阐述:
[0106]
首先,根据收费站基本信息表(部分字段的示例数据如表2所示)构建由收费站编号到区域编号的映射(记为dict_1),具体方法是:使用arcgis软件进行空间分析,根据收费站的经纬度(经度lng,纬度lat),将收费站点位投射到相应的县级行政区划区域内,再将收费站所属区域的区域编号作为一个字段值添加到收费站基本信息表中,从而完成该映射的建立。
[0107]
表2收费站基本信息表示例数据
[0108][0109]
然后,构建由起始时间到时间片编号的映射(记为dict_2),具体方法是:以原始数据表中最早时间2021-01-0100:00:00作为时间起点,每5分钟作为一个时间片,例如2021-01-0100:00:00~2021-01-0100:00:05为第1个时间片,2021-01-0100:00:06~2021-01-0100:00:10为第2个时间片,以此类推。通过界定起始时间处在哪个时间范围,来确定该起始时间对应的时间片编号,从而完成该映射的建立。
[0110]
最后,通过遍历原始数据表,使用前两步所建立的两个映射,构建数据集,具体方法是:将数据集初始化为全零的三维张量χ:
[0111][0112]
其中,张量的第一个维度表示起点维度,第二个维度表示终点维度,第三个维度表示时间维度,表示根据原始数据表的时间跨度所划分的时间片数量,x
t
表示第t时间片的数据,其详细表达为:
[0113][0114]
其中,x
i,j,t
表示在第t时间片内由第i区域驶向第j区域的车流量。
[0115]
遍历原始数据表中的每一条记录,根据start_sta_id和dict_1得到该条记录对应的起点区域编号start_area_id,根据end_sta_id和dict_1得到该条记录对应的终点区域编号end_area_id,根据start_time和dict_2得到该条记录对应的时间片编号time_id,将三维张量中对应位置的元素值加一,则张量x中的元素x
start_area_id,end_area_id,time_id
的值加一。重复此步骤直至原始数据表中的所有记录遍历完毕,则数据集构建完毕。
[0116]
2.构建自适应二维图卷积模块:
[0117]
本模型将实际场景中的区域抽象为图结构中的节点。将整个研究范围内的所有区域所构成的交通网络进行抽象化,表示为图结构,则实际场景中的区域与图结构中的节点一一对应,采用如下公式表示该场景中区域抽象化的交通网络:
[0118][0119]
其中v表示节点集合,即区域集合;v∈v表示其中的节点,即某一区域;|v|=n表示节点数量,即区域数量;ε表示交通网络中的边集,区域之间具有道路连接或距离较近,则两个节点之间具有边,边的存在表示两个节点之间具有关联性;表示交通网络中的邻接矩阵,邻接矩阵中第i行第j列的元素a
ij
表示节点vi与节点vj关联程度;
[0120]
如附图3所示,在起点和终点两个维度分别进行节点嵌入,在此基础上构建起点和终点维度的自适应邻接矩阵,具体表示为:
[0121][0122][0123]
其中,分别表示起点和终点的嵌入矩阵,两个嵌入矩阵类似于参数矩阵,与数据集无关,在模型训练时进行初始化,并通过训练不断优化;d表示节点嵌入的维度,取值16;分别表示起点和终点的自适应邻接矩阵。
[0124]
在此基础上,对输入的起讫点交通流量数据进行自适应的二维图卷积操作2d-agcn:
[0125][0126]
其中,分别表示自适应二维图卷积的输入和输出,x
in
为数据集中某一时间片的数据,;表示参数矩阵;f表示隐藏层节点特征维度,取值16;表示偏置矩阵;σ(
·
)表示激活函数,采用sigmoid函数;由于x
in
具有起点和终点两
个维度,需要在两个维度上进行图卷积操作,
×o表示在起点维度图卷积;
×d表示在终点维度图卷积;
×c表示在特征维度卷积(矩阵乘法)。可以看到自适应二维图卷积模块在起点和终点两个维度进行图卷积操作,从两个角度对起讫点交通流量数据进行空间依赖关系捕获,增强了模型对节点空间联系的表征能力。
[0127]
3.构建时间卷积模块tcn:
[0128]
如附图4所示,使用时间卷积网络,时间卷积网络已为诸多相关文章所使用,不过时间卷积网络的使用需要对卷积核大小k和padding取值进行设置,本实施例对两个参数的不同取值在少量数据上进行了初步实验,通过对比初步实验的结果,最终采取了k取值3、padding取值2的取值方法,对历史多个时间片数据在时间维度上进行卷积操作:
[0129][0130]
其中,分别表示l层t时间片起讫点交通流量数据和l+1层起讫点交通流量数据;αk表示权重系数;k表示卷积核大小,取值3。
[0131]
由于时间卷积网络每一时间片数据由上一层历史数据卷积生成,会引起时间片数量减少的问题,因此引入padding机制在时间维度上进行数据填充,使输入时间片数量与输出时间片数量保持一致。其中,padding取值需要与k的取值相对应,padding取值2。
[0132]
4.构建时空卷积块:
[0133]
为综合捕获起讫点交通流量数据在空间和时间上的依赖关系,对自适应二维图卷积模块和时间卷积模块进行堆叠。其中每个时空卷积块内部,按照先自适应二维图卷积模块2d-agcn后时间卷积模块tcn的顺序,依次堆叠两次。为防止由于堆叠多层卷积块而可能引起梯度消失或网络退化等问题,在时空卷积块内部的最外层采用了残差连接,精简神经网络,使得模型训练的空间开销减少,参数量的减少同样使得训练时间有效缩短,提高了整个模型训练的效率。残差连接做如下表示:
[0134]hout
=f(h
in
)+h
in
ꢀꢀꢀꢀꢀꢀꢀꢀ
(8),
[0135]
其中,h
in
,h
out
分别表示时空卷积块的输入和输出;f(
·
)表示堆叠多层卷积块的运算。
[0136]
时空卷积块整体结构如附图5所示。时空卷积块以历史上t个时间片的起讫点交通流量数据{x1,x2,

,x
t
|为输入,将该输入复制一份,这两份输入具有不同的数据流向。其中一份输入首先进行空间依赖性的捕获,分别对每个时间片的数据进行自适应二维图卷积运算;然后将得到的输出作为时间卷积模块的输入,进行时间卷积,捕获其时间依赖性;按照该步骤进行重复运算一次,即将自适应二维图卷积模块和时间卷积模块堆叠两次。另外一份输入则不进行卷积运算,而是与上述运算的结果进行矩阵加法运算,构成残差连接。最终该时空卷积块的输出为
[0137]
5.构建基于自适应二维图卷积的起讫点交通流量预测模型:
[0138]
如附图5所示,为充分挖掘起讫点交通流量数据的深层次时空依赖关系,模型堆叠了两层时空卷积块,两个时空卷积块串联。在此基础上,在模型的尾部设置二维卷积层,如附图4所示,该二维卷积层的输入为:
[0139][0140]
其中:n表示节点数量,t表示模型输入的时间片数量,f表示隐藏层的节点特征维
度;
[0141]
卷积层的输出为:
[0142][0143]
其中n表示节点数量,t表示模型输入的时间片数量,τ表示模型输出的时间片数量;
[0144]
为得到该输出,二维卷积层的卷积核大小设置为(t-τ+1)
×
f,在时间维度和节点特征维度对数据进行卷积操作,使输出的数据在两个维度上达到预期数量。
[0145]
6.模型训练:
[0146]
首先将起讫点交通流量数据集按照6∶2∶2的比例划分为训练集、验证集和测试集。其中,将训练集与验证集输入到基于自适应二维图卷积的起讫点交通流量预测模型中,使用归一化手段,减少数据量纲对预测结果的影响。训练过程中采用mae作为损失函数:
[0147][0148]
其中,y,分别表示实际值和模型的预测值;mae表示平均绝对误差。
[0149]
实验参数设置如表3所示
[0150]
表3实验参数设置
[0151][0152][0153]
训练过程中的损失下降状况如附图5所示。
[0154]
本发明选取平均绝对误差(mae)和均方根误差(rmse)作为描述预测精度的度量标准:
[0155][0156][0157]
其中,表示预测值,yi表示实际值,n表示数据数量,取值n
×n×
τ。评价指标的数值越小,表明模型的性能越好。
[0158]
为探究本发明所提出的模型在起讫点交通流量预测任务中的优势,选取以下方法进行对比:
[0159]
(1)arima(autoregression integrated moving average,差分自回归移动平均):一种经典的时间序列预测模型,对于输入数据的稳定性要求较高;
[0160]
(2)gru(gated recurrent unit,门控循环单元):循环神经网络的一种变体,用于时间序列预测,不考虑节点之间的空间依赖,选用2个gru层进行时间依赖性的捕获;
[0161]
(3)stgcn:一种运用了类似三明治结构时空卷积块的交通预测模型,具有两个门控时间序列卷积块和一个图卷积块;
[0162]
(4)agcrn:一种运用了自适应图卷积的预测模型,进行交通预测。
[0163]
本发明所提出的模型与以上四种模型的性能对比如表4所示:
[0164]
表4模型性能对比
[0165][0166]
从表中可以看出,本发明所提出的基于自适应二维图卷积的起讫点交通流量预测方法,在与arima、gru、stgcn、agcrn的比较中,度量标准mae和rmse都取得了明显的优势,实验对比分析说明本发明所提出的所提出的基于自适应二维图卷积的起讫点交通流量预测方法的科学性和有效性。
[0167]
本说明书对本发明的技术方案进行了详细阐述,应用具体实施方式对本发明的核心思想和有效性进行了进一步讲解,以上实施方式的说明只是用于帮助理解本发明的原理,对于任何相关领域的研究人员,在设计方案和应用场景上进行修改、替换,均在本发明的保护范围之内。总之,本说明书的内容不用以限制本发明。
[0168]
本发明未述及之处适用于现有技术。

技术特征:
1.一种基于自适应二维图卷积的起讫点交通流量预测方法,其特征在于,所述预测方法包括以下内容:s1.依据实际场景中的县级行政区划,将整个研究范围划分为n个区域,根据区域内监测点所采集的原始数据表中入口收费站编号和出口收费站编号,以及收费站基本信息表,确定每个行程的起点区域编号和终点区域编号,根据驶入入口收费站时间确定其所在的时间片编号;初始化为一个全零的三维张量,遍历原始数据表中的每一条记录,确定每条记录所对应的起点区域编号、终点区域编号和时间片编号,将三维张量中对应位置的元素值加一,直至将整个原始数据表所有记录遍历完毕,最终得到的三维张量即为所构建的起讫点交通流量数据集;s2.构建基于自适应二维图卷积的起讫点交通流量预测模型:所述基于自适应二维图卷积的起讫点交通流量预测模型包括多层堆叠的时空卷积块和二维卷积层,所述多层堆叠的时空卷积块依次串联,最后一个时空卷积块的输出连接所述二维卷积层;所述二维卷积层的卷积核大小设置为(t-τ+1)
×
f,其中,τ表示模型输出的时间片数量,t表示模型输入的时间片数量;f表示隐藏层节点特征维度,隐藏层是模型中除输入和输出之外的层状结构,这包括下文所介绍的自适应二维图卷积模块和时间卷积模块所构成的层状结构;所有时空卷积块结构相同,每个时空卷积块包括由t个自适应二维图卷积模块2d-agcn和一个时间卷积模块tcn串联构成的串联结构;每个时间片的起讫点交通流量数据经一个自适应二维图卷积模块2d-agcn连接时间卷积模块tcn的输入,时间卷积模块tcn的输入为t;所述串联结构的数量为m个,m为不小于1的整数,所有串联结构的输出与第一个串联结构的输入进行矩阵加法运算,构成残差连接,残差连接后的结果为时空卷积块的输出;所述自适应二维图卷积模块在起点和终点两个维度进行图卷积操作;s3.模型训练:将起讫点交通流量数据集按比例划分为训练集、验证集和测试集,模型在训练集和验证集上进行参数更新,损失最小时的模型为最优模型,以最优模型用于起讫点交通流量预测。2.根据权利要求1所述的基于自适应二维图卷积的起讫点交通流量预测方法,其特征在于,所述起讫点交通流量数据集的构建过程是:s1.1.依据实际场景中的县级行政区划,将整个研究范围划分为n个区域,每个区域内入口收费站和出口收费站布置一定数量的传感器,用于采集对应位置的原始数据表,原始数据表的关键字段有行程编号pass_id,车辆自驶入入口收费站至驶出出口收费站称为一次行程,pass_id为行程的唯一标识;入口收费站编号start_sta_id;出口收费站编号end_sta_id;起始时间start_time,表示车辆驶入入口收费站的时间;s1.2.获取收费站基本信息表,根据收费站基本信息表构建由收费站编号到区域编号的映射,记为dict_1,具体方法是:收费站基本信息表中关键字段有收费站编号sta_id、收费站经度lng和收费站纬度lat,使用arcgis软件进行空间分析,根据收费站的经度和纬度,将收费站点位投射到相应的县级行政区划区域内,再将收费站所属区域的区域编号作为一个字段值添加到收费站基本信息表中,从而完成该映射的建立;s1.3.构建由起始时间时间到时间片编号的映射,记为dict_2,具体方法是:以原始数据表中最早时间作为时间起点,设定时间片长度为s分钟,每s分钟作为一个时间片,共划分
有个时间片,通过界定起始时间处在哪个时间片的时间范围来确定起始时间对应的时间片编号,从而完成该映射的建立;s1.4.通过遍历原始数据表,使用前两步所建立的两个映射,构建起讫点交通流量数据集,具体是:初始化全零的三维张量其中,三维张量的第一个维度表示起点维度,第二个维度表示终点维度,第三个维度表示时间维度,表示根据原始数据表的时间跨度所划分的时间片数量;然后,遍历原始数据表中的每一条记录,根据start_sta_id和dict_1得到该条记录对应的起点区域编号start_area_id,根据end_sta_id和dict_1得到该条记录对应的终点区域编号end_area_id,根据start_time和dict_2得到该条记录对应的时间片编号time_id,则张量中的元素x
start_area_id,end_area_id,time_id
的值加一;重复此步骤直至原始数据表中的所有记录遍历完毕,则最终得到的三维张量即为所构建的起讫点交通流量数据集;个时间片内的起讫点交通流量数据构成起讫点交通流量数据集,在数据集中选取t个时间片的数据作为一个样本为模型的输入,每个时间片的数据各自输入到2d-agcn中。3.根据权利要求1所述的基于自适应二维图卷积的起讫点交通流量预测方法,其特征在于,所述自适应二维图卷积模块的获取过程是:将实际场景中的区域抽象为图结构中的节点,将整个研究范围内的所有区域所构成的交通网络进行抽象化,表示为图结构,则实际场景中的区域与图结构中的节点一一对应,采用如下公式表示场景中划分的区域所构成的交通网络:其中v表示节点集合,即划分的区域集合;v∈v表示其中的节点,即某一区域,;|v|=n表示节点数量,即区域数量,节点数量与区域数量相同;ε表示交通网络中的边集;表示交通网络中的邻接矩阵,邻接矩阵中第i行第j列的元素a
ij
表示节点v
i
与节点v
j
关联程度;使用softmax函数和relu函数进行归一化处理,从起点角度建立自适应的邻接矩阵使用softmax函数和relu函数进行归一化处理,从起点角度建立自适应的邻接矩阵其中,表示图中n个节点的嵌入矩阵,d表示节点嵌入的维度;表示e
o
的转置矩阵;使用softmax函数和relu函数进行归一化处理,从终点角度建立自适应的邻接矩阵使用softmax函数和relu函数进行归一化处理,从终点角度建立自适应的邻接矩阵其中,表示图中n个节点的嵌入矩阵,d为节点嵌入的维度;表示e
d
的转置矩阵;同时对输入的起讫点交通流量数据进行自适应的二维图卷积操作,用公式(6)表示:其中,分别表示自适应二维图卷积模块的输入和输出;表示
参数矩阵;表示偏置矩阵;σ(
·
)表示sigmoid函数;
×
o
表示在起点维度图卷积;
×
d
表示在终点维度图卷积;
×
c
表示在特征维度卷积;分别表示起点和终点的自适应邻接矩阵;d表示节点嵌入的维度;分别表示起点和终点的嵌入矩阵。4.根据权利要求3所述的基于自适应二维图卷积的起讫点交通流量预测方法,其特征在于,所述时间卷积模块tcn采用padding模式,对输入进行填充,保持输出的时间片数量与输入的时间片数量一致;采用公式(7)对历史多个时间片数据进行卷积操作:其中分别表示l层t时间片起讫点交通流量数据和l+1层起讫点交通流量数据;α
k
表示权重参数;k为时间卷积核的大小,表示当前时间片数据所聚合的历史数据的时间片数量。5.根据权利要求4所述的基于自适应二维图卷积的起讫点交通流量预测方法,其特征在于,所述基于自适应二维图卷积的起讫点交通流量预测模型中各参数的设置为:模型参数设置6.根据权利要求1所述的基于自适应二维图卷积的起讫点交通流量预测方法,其特征在于,s6.1.将数据集按照6:2:2的比例划分为训练集、验证集和测试集;s6.2.将训练集和验证集输入到模型中进行训练;s6.3.采用如下公式根据预测值和实际值进行损失计算:其中,y,分别表示实际值和模型的预测值;mae表示平均绝对误差;模型的预测准确度的度量标准包括:平均绝对误差(mae)和均方根误差(rmse)。7.根据权利要求1所述的基于自适应二维图卷积的起讫点交通流量预测方法,其特征在于,所述串联结构的数量为2个,时空卷积块以历史上t个时间片的起讫点交通流量数据{x1,x2,

,x
t
}为输入,将该输入复制一份,这两份输入具有不同的数据流向:其中一份输入首先进行空间依赖性的捕获,分别对每个时间片的数据输入到自适应二
维图卷积模块进行处理;然后将得到的输出作为时间卷积模块的输入,进行时间卷积,捕获其时间依赖性;按照上述步骤重复运算一次,即将自适应二维图卷积模块和时间卷积模块堆叠两次;另外一份输入则不进行卷积运算,而是与两次堆叠后的结果进行矩阵加法运算,构成残差连接,最终该时空卷积块的输出为8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时可实现权利要求1-7所述预测方法的步骤。

技术总结
本发明为一种基于自适应二维图卷积的起讫点交通流量预测方法,一是在捕获空间依赖性方面提出自适应二维图卷积,其具体做法为:在起点和终点两个维度建立节点嵌入矩阵;使用起点和终点两个维度的节点嵌入矩阵,构建起点和终点两个维度的自适应邻接矩阵;从两个角度对起讫点交通流量数据进行自适应二维图卷积。二是将自适应二维图卷积和时间卷积网络进行多层堆叠,并使用残差连接,防止过拟合现象,在此基础上构建时空卷积块,同时捕获空间依赖性和时间依赖性。使用时间卷积网络捕获不同时间片数据之间的时间依赖关系,能够充分捕获起讫点交通流量数据的时空依赖关系,从而提高了预测精度。精度。精度。


技术研发人员:顾军华 张方明 金建铭 李泽鑫 张鑫 郭睿哲 许瑞波
受保护的技术使用者:河北工业大学
技术研发日:2023.03.06
技术公布日:2023/5/16
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐