一种面向复杂城市交通网络的缺失流量数据恢复方法与流程

文档序号:16541347发布日期:2019-01-08 20:25阅读:334来源:国知局
一种面向复杂城市交通网络的缺失流量数据恢复方法与流程

本发明属于数据挖掘和智能交通领域,涉及缺失数据恢复,是一种面向复杂城市交通网络的缺失交通流量数据恢复方法。



背景技术:

随着交通信息化的快速发展,交通数据爆炸式地增长。其中单位时间过车量是描述交通流的一个重要指标,其变化规律反应了交通流基本性质。但是因为采集、传输或存储的故障,数据会存在错误、丢失的问题。据的缺失不仅降低了数据的有效性,同时也给后续的工作带来了困扰。残缺交通数据恢复是针对海量交通数据的有效化处理,对交通管理系统(tms)和智能交通系统(its)的后续分析有着重要意义。

迄今为止,有大量的研究文献对交通缺失数据恢复进行了大量研究。也有许多预测研究中着重强调了针对缺失数据的处理。从利用交通数据特性可以归纳为:利用时间关联和利用时空关联性两种。在利用时间关联性方面,最初有一些研究利用交通数据的周期性通过计算历史平均值来恢复。例如qili等人在《ppca-basedmissingdataimputationfortrafficflowvolume:asystematicalapproach》中通过日周期性、局部可预测性和交通流量的统计特性对随机缺失数据完成了很好的恢复,但是因为没有利用整体路网的空间关联性导致无法处理长时间缺失数据。在最近的研究中,路网的空间关联性得到了越来越多的重视并被引入到交通数据的恢复中。其中有许多研究利用张量分解对交通残缺数据恢复进行了研究。例如ranbin等人在《tensorbasedmissingtrafficdatacompletionwithspatial–temporalcorrelation》中构建了一个时间、天、周和位置四个维度的张量。但是其针对范围很有限是一条高速路,而不是复杂的城市路网交通。随着交通数据量的增加,张量模型规模呈几何倍数地增加,使得计算量越来越大。上述现有技术因为计算量较大,均没有针对复杂的城市道路交通;同时因为没有利用城市路网交通数据的局部时空特性,使得恢复效果没有较好的泛化能力。



技术实现要素:

本发明旨在解决以上现有技术的问题。提出了一种对复杂城市交通路网有效利用交通流量时空关联性以及降低计算复杂度问题的面向复杂城市交通网络的缺失流量数据恢复方法。本发明的技术方案如下:

一种面向复杂城市交通网络的缺失流量数据恢复方法,其包括以下步骤:

第一步:通过道路视频监控获取公众出行信息,其中包括车牌号、过车时间和卡口编号三个属性。从中提取车辆原始轨迹数据以及对应卡口流量数据;

第二步:通过轨迹挖掘将路网中的相近卡口映射到矩阵空间中相近的位置,利用词嵌入和数据降维方法获取卡口在二维空间中的向量表达,并离散化二维向量空间获取路网的矩阵化表达,并将卡口的流量对应填入矩阵构成路网流量图片。

第三步:基于卷积神经网络和多模态结构,构建缺失数据恢复模型,并训练模型;将恢复后的路网完整数据作为输入进行迭代计算,训练模型。

第四步:利用训练完成的模型,对缺失路网流量进行恢复。

进一步的,所述利用词嵌入技术,根据车辆轨迹和滑动时间窗口,训练获得能体现卡口间关联性的卡口向量,具体包括:卡口嵌入模型分为两层:第一层是映射层,即卡口嵌入的输出,卡口li经过映射v获得卡口高维向量v(li)。第二层是预测层,根据第一层输出的卡口向量v(li)预测其附近卡口。针对分类结果太多导致的计算量太大问题,用负采样技术计算代价函数,即训练的目标是将高概率分配给真实的附近卡口,同时低概率分配给对比卡口。

进一步的,利用t-sne保持数据样本点间关系的降维方法将卡口的高维向量v(li)转化为二维向量

