APP下载

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

2020-07-31章茂庭杨楠蒋顺英郑永玲白宇

现代信息科技 2020年4期

章茂庭 杨楠 蒋顺英 郑永玲 白宇

摘  要:在数据科技时代,针对集中式挖掘平台下传统LSTM网络模型在处理移动轨迹大数据时存在的计算与存储问题,提出一种Spark框架下基于LSTM优化模型的实时交通流量预测方法,旨在于提高交通流量预测的精确性。实践结果表明,基于真实的出租车GPS轨迹大数据,Spark框架下的LSTM优化模型可以实时准确地预测交通流量。

关键词:实时交通流量预测;Spark;LSTM;GPS轨迹大数据;参数调整

中图分类号:TP202+.2;U491.1+23     文献标识码:A 文章编号:2096-4706(2020)04-0001-08

Abstract: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 adjustment

0  引  言

近年來,我国推行“最多跑一次”改革在公共资源利用方面的不断深入,尤其是在公共数据整合与共享中推动着政府治理能力的提升,特别是通过交通流量可以衡定交通拥堵状况,进而提供准确的交通流量预测诱导信息[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+DL4J。

3.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所示。

基于上述实验结果的對比分析,在分别迭代100、150、200和250次的实验中,当迭代150次时的MAPE值最低。为

此,基于开源库Deeplearning4J框架,使用SparkDl4jMultiLayer加载LSTM网络模型配置,利用Data Normalization将数据归一化封装成JavaRDD训练数据形式,从而完成实时并行预测。

从图9可知,参数调节和迭代优化使得LSTM模型训练所获得的MAPE值更低。具体来说,当Back=4,Batch=8和迭代次数为150时,MAPE为15.955%。上述实验结果表明,基于真实的出租车轨迹大数据,Spark框架下的LSTM优化模型可以实时准确地预测交通流量。

4  结  论

本文基于Spark框架提出分布式LSTM优化模型的交通流预测方法,实现大规模轨迹数据的分布式存储与并行计算,提高交通流量预测精确性。该方法在Spark并行分布式计算框架下基于Kalman滤波平滑处理轨迹大数据,通过参数调节和迭代计算实现LSTM模型的优化,并在Spark框架下实现交通流量的并行预测。在案例研究中,基于真实的出租车GPS轨迹大数据,实时准确地预测了北京市三里河东路的交通流量。当Back=4,Batch=8,迭代次数为150时,所提出的方法能获得MAPE为15.955%的预测准确性。

参考文献:

[1] 杜小勇,陈跃国,范举,等.数据整理——大数据治理的关键技术 [J].大数据,2019,5(3):13-22.

[2] ZHANG J,WANG F Y,WANG K,et al. Data-Driven Intelligent Transportation Systems:A Survey [J]. IEEE TRANSACTIONS ON INTELLIGENT TRANSPORTATION SYSTEMS,2011,12(4):1624-1639.

[3] JIA Y H,WU J P,XU M. Traffic Flow Prediction with Rainfall Impact Using a Deep Learning Method [J]. Journal of Advanced Transportation,2017:1-10.

[4] 陆化普,孙智源,屈闻聪.大数据及其在城市智能交通系统中的应用综述 [J].交通运输系统工程与信息,2015,15(5):45-52.

[5] 陈聪,张国惠,马晓磊,等.利用大数据挖掘和知识发现技术辅助智慧城市发展 [J].大数据,2016,2(3):39-48.

[6] QIAO S L,SUN R C,FAN G P,et al. Short-term traffic flow forecast based on parallel long short-term memory neural network [C]. Proceedings of 2017 IEEE 8th International Conference on Software Engineering and Service Science,IEEE BEIJING SECTION,2017:253-257.

[7] ZHAO Z,CHEN W,WU X,et al. LSTM network:a deep learning approach for short-term traffic forecast [J]. Intelligent Transport Systems Iet,2017,11(2):68-75.

[8] OKUTANI I,STEPHANEDES Y J. Dynamic prediction of traffic volume through Kalman filtering theory [J]. Transportation Research Part B Methodological,1984,18(1):1-11.

[9] ALGHAMDI T,ELGAZZAR K,BAYOUMI M,et al. Forecasting traffic congestion using ARIMA modeling [C]. 2019 15th International Wireless Communications and Mobile Computing Conference (IWCMC),2019:1227-1232.

[10] XIA D W,WANG B F,LI H Q,et al. A distributed spatial-temporal weighted model on MapReduce for short-term traffic flow forecasting [J]. Neurocomputing,2016,179(Feb.29):246-263.

[11] LUO X L,LI D Y,YANG Y,et al. Spatiotemporal Traffic Flow Prediction with KNN and LSTM [J]. Journal of Advanced Transportation,2019,(PT.1):537-546.

[12] LIU B Y,CHENG J R,CAI K Q,et al. Singular point probability improve LSTM network performance for long-term traffic flow prediction [C]// National Conference of Theoretical Computer Science,2017:328-340.

[13] LI Z S,XIONG G,CHEN Y Y,et al. A hybrid deep learning approach with GCN and LSTM for traffic flow prediction [C]//2019 IEEE Intelligent Transportation Systems Conference (ITSC). IEEE,2019:1929-1933.

[14] 刘钊,杜威,闫冬梅,等.基于K近邻算法和支持向量回归组合的短时交通流预测 [J].公路交通科技,2017,34(5):122-128+158.

[15] 陈小波,刘祥,韦中杰,等.基于GA-LSSVR模型的路网短时交通流预测研究 [J].交通运输系统工程与信息,2017,17 (1):60-66+81.

[16] WANG J Y,XU X F,WANG F S,et al. A deep prediction architecture for traffic flow with precipitation information [C]// International Conference on Sensing and Imaging. Springer,Cham,2018:329-338.

[17] MA X L,TAO Z M,WANG Y H,et al. Long short-term memory neural network for traffic speed prediction using remote microwave sensor data [J]. Transportation Research Part C:Emerging Technologies,2015,54:187-197.

[18] JEONG Y S,BYON Y J,CASTRO-NETO M M,et al. Supervised Weighting-Online Learning Algorithm for Short-Term Traffic Flow Prediction [J]. IEEE Transactions on Intelligent Transportation Systems,2013,14(4):1700-1707.

[19] FU R,ZHANG Z,LI L. Using LSTM and GRU neural network methods for traffic flow prediction [C]// Youth Academic Conference of Chinese Association of Automation. IEEE,2016:324-328.

[20] CHEN Y Y,LV Y S,LI Z J,et al. Long short-term memory model for traffic congestion prediction with online open data [C]// 2016 IEEE 19th International Conference on Intelligent Transportation Systems (ITSC). IEEE,2016:132-137.

[21] AGAFONOV A,YUMAGANOV A. Spatial-temporal K Nearest Neighbors model on MapReduce for traffic flow prediction [C]//International Conference on Intelligent Data Engineering and Automated Learning. Springer,Cham,2018:253-260.

[22] LUO C,HUANG C,CAO J D,et al. Short-term traffic flow prediction based on least square support vector machine with hybrid optimization algorithm [J]. Neural Processing Letters,2019:1-18.

[23] CHAI Y C,HUANG D R,ZHAO L. A Short-term traffic flow prediction method based on wavelet analysis and neural network [C]//2016 Chinese Control and Decision Conference (CCDC). IEEE,2016:7030-1034.

作者简介:章茂庭(1994-),女,汉族,貴州三穗人,就读于数据科学与信息工程学院,统计学研究生,研究方向:海量数据统计与分析;杨楠(1997-),女,汉族,贵州盘县人,就读于数据科学与信息工程学院,统计学研究生,研究方向:海量数据统计与分析;蒋顺英(1996-),女,汉族,贵州兴义人,就读于数据科学与信息工程学院,统计学研究生,研究方向:海量数据统计与分析;郑永玲(1995-),女,汉族,贵州毕节人,就读于数据科学与信息工程学院,统计学研究生,研究方向:海量数据统计与分析;白宇(1994-),女,汉族,贵州仁怀人,就读于数据科学与信息工程学院,统计学研究生,研究方向:海量数据统计与分析。