文档详情

基于Spark框架的实时交通流量预测方法

杨***
实名认证
店铺
DOCX
1.86MB
约16页
文档ID:318254192
基于Spark框架的实时交通流量预测方法_第1页
1/16

    基于Spark框架的实时交通流量预测方法    章茂庭 杨楠 蒋顺英 郑永玲 白宇摘  要:在数据科技时代,针对集中式挖掘平台下传统LSTM网络模型在处理移动轨迹大数据时存在的计算与存储问题,提出一种Spark框架下基于LSTM优化模型的实时交通流量预测方法,旨在于提高交通流量预测的精确性实践结果表明,基于真实的出租车GPS轨迹大数据,Spark框架下的LSTM优化模型可以实时准确地预测交通流量Key:实时交通流量预测;Spark;LSTM;GPS轨迹大数据;参数调整:TP202+.2;U491.1+23     :A :2096-4706(2020)04-0001-08Abstract:In the era of data science and technology,the traditional LSTM network model in the centralized mining platform has the problems of computing and storage when dealing with the big data of mobile trajectory,this paper proposes a real-time traffic flow prediction method based on the LSTM optimization model under the Spark framework,which aims to the improvements of accuracy of traffic flow prediction. The experiment results of a case study demonstrate that with real-world taxi GPS trajectory big data,the proposed LSTM optimization model based on the Spark framework can accurately predict traffic flow in real time.Keywords:real-term traffic flow prediction;Spark;LSTM;GPS track big data;parameter adjustment0  引  言近年來,我国推行“最多跑一次”改革在公共资源利用方面的不断深入,尤其是在公共数据整合与共享中推动着政府治理能力的提升,特别是通过交通流量可以衡定交通拥堵状况,进而提供准确的交通流量预测诱导信息[1]。

实时交通流量预测是城市智能交通系统诱导和控制的关键技术[2],是利用当前和历史的交通流量信息对未来的交通流量进行预测,进而帮助出行者进行路径规划,缓解交通拥堵和减少环境污染等[3]在数据驱动的智能交通系统中,实时交通流量预测已经引起了国内外学者的广泛关注[4]当前,已有的交通流量预测模型大致可分为三类[4,5]:参数模型、非参数模型和混合模型参数模型仅针对线性数据,如Kalman滤波模型[5]、自回归平均模型[6]等非参数模型可以有效弥补参数模型缺陷,如K近邻模型[7]、支持向量机模型[8]、神经网络模型[9]等非参数模型存在结构复杂、计算量大和模型参数确定等问题,混合模型在交通流预测中更具优势近年来,Xia等人提出一种基于MapReduce的面向分布式建模通用框架的时空权重K近邻优化模型(STW-KNN)[10],有效提高了交通流量预测的精度、效率和可扩展性;Luo等人提出一种基于KNN-LSTM的交通流预测方法,采用KNN算法对预测目标站点所在区域的路网进行空间相关性筛选,并将其构造的数据集输入LSTM中进行训练[11];Liu等人通过由多个存储单元组成的二维网络,提出一种基于LSTM的新型高鲁棒性交通流预测模型[12];Li等人利用GCN和LSTM混合的深度学习方法,考虑交通流的时空相关性并提取时空特性,进而实现交通流量预测[13];刘钊等人考虑预测路段与其近邻路段的历史交通流量提出一种KNN与SVR组合的预测模型[14];陈小波等人提出一种基于遗传算法和最小均方SVR模型的路网组合模型,并实现在流量预测中的应用[15];Wang等人通过引入长短期记忆网络、残差连接、深层次网络和双向交通流并考虑预测时降水因素,提出一种基于深双向长短期记忆模型和降水因素影响的深度交通流预测体系结构P-DBL(Deep Bi-directional Long short-term memory),提高了流量预测的精度[16];Ma等人提出一种新的长短期记忆神经网络体系结构(LSTM-NN),可以有效捕捉非线性交通动态,并能克服反向传播误差衰减问题,具有较好的时间序列预测能力[17];Jeong等人考虑时间对交通流的影响,提出一种基于LSTM模型的预测方法[18];Fu等人提出一种使用CNN与LSTM相结合的混合深度学习框架,提高交通流量的预测精度[19];Chen等人基于开放交通状况数据,提出一种挖掘交通状况隐藏模式的LSTM预测模型,基于深度学习方法使用堆叠式自动编码器(Stacked Auto-Encoder)模型,提出一种新颖且预测性能较高的交通流量预测方法[20]。

现有传统的集中式LSTM模型无法有效解决交通流大数据的分布式存储和并行计算问题为此,本文基于贵州民族大学海量数据统计与分析方向的研究,并且针对目前大多数研究集中式学习模型,在大数据环境下提出基于Spark框架的分布式LSTM优化模型,采用移动轨迹大样本数据提高预测的精确性1  LSTM优化模型LSTM模型是一种为解决一般RNN存在长期依赖问题而设计的独特结构它存在一个隐藏状态,称为细胞状态(Cell State),记为C(t),遗忘门的输出为f(t),该细胞状态通过Sigmoid激活函数由上一序列的隐藏状态h(t-1)和本序列X(t)得到输出  ,表示遗忘上一层隐藏函数细胞状态的概率,表达式为:基于传统的LSTM模型,进行参数设置和迭代优化对于LSTM模型,当模型训练时,各连接点的权值通过输入数据的训练而获得当确定步长后,不断调整整个网络的误差权值而使得误差最小以及确定最优迭代次数其中5层网络层(包括输入层和输出层)、16个隐含层节点、激活函数tanh、损失函数mean_squared_error、優化函数RMSProp、Back、Batch、迭代次数等超参数由人为确定且相当重要,合理与否将直接影响模型预测的准确性。

