1.一种基于高维路网和循环神经网络的交通轨迹预测方法,其特征在于,包括以下步骤:
通过卡口信息采集装置采集行驶中车辆原始信息,并提取车牌号、过车时间、卡口编码作为相关属性,对相关属性进行排序并按速度阈值进行初步筛选获取原始轨迹数据集;
对原始轨迹数据进行二次筛选,按照近邻规则对目标卡口的相邻卡口进行筛选,选出频繁近邻卡口,去除不相关卡口之间的轨迹连接;
使用固定大小的滑动窗口对二次筛选后的轨迹数据进行上下文关系提取,并建立卡口语料库,卡口语料库用于反映实际路网中卡口之间的关联关系,使用嵌入算法将这些关联关系映射到高维空间,单个卡口对应高维空间中的点,从而建立高维空间路网模型,卡口在轨迹数据中的角色相似度用卡口在高维空间中对应的点之间的距离衡量;
结合道路双向性和轨迹时序性特点,使用双向循环神经网络对轨迹数据进行前向后向双向学习,得到两个输出结果后再进行加权求和得到最终预测结果。
2.根据权利要求1所述的基于高维路网和循环神经网络的交通轨迹预测方法,其特征在于,所述提取车牌号、过车时间、卡口编码作为相关属性,对相关属性进行排序并按速度阈值进行初步筛选获取原始轨迹数据集,具体包括:卡口信息采集装置获取的属性包括:卡口编号、车牌号、过车时间、经纬度、街道名称及过车速度,选择车牌号作为轨迹划分单位,卡口编号作为轨迹点标识,过车时间作为轨迹中卡口序列排序依据。以此形成由卡口编码序列表示的轨迹数据集合。
3.根据权利要求1所述的基于高维路网和循环神经网络的交通轨迹预测方法,其特征在于,所述对原始轨迹数据进行二次筛选,按照近邻规则对目标卡口的相邻卡口进行筛选,选出频繁近邻卡口,去除不相关卡口之间的轨迹连接,主要分为以下两个步骤:S21:对原始轨迹数据集中的卡口编号进行提取,作为轨迹卡口序列数据集;
S22:对每个卡口进行近邻卡口筛选,首先对轨迹中的单个卡口pi进行相邻卡口统计,并按频次排序获得相邻卡口集合{p1,p2,p3,p4,p5},保留频次最多的三个卡口{p1,p2,p3}作为目标卡口的近邻卡口,然后去除轨迹数据中非近邻卡口之间的轨迹连接,以每条轨迹包含6个卡口的标准形成最终的轨迹数据集。
4.根据权利要求3所述的基于高维路网和循环神经网络的交通轨迹预测方法,其特征在于,所述使用固定大小的滑动窗口对二次筛选后的轨迹数据进行上下文关系提取,并建立卡口语料库,具体包括:S31:使用固定窗口大小对目标卡口进行上下文关系提取,对于轨迹序列{p1,p2,p3,p4,p5,p6},若要对卡口p3进行上下文关系提取,使用大小为2的窗口对相邻卡口进行提取,获得p3的上下文集合{p1,p2},{p2,p4},{p4,p5},以此类推,获取各卡口上下文集合即为卡口语料库Trajectory-corpus。
5.根据权利要求4所述的基于高维路网和循环神经网络的交通轨迹预测方法,其特征在于,所述使用嵌入算法将这些关联关系映射到高维空间,单个卡口对应高维空间中的点,从而建立高维空间路网模型,卡口在轨迹数据中的角色相似度用卡口在高维空间中对应的点之间的距离衡量,具体包括:S32:轨迹T中卡口pt的概率可表示为:
其中n表示固定窗口的大小,Tv表示编号为v的轨迹,pt-n+j表示在时间窗口内卡口pt的相邻卡口,为了将卡口矢量化,设计目标函数:其中v表示嵌入向量,vt表示卡口pt对应的高维向量, 表示轨迹T中在时间窗口内与卡口pt相邻的卡口对应向量,当输入卡口pt和pt的上下文后,迭代训练出卡口pt的高维向量vt,由此将卡口语料库中的所有卡口映射到高维空间中,最终形成高维空间路网,由以上过程可知,该高维空间路网融合了卡口上下文关系,屏蔽了二维路网的复杂结构。
6.根据权利要求4所述的基于高维路网和循环神经网络的交通轨迹预测方法,其特征在于,所述结合道路双向性和轨迹时序性特点,使用双向循环神经网络对轨迹数据进行前向后向双向学习,主要分为以下步骤:S41:将获取的数据集按9:1的比例划分训练集和验证集,经过卡口编码被训练成为高维矢量,假设矢量维度为v,卡口总数为m,则训练集中每个样本的属性可以用5*v的矩阵表示,而标签则使用m维的one-hot编码表示;
S42:构建双向循环神经网络预测模型,双向循环神经网络分为前向和后向过程,以前向过程为例,输入序列为{x1,x2,x3,x4,x5},每一步输入通过一定规则对隐含层状态h产生影响,在接受最后一步输入x5时,x5与h共同作用产生输出,后向过程为正向过程的逆序输入,通过前向过程和后向过程获得两个输出结果,两个输出结果最终通过加权求和并归一化处理获得最终输出结果。
7.根据权利要求6所述的基于高维路网和循环神经网络的交通轨迹预测方法,其特征在于,所述通过前向过程和后向过程获得两个输出结果,两个输出结果最终通过加权求和并归一化处理获得最终输出结果,具体包括:获得前向输出结果ht和后向输出结果h’t,通过公式:其中g(·)表示激活函数SoftMax, 为最终输出。选取交叉熵作为损失函数:
e=-∑ylogy'
其中,y表示标签,y’表示模型输出,通过不断更新迭代参数最小化e,使模型输出越来越接近真实标签,最后随机选取测试集数据对模型参数进行测试。