进一步的,还包括通过扩散-收缩算法将卡口二维向量li∈o,其中o是路网中所有卡口集合,在尽可能保留点与点之间相对位置的前提下放入矩阵m,有r行c列,其中的元素为对应的卡口或者为空。为了方便将该矩阵表示为:其中均为整数,表示li在矩阵pm的位置。包括以下三步:首先用一定大小的网格切割该欧式空间,切割完成后会出现一些方格内没有卡口点,一些方格内有一个点,一些方格内有多个点;然后由中心向外扩散将一个有多个点的方格中的点向外扩散;最后,因为上一步扩散会产生一些不必要的空隙,所以需要收缩。

进一步的,所述扩散-收缩算法具体包括:

s22切割:首先通过随机采样计算卡口点密度dnodes,然后根据密度确定方格边长长度:接下来,以box_length为方格边长将欧式空间分割,得到一个矩阵m,bi,j表示m的第i行,第j列元素,经过切割后的m矩阵中有三种类型的元素:没有包含任何卡口的,包含一个卡口的,包含多个卡口的;

s23扩散:将多余的点由内向外扩撒,从处理中心方格开始,处理顺序为一圈一圈地扩散到最外层,处理一个包含多个点的卡口时,保留最靠近方格中心的点,移动其它点,首先应将多余的点往中心方向的不含点的方格移动,如果没有则将多余的点向外移动,不管目标方格中是否有点,扩散使每个方格中最多包含一个点;

s24收缩:收缩时需遵循三条规则:a)在移动点时,只能把离自己远的点移动的更靠近,不能把离自己近的点移动的更远。b)采用曼哈顿距离。c)考虑第一条时不予考虑超过d个距离,即若两点之间距离超过d认为其不相关。

进一步的,还包括提出了一种保持点与点之间相对距离的收缩方法:s-shrink,该方法通过综合考虑s步移动能否即不违反上述三条规则,又能收缩,达到部分迁移的效果;即尝试移动一个点,如果这个点的移动违反了收缩三规则,那么记录下被影响的点,在接下来的移动中这些被移动的点必须要去消除前序移动中违反收缩三规则的移动,如果不能消除,那么这次移动包括前序的移动是不可行的;直到s步移动后,选取这些点的移动既没有违反收缩三原则又能最大程度降低相关极大团松散度的移动步骤作为这个点的移动方案。

进一步的,所述将对应卡口的流量填入矩阵构成路网流量图片具体包括:

通过network2matrix将交通卡口映射到矩阵中,使相似的卡口在矩阵中相距较近,将对应的卡口流量数据对应卡口在矩阵中的位置填入矩阵,矩阵中没有卡口的数据填零补充,构成对应的路网流量图片mt表示在t时段的路网流量图片。

进一步的,所述构建缺失数据恢复模型的步骤包括:恢复子网络的构建和训练,恢复子网络的输入为当前真实路网流量图片与当前缺失噪声矩阵missnoiset的点积,输出为rt;预测子网络的构建和训练,预测子网络的输入为前n个时段的真实路网流量图片输出pt;融合子网络构建和训练,训练融合网络,固定预测子网络和恢复子网络的参数,将其输出作为融合网络的输入,将上一步恢复的结果中对缺失路口的恢复以及未缺失路口的流量做整合,作为当前网络的输入。

本发明的优点及有益效果如下:

本发明提出一种面向复杂城市交通网络的缺失流量数据恢复方法;针对有效利用时空关联性问题,引入深度学习恢复路网交通流量残缺数据,结合当前残缺路网流量的空间关联性与历史路网流量的时间关联性,并将恢复后的清晰数据作为输入进行迭代计算,实现数据恢复。针对降低计算复杂度问题,提出路网矩阵化算法network2matrix算法:从轨迹数据中挖掘路网中路口的关系,将路网重构成矩阵,利用卷积神经网络的卷积局部计算达到提取路网局部特征、降低计算复杂度与提高泛化能力的目的。

附图说明

图1是本发明提供优选实施例基于复杂城市道路的缺失流量数据恢复方法整体框图。

图2是本发明的总体流程图。

图3是路网矩阵化流程图。

图4是路口嵌入模型图。

图5是卡口向量扩散示意图。

图6是交通递归流量填补神经网络框图。

图7是恢复子网络示意图。