为此,在实验中可以根据经验法或试凑法对参数进行调整而最终确定上述参数确定后,需要明确的是影响模型预测准确性的Back、Batch和迭代次数由于Back与选定数据有关,可以通过实验进而确定Back和Batch的最佳组合为此,在实验中以2n的倍数进行数值设定1、2、4、8、…、2n(n=0,1,2,…,n),并进行循环训练而最终确定参数(在实验中,取1、2、4、8,迭代训练100次)参数训练组合方式,如图1所示通过实验确定Back和Batch,接着进行迭代次数训练(迭代次数分别为100、150、200、250…)通过训练结果的对比分析,确定最佳的迭代次数基于上述参数和迭代优化方法,确定最优参数和最佳迭代次数同时,为了降低实时预测应用的计算成本和内存消耗,在基于Spark并行处理框架的Hadoop分布式计算平台中实现LSTM优化模型,实现交通流量的并行预测,提高预测的实时性Spark框架下实现的LSTM优化模型如图2所示2  数据预处理2.1  数据选取案例研究所采用的数据源,选取于2012年11月北京市12 000辆出租车所产生的GPS轨迹数据(约50 GB)为了更为直观地展示GPS轨迹数据,通过提取11月5日GPS轨迹点的密度分布,如图3(a)所示。

可以发现,该密度分布基本可以形成北京市路网同时,选取北京市三里河东路(三个路段)作为目标路段展开研究,如图3(b)所示2.2  数据处理在数据预处理中,首先提取出租车GPS轨迹数据(如2012年11月5日),其次判断车辆运行轨迹是否在目标路段区域,最后根据时间间隔统计车辆数量在数据预处理中,将GPS轨迹数据解压上传至HDFS,并进行数据清洗,如图4所示基于Spark并行分布式计算平台的数据预处理主要包括数据提取、数据统计和数据集成三个步骤:(1)数据提取:通过textFile()函数读取存储在HDFS中的原始数据,定义键值对,其中key1表示时间和车辆ID,value1表示目标路段编号若读入数据的GPS轨迹处于选定目标路段区域则提取并存入键值对,反之则舍弃接着,使用sortByKey()函数对时间和车辆ID排序,并去除当前时间间隔内同一车辆的重复数据,为此便可获得目标路段在当前时间间隔内的车辆信息2)数据统计:读取步骤1中所提取的数据信息,定义键值对,其中key2表示时间和区域编号,value2表示目标路段编号加1接着,使用reduceByKey()函数对当前时间间隔内的出租车数量进行统计,得到选定目标路段在各时间间隔内的车辆数量(即交通流量)。

3)数据集成:将目标路段在当前时间间隔t内的出租车车辆总数整合为一维数组Xt,由Xt构成矩阵X定义键值对,其中key3表示时间间隔,value3则表示各目标路段的出租车总数,使用sortByKey()函数按时间进行排序,并将结果输入HDFS所得到的数据将作为后续的训练数据库在数据预处理的数据清洗中发现,GPS轨迹数据可能受到GPS信号不稳定等因素的影响为了得到平稳时间序列曲线便于网络训练,采用Kalman滤波对已统计数据集进行平滑处理,如图5所示3  案例研究与结果分析3.1  实验环境在案例研究中,基于Hadoop搭建Spark并行与分布式计算平台在搭建的Spark集群中,Master作为Work节点(4个Work节点),基本配置为Intel至强i7-3550、ECC DDR3 8G所有实验均运行于Ubuntu 18.64操作系统,并配置Hadoop 3.1.1+Spark 2.4.3+Java+DL4J3.2  评价指标为了验证参数调整和迭代优化的合理性,进而验证优化模型的有效性,本实验采用以下四个评价指标:MAPE(平均绝对百分比误差)、RMSE(均方根误差)、MAE(平均绝对误差)和ME(最大误差),分别被定义如下:其中,Xt是交通流量的实际值, 是交通流量的预测值,n是在所提供的时间间隔内交通流量处理的总数。

正如其他研究[26-28],模型预测准确性主要取决于MAPE,MAPE值越低则预测准确性越高3.3  网络模型构建LSTM网络输入采用8维,第一个隐藏层输入保持8维,输出为8*8矩阵;第二个隐藏层接收上层的输出8*8矩阵,输出则变为8维;第三个隐藏层输入输出皆为8维,网络模型的输出为1维在这里,采用tanh激活函数便于更新模型,采用RMSProp优化函数便于快速找更新模型权重LSTM优化模型构建流程,如图6所示3.4  实验结果分析为了更加直观地反映模型的预测性能,通过反归一化增大数量级根据LSTM优化模型的调参方法进行反复实验,每次对相同参数开展3次实验并取均值,实验结果如表1所示当Back固定和改变Batch时,获得最低的MAPE平均值,实验结果如图7所示(鉴于实验结果趋势相似,从而选取第二次进行呈现)基于案例研究可知,得到最优参数Back=4和Batch=8时,预测模型的精确度最高为此,选择参数Back=4和Batch=8带入LSTM模型,并分别迭代100、150、200和250次进行训练,得到不同迭代次数的实验结果,如表2、图8所示基于上述实验结果。

下载提示
相似文档
正为您匹配相似的精品文档