本发明涉及一种基于时序交通网络图的交通运行状态分类方法,本发明属于交通领域。
背景技术:
在经济发展如此迅速的今天,车辆数量的增长速度已经完全超乎了我们的想象,随之而来的就是一系列交通拥堵问题。所以,如何能更加有效地解决交通拥堵的问题成为了一个值得我们思考的问题。对于不同的拥堵情况,我们把交通路况分为多个不同的状态,通过分析这些状态来调配相应的交通调控方案,例如调节信号灯的时间相位,是否需要交警指挥等等。
目前已经有了很多基于历史数据、实时数据对交通流量进行特征提取并分类的方法。有的是基于深度学习cnn对图进行特征提提取,有的是利用lstm对时序数据进行特征提取,有的是利用自编码sae进行特征提取,有的是通过nlp的方法进行特征提取。
技术实现要素:
为了克服现有技术的不足,本发明的目的在于提供一种基于时序交通网络图的交通运行状态分类方法,该方法利用时序的交通流量数据构建时序交通网络图,利用graph2vec将时序交通网络图的信息转化为向量,最后结合交通运行状态进行分类。
本发明解决其技术问题所采用的技术方案是:
一种基于时序交通网络图的交通运行状态分类方法,所述方法包括以下步骤:
步骤1:据时间序列道路交通流数据集构建时序交通网络图,并保存网络图信息:获取路段的时序交通流量数据,构建时序交通网络图,并保存网络图信息;
步骤2:将保存的网络图信息转化为vector:利用doc2vec将paragraph转化为特征词向量vector;
步骤3:基于doc2vec训练得到的特征词向量vector进行分类:基于得到的特征词向量vector结合对应交通状态进行分类。
进一步,所述步骤1中,对时序的交通流数据进行预处理并构建时序的交通网络图,获取某路段的时序交通流数据,构建时序的交通网络图,构建方法为有限穿越可视图复杂网络lpvg,且每个交通网络图对应一个交通运行状态,这个交通运行状态为交通信号调控方案。
再进一步,所述步骤2中,构建的时序交通网络图都有paragraph与之一一对应,此处将时序的paragraph转化为固定维数的向量,每个向量各自保存了各个交通网络图的特征信息。
更进一步,所述步骤3中,将时序的特征向量和交通状态分为训练集和测试集,分类器采用随机森林,通过训练集训练出使分类器分类准确率达到最高的参数,利用测试集测试训练好的分类器的分类准确率。
本发明的有益效果:通过将时序数据转为为网络图,进而利用graph2vec将网络图转化为特征词向量,最后形成了一个对交通运行状态进行分类的模型。本发明利用时序网络图保存时序数据的隐藏特征,并用graph2vec将网络图用特征词向量形象地表征出来,克服了对网络图特征提取不充分的缺点,很好地与交通状态相结合,进而提高了对交通状态的分类的精确度。
附图说明
图1是基于时序交通网络图的交通运行状态分类模型结构图。
具体实施方式
下面结合附图对本发明做进一步说明。
参照图1,一种基于时序交通网络图的交通运行状态分类方法,包括以下步骤:
步骤1:根据时间序列道路交通流数据集构建时序交通网络图;
对于单条路段,获取其m个时序流量数据,选取n个连续的时序流量数据构建时序交通网络图,对于,我们将时序交通网路图表示为:
gt={(nt,et,vt)}(1)
并且每一个时序交通网路图都有一个交通运行状态plt与之一一对应,并将交通运行状态集合表示为:
plt={pl1,pl2,…,plk}(2)
其中k=m-n+1;
同时将时序交通网络图集合表示为:
g={g1,g2,…,gt}(3)
其中t=m-n+1;
对于每个时序交通网络图,将用来构建交通网络图的时序流量数据中包含的时间节点作为网络的节点,并将节点集合表示为:
nt={nt1,nt2,…,ntn}(4)
其中tn是时序交通网络图中选取的时序交通流量的时序号;
对于每个时序交通网络图,将属性集合表示为:
vt={vt1,vt2,…,vtn}(5)
其中vtn为每个时序网络图中tn时刻对应的交通流量值。
对于每个时序交通网路图的连边情况,我们可以用一个邻接矩阵a∈rn×n来表示。
对于时序交通网络图中的两个节点nti,ntj,两个节点间存在o个节点,o个节点中存在p∈(1,o)个节点nta使得:
vta>vi+(vj-vi)*(ta-ti)/(tj-ti)(6)
并使得其余o-p个节点ntb满足:
vtb>vi+(vj-vi)*(tb-ti)/(tj-ti)(7)
就表示节点nti与ntj之间有连边,即在邻接矩阵a中的aij满足:
其中i为邻接矩阵的行,j为邻接矩阵的列;
步骤2:利用doc2vec将构建得到的时序交通网络图转化为vector;
对于每一个时序交通网络图gi(i∈[1,tn]),利用weisfeiler-lehman重标记方法对每个交通网路图进行重标记,并将重标记后的度为d的交通网络图gi表示为sgi(d);
利用doc2vec方法将时序交通网路图转化为时序特征向量,将最终得到的时序特征向量组成的矩阵用
j(φ(g))=-logpr(sgi(d)|φ(g))(9)
其中
步骤3:基于graph2vec训练得到的时序特征词向量进行分类;
基于graph2vec训练得到的时序特征向量集合
a=kt/k(12)
其中kt为预测正确的时序交通运行状态个数,k为总时序交通运行状态个数,且k=m-n+1。
根据时序特征向量集合
从得到的时序特征向量样本里随机且有放回地取出e个时序特征向量,并且重复f次,然后利用这f个数据集分别作为训练集训练f个cart决策树模型。
对于每一个cart决策树的分类过程描述如下:
对于所有时序特征向量集合
其中基尼系数表达式为:
对于特征向量的每一个特征的每一次切分都尽可能使基尼系数达到最小,最终得到最优的决策树;
所有的t个决策树共同组成随机森林,且最终的分类结果由这t个决策树投票决定产生分类结果。
实际实验中的数据,过程如下:
(1)选取实验数据
原始交通流数据集包含11条路段30天的车流量与pl数据,pl数据为每个时刻对应的交通信号调控方案,即交通运行状态。所述的数据集中的交通流数据为scats流量数据,采样间隔t为5min。
(2)参数确定
根据时间序列道路交通流数据集构建网络图中,选取n=5个时间序列长度构建交通网络图,并将5个时间序列中的最后一个时刻对应的pl值作为所构建交通网络图运行状态标签。
doc2vec模型中设置输出的特征词向量为128,窗口大小设置为1,训练算法设置为dm,初始学习率设置为0.025,最小学习率设置为0.0001,用于训练的并行数设置为4,训练迭代次数设置为20次,weisfeiler-lehman重标记次数为2,采纳单词的最小词频设置为5。
随机森林中决策树数量设置为150,最大特征数设置为2,最大深度设置为none。
(3)实验结果
本发明实验以交通运行状态分类为目的,将时序交通网络图转化得到的特征向量结合时序交通运行状态进行分类。最终得到的分类精确度为80%。