图8是预测子网络示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本发明的一部分实施例。

本发明解决上述技术问题的技术方案是:

如图1是本发明总体的流程图,包括数据获取,路网矩阵化和缺失数据恢复共三大模块。具体说明本发明的详细实施过程

s1:获取数据源。利用道路监控探头获取行驶车辆原始数据,整理数据提取车辆轨迹以及统计卡口流量信息。

s2:路网矩阵化。根据轨迹信息挖掘卡口关系,利用词嵌入和数据降维方法获取卡口在二维空间中的向量表达,并离散化二维向量空间获取路网的矩阵化表达。

s3:构建路网流量恢复模型。训练模型。

s4:根据训练完成模型,对路网流量进行恢复。

s21:如3所示,利用词嵌入技术,根据车辆轨迹和滑动时间窗口,训练获得能体现卡口间关联性的卡口向量。该模型分为两层:第一层是映射层,这也是卡口嵌入的输出,用表示这个过程。第二层是预测层,根据第一层输出的卡口li的向量预测其附近卡口。为了降低最终预测时类别过多的问题,通常计算代价函数时负采样计算,即训练的目标是将高概率分配给真实的附近卡口,同时低概率分配给对比卡口。在实践中,通过从噪声分布中只选取k个对比卡口来近似噪声词概率。代价函数公式如下:

其中表示根据目标卡口lt预测其附近卡口ln的二元逻辑回归概率,表示根据目标卡口lt预测其噪声卡口对立事件概率。

利用t-sne保持数据样本点间关系的降维方法将卡口的高维向量v(li)转化为二维向量

卡口向量在二维空间中处于连续分布,接下来通过扩散-收缩算法将这些点在尽可能保留点与点之间相对位置的前提下将这些卡口点放入矩阵中。该算法的主要有以下三步:首先用一定大小的网格切割该欧式空间,切割完成后会出现一些方格内没有卡口点,一些方格内有一个点,一些方格内有多个点。然后由中心向外扩散将一个有多个点的方格中的点向外扩散。最后,因为上一步扩散会产生一些不必要的空隙,所以需要收缩。

s22切割:首先通过随机采样计算卡口点密度:dnodes,然后根据密度确定方格边长长度:根据经验num_node一般取为3-5。接下来,以box_length为方格边长将欧式空间分割,得到一个矩阵m。bi,j表示m的第i行,第j列元素。经过切割后的m矩阵中有三种类型的box:没有包含任何卡口的方格,包含一个卡口的方格,包含多个卡口的方格。

s23扩散:这一步是为了消除上一步产生的包含多个卡口的box。将多余的点由内向外扩撒。从处理中心方格开始,处理顺序为一圈一圈地扩散到最外层,就像圆形水波荡开一样。处理一个包含多个点的卡口时,保留最靠近方格中心的点,移动其它点,首先应将多余的点往中心方向的不含点的方格移动,如果没有则将多余的点向外移动,不管目标方格中是否有点,示例如图4所示。为了细化扩散方向,定义了八个方向东、西、南、北、东北,东南,西南,西北,水平和垂直方向均已15°为界。扩散使每个方格中最多包含一个点。

s24收缩:因为扩散后可能会存在一些不必要的空隙,如果能消除这些空隙则可以大大减小输入数据的维度以及减少后续神经网络的参数数量。收缩时,需遵循三条规则:a)在移动点时,只能把离自己远的点移动的更靠近,不能把离自己近的点移动的更远。b)采用曼哈顿距离。c)考虑第一条时不予考虑超过d个距离,即若两点之间距离超过d认为其不相关。

如果只考虑单个点的单步移动则会导致收缩效果不好,仍然存在大量空隙。并且稀疏性会导致后续神经网络训练变得困难,考虑所有点的移动则会带来巨大的计算复杂度,所以提出了一种保持点与点之间相对距离的收缩方法:s-shrink。该方法通过综合考虑s步移动能否即不违反上述三条规则,又能收缩,达到部分迁移的效果。即尝试移动一个点,如果这个点的移动违反了收缩三规则,那么记录下被影响的点。在接下来的移动中这些被移动的点必须要去消除前序移动中违反收缩三规则的移动,如果不能消除,那么这次移动包括前序的移动是不可行的。直到s步移动后,选取这些点的移动既没有违反收缩三原则又能最大程度降低相关极大团松散度的移动步骤作为这个点的移动方案。

