一种基于Bi-GRU的车辆位置预测方法与流程

文档序号:20955790发布日期:2020-06-02 20:24阅读:485来源:国知局
一种基于Bi-GRU的车辆位置预测方法与流程
本发明属于位置数据处理与预测
技术领域
,具体涉及一种基于bi-gru(bidirectional-gatedrecurrentunit,双向门控循环单元)的车辆位置预测方法。
背景技术
:物联网及车联网的发展使得汽车在运行过程中的实时状态数据采集成为了可能,对这些数据的分析和运用具有重大意义。当前对汽车运行过程中采集手段主要通过obd(onboarddiagnostics)故障系统,该系统能够实时监测汽车状态、发动机运行数据、车辆催化转化器、内置颗粒捕集器、内置氧传感器、汽车尾气排放控制系统、燃油消耗系统等,实时将各项指标数据连接到汽车总线上,便于4g网络实时上传到网络中,供分析和使用。目前对于obd数据的使用和对位置状态预测精度仍然不够,难以满足人们的需求。主要采用的方法有基于回归的预测、基于随机森林的预测、基于svm的预测以及基于神经网络的预测。近年来,随着人工智能技术的发展,越来越多的人发现基于神经网络的预测方法优势较为突出,能够取得较好效果。大量学者采用了lstm、con-lstm方法对车辆的位置状态进行了预测,然而精度不够理想。并且实验证明,单纯的增加lstm或者con-lstm单元的个数并不能对预测精度进行提高。技术实现要素:有鉴于此,本发明的目的在于提供一种基于bi-gru的车辆位置预测方法,通过连接两个gru(gatedrecurrentunit,门控循环单元)模型(正向gru和反向gru)形成的一个双向结构,在gru的基础上能够更加充分的获取序列数据的上下文信息,用于对移动车辆位置的预测有较好的效果。本发明的目的是这样实现的,包括以下步骤:步骤1,构建车辆位置的预测模型;步骤2,利用训练集数据,对所述车辆位置的预测模型进行训练;步骤3,将测试集数据输入训练完毕的车辆位置的预测模型中,计算获得车辆位置的预测值;所述预测模型包括bi-gru层、第一全连接层、第二全连接层和第三全连接层,各层之间依次顺序连接,前一层的输出为后一层的输入,所述bi-gru层由一个正向gru模型和一个反向gru模型并联形成一个双向结构,所述bi-gru层输出两个合并的gru信号,所述的第一全连接层的输出层为100,所述的第二全连接层的输出层为10,所述的第三全连接层的输出层为1;所述训练集数据包括影响因素数据和已知的车辆位置观测数据;所述的测试集数据为待预测的车辆位置的影响因素数据。具体地,所述影响因素数据包括predictionhours前历史车辆位置数据、行驶速度、引擎转速、绝对负荷值、发动机冷却液温度、发动机供油率、mil(故障指示灯)状态、发动机机油温度和时间;其中,predictionhours是一个预设参数,代表预测未来predictionhours小时的车辆位置。优选地,对所述训练集数据根据不同时间进行分类,使用不同类别的训练集分别训练不同类型下的车辆位置的预测模型;预测模型训练完成以后,针对当前测试集数据,利用测试集数据对应类型的预测模型,计算获得车辆位置的预测值。具体地,所述的bi-gru层中正向gru模型的中间输出反向gru模型的中间输出对正向gru模型和反向gru模型的中间输出的聚合操作,得到输出表示将正向gru模型的输出与反向gru模型输出进行合并连接,作为所述的bi-gru层的输出;其中z1t、为正向gru模型的中间值,z2t、为反向gru模型的中间值。具体地,步骤1中所述预测模型的输出值为所述输出值为未来predictionhours后的车辆位置,w12o和b12o为模型参数,通过训练可得。优选地,所述预测模型中的损失函数采用标准归一化mse,激活函数采用relu函数,步骤2的训练过程中,通过adam函数进行学习,得到参数神经网络参数模型。本发明方法中的bi-gru层是一种改进的gru模型,通过连接两个gru模型(正向gru和反向gru)形成的一个双向结构,在gru的基础上能够更加充分的获取序列数据的上下文信息,用于对移动车辆位置的预测有较好的效果。附图说明图1为本发明方法的流程示意图;图2为本发明方法的预测模型结构图;图3为本发明实施例中gru的结构图;图4为本发明实施例中bi-gru模型的结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。定义时间和空间序列状态,由此建立移动车辆的时空模型。定义1:时间状态序列。本发明中的时间状态序列用t={t0,t1,t2,...,tn}表示,其中ti>tj,ifi>j。时间序列对应实际数据集中收集轨迹点的每一个时刻。定义2:网格空间状态序列。用s={s1,s2,...,sm}来表示。网格状态空间序列对应物理世界中的地理位置,状态空间序列以网格的形式划分,网格状态空间之间不存在交集,每一个网格状态空间有自己的矩形区域。随着时间序列的推移,车辆在网格状态空间之间互相转换,任意一个时刻的车辆对象都有一个状态空间与之相对应。然后,定义车辆对象以及在时空模型中的移动轨迹模型。定义3:车辆对象集合,车辆对象集合用c={c1,c2,...,cp}来表示。在本发明中,每一个车辆对象对应一个对象,在时间序列的约束下,车辆对象在网格状态空间中不停的转换。定义4:车辆对象轨迹。车辆对象轨迹tca为一系列带有时间顺序的gps点集组合而成的序列值,每一个点都包括位置信息和时间信息,形式化定义如下,对于具有n个点的车辆对象轨迹tca:p(0)→p(1)…→p(n),其中pi代表车辆对象的某一个位置点,每一个轨迹点同时还对应一个空间状态序列值。δt表示取车辆对象位置值的间隔时间。定义5:车辆对象目标预测。已知具有n个点的车辆对象轨迹tca:p(0)→p()1…→p(n),预测在tn+1个时刻的位置p(n+1),一般来讲,目标预测问题就是根据车辆对象的历史轨迹信息tca,预测在未来k个时间间隔tn+k以后车辆对象所在的位置p(n+k)。本发明主要解决的问题就是通过采集的obd数据集,包括经度、维度、车辆当前行驶速度、引擎转速、绝对负荷值、发动机冷却液温度、发动机供油率、mil(故障指示灯)状态、发动机机油温度以及当前状态数据,预测若干个状态以后的车辆位置。如图1所示,一种基于bi-gru的车辆位置预测方法,包括以下步骤:步骤1,构建车辆位置的预测模型;步骤2,利用训练集数据,对所述车辆位置的预测模型进行训练;步骤3,将测试集数据输入训练完毕的车辆位置的预测模型中,计算获得车辆位置的预测值;如图2所示,所述预测模型包括bi-gru层、第一全连接层、第二全连接层和第三全连接层,各层之间依次顺序连接,前一层的输出为后一层的输入,所述bi-gru层由一个正向gru模型和一个反向gru模型并联形成一个双向结构,所述bi-gru层输出两个合并的gru信号,所述的第一全连接层的输出层为100,所述的第二全连接层的输出层为10,所述的第三全连接层的输出层为1;所述训练集数据包括影响因素数据和已知的车辆位置观测数据;所述的测试集数据为待预测的车辆位置的影响因素数据。具体地,所述影响因素数据包括predictionhours前历史车辆位置数据、行驶速度、引擎转速、绝对负荷值、发动机冷却液温度、发动机供油率、mil(故障指示灯)状态、发动机机油温度和时间;其中,predictionhours是一个预设参数,代表预测未来若干小时的车辆位置。优选地,对所述训练集数据根据不同时间进行分类,使用不同类别的训练集分别训练不同类型下的车辆位置的预测模型;预测模型训练完成以后,针对当前测试集数据,利用测试集数据对应类型的预测模型,计算获得车辆位置的预测值。gru模型是传统的在lstm模型上的一个改进版,其基本结构如图3所示,其中包含了遗忘门和更新门两个主要处理单元,该结构能够对时间序列的长时间依赖进行有效记忆和遗忘,从而保证时序数据的预测精度。其数学表达式如下:遗忘门的输出:ft=σ(wf[ht-1,xt]+bf),其中σ(x)=1/(1+e-x);在更新门中,zt=σ(wz[ht-1,xt]+bz),输出层:yt=wo·ht+bo,模型中需要训练的参数包括[wf,bf],[wz,bz],[wh,bh],[wo,bo]。bi-gru是一种改进的gru模型,通过连接两个gru模型(正向gru和反向gru)形成的一个双向结构,在gru的基础上能够更加充分的获取序列数据的上下文信息。其网络结构示意如图4所示。与gru不同之处在于,每一个bi-gru输出两个合并的gru信号,正向gru信号ht和反向gru信号h't,计算方式不变。具体地,所述的bi-gru层中正向gru模型的中间输出反向gru模型的中间输出对正向gru模型和反向gru模型的中间输出的聚合操作,得到输出表示将正向gru模型的输出与反向gru模型输出进行合并连接,作为所述的bi-gru层的输出;其中z1t、为正向gru模型的中间值,z2t、为反向gru模型的中间值。正向gru模型中第一层遗忘门输出为:f1t=σ(w1f[h1t-1,xt]+b1f),f1t为numberofgrucells×20的2维中间矩阵,numberofgrucells代表正向gru模型的内部神经单元数量,xt为2维矩阵数据,维度为windowsize×20,windowsize为输入数据的长度;在正向gru更新门中,第一输出为:z1t=σ(w1z[h1t-1,xt]+b1z),z1t的数据格式同f1t一样,第二输出为:反向gru模型相应的第一输出为:z2t=σ(w2z[h2t-1,xt]+b2z),第二输出为:为numberofgrucells×20的2维中间矩阵。具体地,所述预测模型的输出值为输出值为未来predictionhours后的车辆位置。优选地,所述预测模型中的损失函数采用标准归一化mse,激活函数采用relu函数,步骤2的训练过程中,通过adam函数进行学习,得到参数神经网络参数模型。对所述预测模型的的训练,包括对7对参数进行训练,正向gru模型参数:[w1f,b1f],[w1z,b1z],[w1h,b1h],反向gru模型参数:[w2f,b2f],[w2z,b2z],[w2h,b2h],以及各全连接层参数[w12o,b12o]。本实验采用一年内采集的obd数据集,每个一共包括经度、纬度、行驶速度、引擎转速、绝对负荷值、发动机冷却液温度、发动机供油率、mil(故障指示灯)状态、发动机机油温度和时间数据。数据样本每1小时采集一次。对已有的数据集主要做如下处理:1、样本数据中删除年份数据,对小时数据进行分类,对应白天和黑夜,分为两类进行替换。2、对其中的缺失数据进行插值和删除处理,因为obd都包含了多个传感器检测点,由于网络原因,有时候车辆开入隧道或者信号中断,有些传感器的数据是丢失的,因此采用横向插值法,将同一时刻距离较近的采集数据按照距离进行平均,插入到该数据项中。本实验所采用的硬件为:电脑主要配置为:pentium(r)dual-core3.06cpu,8gram内存。效果评估:本实验的性能评估采用的参数包括rmse、mae、mape以及cc:rmse(rootmeansquareerror,均方根误差),其计算方式为:mae(meanabsolutelyerror,平均绝对误差),其计算方式为:mape(meanabsolutelypercentageerror平均绝对百分误差),其计算方式为:ccv(correlationcoefficientvalue),相关系数,其计算方式为:需要说明的是,rmse、mae以及mape都是对预测误差的衡量,其值越小代表越准确,而ccv参数代表两个序列数量的相关系数,其值越大,代表两个序列数据越为相关,预测效果越好。首先针对将网格空间划分为400个状态,取前300天的车辆对象运动作为训练数据,以60天数据作为验证集合,预测1小时后、3小时后以及6小时后的运动状态:针对未来预测未来1个小时的车辆位置状态,计算精度如下:模型名称rmsemaemapeccvlstm7.284.370.180.92gru6.774.120.160.92本发明方法6.092.680.130.94针对预测未来3小时的车辆位置状态,计算精度如下:模型名称rmsemaemapeccvlstm11.309.430.260.84gru11.719.250.270.84本发明方法9.748.450.240.87由
发明内容和实施例可知,本发明一种基于bi-gru的车辆位置预测方法,gru模型是传统的在lstm模型上的一个改进版,其中包含了遗忘门和更新门两个主要处理单元,该结构能够对时间序列的长时间依赖进行有效记忆和遗忘,从而保证时序数据的预测精度,而bi-gru是一种改进的gru模型,通过连接两个gru模型(正向gru和反向gru)形成的一个双向结构,在gru的基础上能够更加充分的获取序列数据的上下文信息,用于对车辆位置状态的预测有较好的效果。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1