一种基于收费数据的高速公路旅行时间的预测方法与流程

文档序号:13760912阅读:310来源:国知局
本发明涉及智能交通
技术领域
,具体地说是一种基于收费数据的高速公路旅行时间的预测方法。
背景技术
:近年来,在中国的经济发展历程中,城市规模也在不断扩大,高速公路作为陆路交通中不可或缺的重要组成部分,在人们的出行以及物流等方面中扮演着重要作用,而随着机动车保有量的不断增加,导致交通拥堵,降低了高速公路运行效率,使得汽车在高速公路上的旅行时间变得不确定性。精确预测汽车在高速公路上的旅行时间已经成为国内外研究的重要课题。高速公路旅行时间预测能够给高速公路使用者提供实时准确的信息,帮助高速公路使用者进行出行时间和高速公路路段选择进行决策,合理规划出行路径,提高出行效率,所以精确的高速公路旅行时间预测是智能交通系统在高速公路上运用的一个重要组成方面。现阶段的研究方法主要包括时间序列模型,Kalman滤波模型,BP神经网络等。其中卡尔曼滤波模型多采用浮动车采集的数据,其数据量有限且较为单一;BP神经网络模型多采用固定监测器采集的数据(包括交通流量,密度,速度等信息),该方法具有较高的实时性,且精度高,但是由于神经网络对网络初始化比较敏感,需求多次平均值来确定最终预测值,这也加大了计算量,而且需要投入大量资金购买并安置设备。这几个模型在短时预测中表现良好,然而随着预测深度(如预测一小时后某高速路段的旅行时间)的不断增加,误差则会大幅增加。而在实际应用中,通过高速公路出行更需要深度预测。技术实现要素:本发明为解决以上现有技术的不足,一种基于收费数据的高速公路旅行时间预测。从出行者的角度来看,本发明可以让出行者更好地规划出行路线,合理安排时间,提高出行效率。从交通管理部门的角度来看,能够明显改善高速公路的服务水平,提高人们对出行的满意度。为了解决该技术问题,本发明提供的技术方案包括:一种基于收费数据的高速公路旅行时间的预测方法,所述方法包括以下步骤:步骤一,获取预定高速公路的收费数据;步骤二,预处理所述高速公路的收费数据;所述预处理包括:对所述收费数据进行提取,获得一个含有入口收费站编号、入口时间、出口收费站编号,出口时间,以及日期的数据集;以及对数据进行筛选剔除错误数据;步骤三、对于预处理后的数据集采样和处理得到样本集;所述采样包括:根据数据中的时间进行采样,每隔预定的时间间隔A抽取预处理后的数据集中的B个样本,并对样本中车辆的数据进行跟踪,在其它卡口获取该B个样本中的车辆所对应的收费数据;所述处理包括:需要对于数据的内容进行处理,所述对数据的内容进行处理包括对数据内容进行替换,对采集到的预定的时间间隔A内的B个样本的旅行时间进行平均,使用平均旅行时间来代替各个样本中的实际旅行时间;步骤四、利用所述样本集建立预测模型;所述建立预测模型包括建立自编码器模型以及建立BP神经网络模型;其中,建立自编码器模型包括:首先,将输入变量输入到隐藏层进行计算,所述输入变量表示为其中i表示第i个样本,每个xi是一个三维向量,分别是tn-3、tn-2、tn-1时刻的平均旅行时间,N表示样本的总数;上述输入数据在隐藏层中使用公式:进行计算,其中,所述y为对于通过所述隐藏层计算后得到的结果,所述θ1={w1,b1},w1是连接输入层和隐藏层的权重矩阵;b1是连接输入层和隐藏层的偏置向量;然后,将所述y输入到自编码器的输出层进行计算得到重构后的数据,实现对于输入数据的重构。所述输出层中使用的计算公式为:其中,z即为对y反向解码之后的结果,g为是解码函数,所述θ2={w2,b2},w2是连接隐藏层和输出层的权重矩阵;b2是连接隐藏层和输出层的偏置向量;第三,通过建立损失函数,利用训练集数据通过反向传播算法不断更新迭代{θ1,θ2},直到损失函数收敛为止,确定参数{θ1,θ2};其中,建立BP神经网络模型包括:首先,将重构后得到的数据集输入到所述BP神经网络隐藏层进行计算,所述计算公式为h=s(w3z+b3),其中,h为计算结果,θ3={w3,b3}w3是连接输入层和隐藏层的权重矩阵,b3是连接输入层和隐藏层的偏置向量,s是激活函数;然后,将所述结果h通过公式o=r(w4h+b4)进行计算,得到训练用的预测结果o,其中,w4是连接隐藏层和输出层的权重矩阵,b4是连接隐藏层和输出层的偏置向量;第三,通过建立损失函数,利用训练集数据通过反向传播算法不断更新迭代{θ3,θ4},直到损失函数收敛为止,确定参数{θ3,θ4};步骤五,高速公路旅行时间预测;将测试数据的输入变量x*先后输入到所述自编码器和所述BP神经网络模型中,通过所述计算模型预测旅行时间。优选地,所述方法中所述旅行时间的阈值范围通过如下方法来确定:获取两个高速公路收费站之间的距离s;获取高速公路的速度v的范围已知的情况下;根据公式t=s/v,求出预定的时间阈值范围。优选地,所述BP神经网络的输入变量为三维矩阵,即n-1,n-2,n-3时刻的旅行时间;输出变量是一维向量,即,n时刻的旅行时间。本发明采用上述方案的技术效果在于:1.本发明的最大优点是提供一种基于自编码器与BP神经网络结合的预测模型,该方法由于自编码器具有自适应学习的特性,对网络初始化不敏感,大大提高模型的稳定性。2.本发明的模型能够对数据进行精确地深度挖掘,在对旅行时间进行长时预测(如预测一小时后某高速路段的旅行时间)时,具有较强的鲁棒性,预测精度高且稳定。3.本发明对历史旅行时间进行错位的输入,能充分考虑其时序性,对数据充分利用。4.本发明采用高速公路收费数据,早已完善的高速收费系统无需投入大量成本,即可获得大量、有效、准确的数据。附图说明图1为本发明所述的基于自编码器与BP神经网络结合的高速公路旅行时间预测流程图;图2为本发明的算法结构图;图3为预测结果示意图。具体实施方式下面结合附图和实施例对本发明做进一步的详细说明,使得本领域技术人员参照说明书文字能够据以实施。本发明提供一种基于收费数据的高速公路旅行时间的预测方法,如图1所示,所述方法包括以下步骤:步骤一,获取预定高速公路的收费数据。为了预测高速公路的旅行时间,首先需要对于高速公路的收费数据进行获取。在本具体实施方式中,为了获取高速公路的收费数据,首先选定目标高速公路,获取该目标高速公路的收费原始收据。所述原始数据可以从高速公路的收费站获得,可以通过拷贝或者网络传输的方式取得上述原始数据。步骤二,预处理所述高速公路的收费原始数据。高速公路收费的原始数据中通常包含一些错误的信息,并且还有一些在本具体实施方式中无用的信息,因此在获取上述原始数据之后,需要对于上述数据进行预处理,以获取需要的数据集。获取的数据包括预先选取某一高速公路,获取高速公路收费数据,对原始数据进行预处理,提取出一个含有入口收费站编号、入口时间、出口收费站编号,出口时间,以及日期的数据集。在本具体实施方式中,可以通过阈值的方式对于原始数据进行筛选,例如设置旅行时间的阈值范围,对于原始数据中的旅行时间处于阈值范围之外的数据予以剔除。这样,可以便于保留有效数据,从而有利于提高预测结果的准确性。所述旅行时间的阈值范围可以通过高速公路的通行特点来确定,例如,在中国,国家规定的高速公路的时速范围为60~120km/h。在两个高速公路收费站之间的距离s已知、速度v的范围已知的情况下,可以根据公式t=s/v,求出预定的时间阈值范围,对于数据中位于该阈值范围之外的内容进行剔除。步骤三、对于预处理后的数据集采样和处理得到样本集。高速公路的卡口收费数据具有不均匀性,例如,在有些情况下,较短时间内会有大量车辆通过,而在某些情况下很长时间内又只有较少的车辆通过。数据的不均匀会对预测结果产生不良的影响,因而首先需要对预处理后的数据集进行采样。对所述预处理后的数据集进行采样包括根据数据中的时间进行采样,例如每隔预定的时间间隔A抽取其中的B个样本,并对样本中的数据进行跟踪,在其它开口获取该B个样本中对应的收费数据。例如,在本具体实施方式中优选地,可以在5min内抽取10个刷卡样本,并跟踪这些样本在其它收费站卡口的收费数据。此外,由于数据本身不具有连续性,而且在数据个体之间的速度差异并对于后续处理并不能带来优势,因而在本步骤中,还需要对于数据的内容进行处理。所述对数据的内容进行处理包括对数据内容进行替换,对采集到的预定的时间间隔A内的B个样本的旅行时间进行平均,使用平均旅行时间来代替各个样本中的实际旅行时间。经过上述处理之后就得到了一个可以用于后续处理的样本集。步骤四、利用所述样本集建立预测模型在本步骤中通过已经采集到的样本集训练相关的数据模型,以便于所述预测模型能够准确预测所述旅行时间。在所述步骤四中包括:4.1将所述样本集输入到自编码器进行数据重构,得到重构后的数据集所述自编码器通常用于现有技术中的图像处理领域,其可以对于输入其中的数据进行重构,得到重构后的数据。在本具体实施方式中,通过将所述样本集输入到所述自编码器中进行重构能够提取样本集中的数据特征,便于在后续的BP神经网络计算中减小对于数据的敏感性,增加旅行时间结果预测的准确性。在本步骤中:首先,将输入变量输入到隐藏层进行编码,所述输入变量表示为其中i表示第i个样本,每个xi是一个三维向量,分别是tn-3、tn-2、tn-1时刻的平均旅行时间,N表示样本的总数。上述输入数据在隐藏层中使用公式:y=fθ1(x)=f(w1x+b1)...(1)]]>进行计算。其中,所述y为对于通过所述隐藏层计算后得到的结果;所述θ1={w1,b1},w1是连接输入层和隐藏层的权重矩阵;b1是连接输入层和隐藏层的偏置向量。然后,将所述y输入到自编码器的输出层进行解码,实现对于输入数据的重构。所述输出层中使用公式:z=gθ2(y)=g(w2y+b2)...(2)]]>进行计算,得到重构后的数据。其中,z即为对y反向解码之后的结果,g为是解码函数,所述θ2={w2,b2},w2是连接接隐藏层和输出层的权重矩阵;b2是连接接隐藏层和输出层的偏置向量。第三,通过建立损失函数,利用训练集数据通过反向传播算法不断更新迭代{θ1,θ2},直到损失函数收敛为止,参数{θ1,θ2}就可以确定下来,对输入数据的重构就完成了。自编码器中的算法是本领域的现有技术,其中的具体算法可以在现有技术中选择。而本具体实施方式中在高速公路旅行时间预测中使用自编码器能够减小BP神经网络对于高速公路旅行时间预测中的数据敏感性。从而提高了预测结果的准确性和稳定性。以及4.2将重构后的数据集输入到BP神经网络,训练得到得到BP神经网络模型。在本实施方式中,通过将数据先输入到自编码器中进行重构然后再使用BP神经网络的方法进行预测,由于BP神经网络是一个自适应的模型,因而首先需要对于BP神经网络进行训练。在所述训练过程中:首先将重构后得到的数据集输入到所述BP神经网络隐藏层进行计算。所述重构后的数据集即为步骤四中所述的z。将z输入到BP神经网络的隐藏层,得到隐藏层的值h,z和h满足公式h=s(w3z+b3)……………………(3),其中θ3={w3,b3},w3是连接输入层和隐藏层的权重矩阵,b3是连接输入层和隐藏层的偏置向量,s是激活函数。然后,通过公式o=r(w4h+b4)……………………(4),得到输出数据,其中w4是连接隐藏层和输出层的权重矩阵,b4是连接隐藏层和输出层的偏置向量。第三,通过建立损失函数,利用训练集数据通过反向传播算法不断更新迭代{θ3,θ4},直到损失函数收敛为止,参数{θ3,θ4}就可以确定下来。优选地,在所述BP神经网络中,输入变量z是三维矩阵,即n-1,n-2,n-3时刻的旅行时间,输出变量是一维向量o,即,n时刻的旅行时间,即为需要预测的变量。步骤五,高速公路旅行时间预测。将测试数据的输入变量x*先后输入到所述预测模型中,通过所述计算模型预测旅行时间。实施例需要说明的是,本发明所使用的是收费数据是由OpenITS提供的广州机场南高速公路开放数据资源中的第一期数据中的高速公路收费站数据,数据包含某10天内每隔5分钟抽取10个刷卡样本数据,其中与本发明直接相关数据字段有:入口收费站编号、出口收费站编号、入口时间、出口时间、日期信息等信息。数据的样式如表1所示:表1收费数据样式ENTRANCEIDENTRANCETIMEEXITIDEXITTIMEDAYOFWEEK50:00:0780:11:15150:00:1680:11:18150:00:2380:11:27150:00:3380:11:01150:00:3980:11:39150:00:4880:12:10150:00:5280:11:29150:01:0770:09:431本发明所使用的收费数据包括8个收费站,以三里元收费站为起点,各个收费站之间的距离如表2所示:表2各收费站离三元里收费站的距离本发明的实现路线包括以下几步:步骤一,选取某一高速公路,获取高速公路收费数据,对原始数据进行预处理,提取出一个含有入口收费站编号、入口时间、出口收费站编号,出口时间,以及日期的数据集。上述原始数据预处理主要目的是去除异常数据,本发明预测是车辆在通过高速公路的过程中,没有停车休息,因此本发明需要剔除明显大于正常旅行时间的数据,此外也要去除一些旅行时间过分小的数据。主要是根据国家对高速公路时速要求(最低速为60km/h,最高速为120km/h),以平均速度代替最高(最低)速度,根据公式求得两个站点间的旅行时间,剔除掉旅行时间不合理的记录,即剔除旅行时间过短或过长的数据。步骤二,生成样本集,由于收费数据的采集方法通常是每隔5min抽取10个刷卡样本,数据本身不具有连续性,而根据本发明的实验要求,需要对步骤一的数据进行平均旅行时间计算。本发明将时间间隔设定为1小时,通过计算每个时间间隔(1h)内的平均旅行时间,选择该高速公路10天的收费数据将生成样本集。步骤三,自编码器结合BP神经网络建模,确定输入输出变量。输入变量是三维矩阵,输出变量是一维向量,即为需要预测的变量。本发明为了充分考虑数据的时性,本发明对数据进行错位输入,因此三维输入变量分别是tn-3、tn-2、tn-1时刻的平均旅行时间,输出变量是tn时刻的平均旅行时间。步骤四,确定训练数据和测试数据。根据步骤二中的样本集,本发明将前7天数据作为训练数据,后3天作为测试数据。步骤五,自编码器结合BP神经网络模型参数标定。该模型分为两部分:第一部分是通过自编码器提取输入数据的特征;第二部分是将特征输入到BP神经网络进行预测。因此该步骤需要通过训练数据学习自编码器中输入层与隐藏层、隐藏层与隐藏层以及隐藏层与输出层之间的权重矩阵和偏置向量;还需要学习BP神经网络中的权值矩阵以及偏置向量。具体过程如下:(1)以步骤三中的3个输入变量最为其中i表示第i个样本,每个xi是一个三维向量,分别是tn-3、tn-2、tn-1时刻的平均旅行时间,N表示样本的总数。以步骤三的输出变量作为根据步骤四,以7:3的比例得到训练集(2)建立输入输出关系,该步骤分为两部分:首先,建立自编码器重构输入数据,该过程属于无监督学习,将输入数据输入到隐藏层进行编码,再经过解码得到输出层,实现对输入层的重构。具体地,将(1)中的编码为y,x和y满足公式(1),其中θ1={w1,b1},是连接输入层和隐藏层的权重矩阵和偏置向量,f是编码函数。然后需要将y反向解码为对的一种重构z,z和y满足公式(2),其中θ2={w2,b2},是连接隐藏层和输出层的权重矩阵和偏置向量,是连接输入层和隐藏层的权重矩阵和偏置向量,g是解码函数。通过建立损失函数,这里使用稀疏编码代价函数作为损失函数,利用训练集数据通过反向传播算法不断更新迭代{θ1,θ2},直到损失函数收敛为止,参数{θ1,θ2}就可以确定下来,对输入数据的重构就完成了。y=fθ1(x)=f(w1x+b1)---(1)]]>z=gθ2(y)=g(w2y+b2)---(2)]]>其次,在上一步中我们得到了输入数据的重构z,本发明是将z输入到BP神经网络中进行回归预测。具体地,将z输入到BP神经网络的隐藏层,得到隐藏层的值h,z和h满足公式(3),其中θ3={w3,b3},是连接输入层和隐藏层的权重矩阵和偏置向量,s是激活函数。然后通过公式(4),得到输出层,通过建立损失函数,这里使用均方差作为损失函数。利用训练集数据通过反向传播算法不断更新迭代{θ3,θ4},直到损失函数收敛为止,参数{θ3,θ4}就可以确定下来。h=s(w3z+b3)(3)o=r(w4h+b4)(4)本发明各个参数如表3所示:表3模型参数表通过上述两个部分,完成本发明的模型参数标定。步骤六,预测高速公路旅行时间。将测试数据的输入变量x*输入到步骤五所生成的模型中,将公式(1)中的x替换为x*,由于模型的中的未知参数通过训练集训练之后全部都确定下来,成为已知参数,因此通过公式(1)~(4)就可以获得输出值o,即旅行时间预测值。本发明基于收费数据的旅行时间预测,采用的算法是结合自编码器和BP神经网络算法,采用的工具是MATLAB2014a。选取前7天的数据作为训练数据,后3天的数据作为测试数据。将本发明与传统的BP神经网络作对比,得到的预测结果如图3所示(其中GroundTruth是真实值,SAE是本发明的预测值,BP是BP神经网络的预测值):从图中画圈的地方可以很直观地看出BP神经网络预测存在不稳定性,存在预测异常的情况,此外,BP神经网络受网络初始化的影响,需求多次平均值来确定最终预测值,这也加大了计算量。而本发明的预测值则相对平稳,且不需要多次预测,不同的初始化结果并没有产生显著影响,因此算法具有较好的稳定性。这对高速公路旅行时间预测的有效性提供了保障。预测精度分析,这里我们采用RMSE(RootMeanSquareError,均方根误差)和MAPE(MeanAbsolutePercentageError,平均绝对百分误差)作为评价指标。表中:其中yi是实际值,是RVM预测值。同BP神经网络对比,本发明所采用的模型(自编码器+BP神经网络)其中RMSE同比下降了78.01%,MAPE下降了9.0%。从预测的精度来看,本发明提供了一种比较可靠且稳定高速公路旅行时间预测,能够为出行者提供精确的旅行时间预测,有利于出行者合理安排时间,让人们对高速公路服务更加满意。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1