s25:构建路网流量图片。通过network2matrix将交通卡口映射到矩阵中,使相似的卡口在矩阵中相距较近。将对应的卡口流量数据对应卡口在矩阵中的位置填入矩阵,矩阵中没有卡口的数据填零补充,构成对应的路网流量图片mt表示在t时段的路网流量图片。即mt是这样一个矩阵,这个矩阵中的第x行第y列元素计算公式如下,其中表示卡口li在t时段的交通流量。

上述步骤s3中的构建路网流量恢复模型流程如图5所示,具体可以分为以下3个步骤。

s31:恢复子网络的构建和训练。构建如图6所示。恢复子网络的结构如图为多层卷积。利用卷积以小范围路网做局部计算,降低在处理动态缺失时带来的高计算复杂度。

恢复网络的输入为当前真实路网流量图片与当前缺失噪声矩阵missnoiset的点积,输出为rt。missnoiset中的元素如果为零或为一表示对应的路网流量元素的缺失或保留。损失函数在训练时同时计算缺失值的恢复误差和非缺失值的自编码误差,损失函数不能直观反应缺失值恢复的收敛情况。所以,在损失函数计算中加入缺失权值,只计算数据缺失的卡口的误差,公式如下,其中,missflagt=1-missnoiset

s32:预测子网络的构建和训练。构建如图7所示,与恢复子网络不同,预测子网络的输入为多个时段的路网流量图片,为了满足这样的输入,需要将多张路网图片拼接。将多个时段的路网流量图片拼接为一个三维张量-彩色路网流量图片,这个张量的第一第二维度与路网流量图片一样,第三维度为时段维度。这样的拼接就像彩色图片,其中的每一个颜色通道对应每一时段的路网流量图片。彩色流量图片不仅包含路网局部空间信息,还包含有局部时间信息。针对彩色图片输入的卷积神经网络能够捕获彩色图片包含多个颜色通道的局部时间特征,同样针对彩色路网流量图片,卷积神经网络能够捕获路网的时空特征。

预测子网络的输入为前n个时段的真实路网流量图片输出pt。所以预测子网络的损失函数计算的是pt之间的误差,损失函数公式如下,其中r和c分别表示图片流量图片的行数与列数。

s33:融合子网络构建和训练。根据前两步,预测网络主要作用是提取历史路网流量时空特征完成预测,没有很好的抗噪能力。而恢复网络只能根据路网的空间特征完成恢复导致恢复效果并不理想。所以为了综合路网的局部时空特性,结合两者是十分必要的。

训练融合网络,固定预测子网络和恢复子网络的参数,将其输出作为融合网络的输入。为了训练融合网络的持续恢复能力,需要将上一步恢复的结果中对缺失路口的恢复以及未缺失路口的流量做整合,作为当前网络的输入,如公式(18)。用表示yt整合后的路网流量,计算公式如下:

s4:根据训练完成模型,对路网流量进行恢复。交通流量递归恢复网络的迭代计算公式如下,其中merge表示融合子网络,predict表示预测子网络,recovery表示恢复子网络。

yt=merge(predict({yt-n,…,yt-1}),recovery(mt))(6)

本发明的有益效果:首先,针对复杂交通路网的时空特性和交通流量动态缺失特点,提出了一种针对交通流量动态缺失的交通流量递归数据恢复神经网络,使用多模态结构结合路网的时空特性和局部计算完成恢复。其次,首次提出路网流量的局部空间特征,并提出network2matrix算法从车辆轨迹中挖掘路口关系重构路网得到路网流量,路网流量图片中路口与路口间的关联性与其距离正相关,通过与卷积神经网络局部卷积计算结合,提取路网局部空间特征,降低计算复杂度,提高模型泛化能力。为了获取交通流量数据的时间关联性,在network2matrix的基础上构建了一种新的历史交通流量数据输入格式,将多个历史路网流量图片拼接在一起,构成三维张量,如同彩色图片的多个颜色通道。

以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1