基于TS-NN模型的道路交通车流量预测

2022-01-05 12:01张扬永
福建工程学院学报 2021年6期
关键词:车流量道路交通神经网络

张扬永

(中共福建省委党校 福建行政学院,福建 福州 350001)

1 背景

当前,交通拥堵已成为日常生活中常见的问题,高速公路的交通拥堵也成为普通现象,影响道路通行能力的主要原因是常住人口城镇化率和机动车保有量提升与现有交通基础设施发展不匹配之间的矛盾[1]。缓解交通拥堵和减少交通事故,提供更优质的道路行驶路线,已经成为提高路网的交通效率和安全性的重点研究课题。各类研究理论和应用实际已经表明,修建更多的道路、投入更多的人员(交通警察)等各类强化交通基础设施,虽然在一定程度上缓解了交通拥堵但成本非常高[2],因此,很有必要利用科学技术手段来辅助解决交通拥堵问题。智能交通系统(intelligent traffic system,ITS)随之产生,并且发展迅速。针对加强建设交通基础设施解决交通拥堵成本过高问题,ITS通过交通实时预测、交通诱导等技术在很大程度上缓解了交通拥堵,尤其是在突发道路交通拥堵问题上,ITS的交通实时预测不仅方便了大众出行,也提升了道路交通的通行效率。

学者在ITS研究道路交通问题中主要涉及的算法和模型大致可以分为3类:参数方法、非参数方法和深度学习方法[3]。大多数预测方法都是利用时间变量对交通流进行预测,而交通数据往往是以时间序列(time series,TS)的形式表示的。因此,整合移动平均自回归模型(autoregressive integrated moving average model,ARIMA)在交通科学的预测应用中经常使用,该模型假设未来交通量根据当前交通量线性变化,如:早期学者大多数使用支持向量回归(support vector regression,SVR)利用非线性变化进行流量预测,Dong-wei等人[4]基于道路交通历史数据建立时间序列的ARIMA模型,张帆[5]在ARIMA和支持向量机(support vector machines,SVM)结合,建立ARIMA-SVM组合模型,这些都具有较好的应用效果。然而,对于交通科学而言,仅使用时间变化不足以准确预测交通流的暂时扰动,如交通事故、建筑工地等也会造成通堵塞。因此,机器学习方法也被广泛用于处理短期交通流预测,如SVM、SVR、高斯过程、随机方法等。近年来,随着人工智能(artificial intelligence,AI)的发展,许多人工神经网络(artificial neural networks,NNs)模型被应用到交通科学中,BJZA[6]通过卷积神经网络(convolutional neural networks,CNN)来模拟特征之间复杂的非线性关系,Qiao Y等人[7]运用OpenITS开放数据平台,结合神经网络进行的短时交通流预测,Koesdwi等[8]在深层信任网络中加入交通事故和天气情况,如提供最佳导航策略,进而提升预测道路交通状况。较新的研究也在模型中加入时空因素,如熊振华等[9]从交通路网时空分布特征入手,曹堉等[10]基于时空节点选择和深度学习的城市道路短时交通流预测,在各自研究的实验数据中均取得很好的效果。

在最新道路交通大数据的研究中,如何充分有效地利用大数据下的海量交通流数据,提升路网交通流进行实时预测准确率,如实时短期交通流预测信息(估计出行数据、预期延误和备选路线),重点开发动态GPS诱导、路段速度估算、车流量预测等ITS关键技术,已经成为ITS研究中最核心的、最具挑战的难题。本研究基于TS-NN(time series-neural network)模型的道路交通车流量预测重点围绕车流量的预测算法,辅助提升ITS智能化,从计算机科学角度提升道路通行效率,从而缓解道路交通拥堵成本投入问题。

2 智能交通相关研究

2.1 ITS技术

ITS又称智能运输系统(intelligent transportation system),是将先进的科学技术(信息技术、计算机技术、数据通信技术、传感器技术、电子控制技术、自动控制理论、运筹学、人工智能等)有效地综合运用于交通运输、服务控制和车辆制造,加强车辆、道路、使用者三者之间的联系[11]。随着ITS技术不断发展和交通信息采集技术的不断完善,ITS可以获取实时的交通数据,提取实时的交通状态信息,如交通流量、速度、占用率等,通过ITS中运筹学、时间序列、人工通能、神经网络等各类算法,提高了数据采集的质量和预测(流量、密度、路况)的准确性,如:高效的导航已成为交通出行的主要手段[12]。国内外现有ITS算法设计中回归、分类等学习方法大多是浅层结构算法,其局限性在于当样本和计算单元有限时,而对于神经网络及深度学习在一般的分类问题上,它们的泛化能力也受到一定的限制,往往忽略了交通流数据的某些特征(信息不全等),另外模型在高速公路和城市路段的适应性也不尽如意。因此,将时间序列和神经网络结合起来,采用了多变量时间序列方法和具有空间信息输入的神经网络相结合方法(时间序列联合神经网络,简称为TS-NN),既包括交通流的时间性,又含有交通流的空间特征,在实验中,对比了神经网络典型应用长短期记忆网络(long short-term memory, LSTM)模型和时间序列最经典的ARIMA模型,TS-NN在准确率预测方面确实能得到一定的提升。虽然交通科学明确区分了自由交通和拥挤交通,但在ITS学术界中道路交通的研究主要包括车辆诱导算法设计、道路实时数据采集、预测模型等3个方面,其中预测模型又包括了速度、密度、流量等,这些算法和模型仍然有很多需要改良的地方。

2.2 时间序列在ITS中的应用

时间序列在ITS中的应用,主要是按照时间排序的一组道路交通随机变量如车流量、密度、路况等信息,它通常是在相等间隔的时间段内(实时交通数据往往按秒或分钟等小单位计量)依照给定的采样率对道路交通潜在变化过程进行观测的结果,同时这些道路交通变量会随时间呈现一定规律的变化趋势,其一般形式为:

X={(ti,xi)}ni=1

(1)

式中,X表示了第i个记录了ti时刻的交通变量xi的信息,常见建立序列值随时间变化的回归模型有参数估计方法为最小二乘估计,如Xt=a+bt+It,其中E(It)=0,在预测上主要采用简单平均数法和加权平均数法,典型的模型有AR、MA、ARMA、ARIMA。其中,ARIMA由自回归移动平均模型增加差分演化而来,而ARMA由自回归模型(auto regressive model,AR)和移动平均模型(moving average model,MA)组成,具体如表1所示。

表1 时间序列模型对比

2.3 ITS中的神经网络经典模型

神经网络可简单理解为由众多的输入神经元相互连接到输出神经元,输入神经元到输出神经元中间称为隐藏层(也称中间层,层数不限,层数越多,网络越复杂,不同应用需要的层数不统一,目前科学上没有实例证明层数越多或越少准确率越好,仅能说明层数越多效率越差),同时连接各个神经元的权重值是可以被训练调节,因而可以大规模并行处理和网络内自我学习。早期,人工神经网络中以误差反向传播算法(back propagation,BP,如图1左侧)是应用较广的一种监督式的学习算法,具有很强的非线性映射能力,如输入神经元为各种交通网络采集值,输出神经元为交通拥堵情况(历史已经发生的信息),通过BP学习后可以判断出(未来或测试集)交通拥堵情况。BP数学表现方式也比较简洁,主要分为前向传播和反向传播,前向输出表示为:

Y=σ(wTX+b)

(2)

式中,X、Y表示输入、输出的神经元数据,每一层都是如此,σ表示激活函数,常用的激活函数参看表2所示;wT表示输入层到输出层之间的权重值矩阵,b表示偏置,这两个参数都需要在后向传播中被训练修正。

表2 神经网络中常用的激活函数

(3)

(4)

式中,α表示学习率,∂表示求导,权重值通过求导进行梯度下降,在反向传播后逐层更新直到第一层(输入层)再进行前向传播,然后再反向传播,一直循环,直至神经网络中设置的迭代(循环次数)完成。

深度学习在不断的应用过程中,发现BP网络存在局部极小化问题、样本依赖、应用实例与网络规模的矛盾等问题,因此发展出不同的应用场景的网络模型,如将隐藏层之间的节点不再无连接改为有连接的循环神经网络RNN(图1中间部分),在自然语言处理、语音识别、文本相似度计算等都有着很大的优势,假定在隐藏层中用t,t-1等表示当前时序和前一刻时序,yt为t处记忆值则RNN的输出表示为公式5。

yt=f(Uxt+Wyt-1)

(5)

式中,W表示输入的权重,U表示此刻输入的样本的权重,误差函数参看公式3,用V表示输出的样本权重,则更新权重就有如下公式所示:

(6)

(7)

(8)

RNN的缺点是无法“记忆”长时间序列上的信息,因此LSTM(原理如图1右侧)从神经网络科学上可以认为是针对RNN存在的问题改进而来的,引入门(gate)的概念,主要有遗忘门F、输入门I和输出门O,用ht-1表示前一个输出xt表示当前输入,则3个门可表示为如下公式:

图1 神经网络(简单到复杂)的变迁Fig.1 Transition of neural network (simple to complex)

ft=σ(Wf[ht-1,xt]+bf

(9)

It=σ(Wi[ht-1,xt]+bi

(10)

ot=σ(Wo[ht-1,xt]+bo

(11)

式中,b表示偏置。

LSTM通过门函数,将一部分梯度遗忘掉,因此梯度消失发生的概率变得极低,LSTM是通过记忆和当前输入相加(不是相乘,如果有0值出现则信息会消失),因此,在之前网络的信息会继续存在而不是部分“消失”。

3 TS-NN模型设计

不管是时间序列还是神经网络,都需要观测样本,时间序列可能有一个潜在的趋势,但这个趋势如果不通过网络去辨别,可能很难推断出。因此,尝试将时间序列和神经网络结合在一起进行模型设计。首先,假设所有交通信息的统计特性是具有时间依赖的,通过时间序列算法进行预测分析,再采用神经网络的深度学习方法,以便网络能够“跟踪时间”,同时对不断变化的交通信息统计提取特征,解决时间序列、神经网络各自的缺陷。使用时间序列X={(ti,xi)}ni=1为基础进行设计的TS-NN算法,具体步骤如下:

第一步:数据预处理。首先进行数据填充与修正,交通信息的在采集过程中数据会出现不完整,部分异常零值也需要修正,填充与修正方式主要根据时间前后进行移动平均处理,学术研究中常用此方法进行填充。假定第m个记录了tm时刻的交通变量xm的信息缺失,通过n个时刻信息进行处理,可使用如下方式进行填充:

(12)

式中,xm通过前面n个时刻信息进行移动平均处理所得。

第二步:时间序列模型。先判断序列的平稳性,观测交通信息的时间序列数据,通过AR(p)和MA(q)判断是否为平稳时间序列。

对于非平稳时间序列,先进行d阶差分,化为平稳时间序列,取得d值;同表1工作原理,ARIMA(p,d,q)中,p为自回归项数,d为使之成为平稳序列所做的差分次数(阶数),q为滑动平均项数。

第三步:神经网络模型。训练实验:将时间序列处理后的结果进行神经网络的分类训练,同时调整不同参数(学习率、迭代次数、激活函数、网络层数、隐藏节点数等,lstm(lr,echos,active,nns,hn,p)。

首先,将道路交通数据分节点(设置好输入节点、隐藏层数和隐藏层节点、输出节点)导入到神经网络模型中,在不断迭代训练中,根据损失函数(预测值与正确值的偏离程度)趋于稳定时,获得较优训练参数,然后进入测试实验。

测试实验:在训练集上获得的训练参数运用在测试上的实验,主要是为了检测在测试集上测试训练的模型效果,对准确率、效率、损失函数进行评价。

对比实验:将测试结果与时间序列模型(ARIMA)、神经网络模型(LSTM)和本文模型(TS-NN)进行对比分析。

将时间序列和神经网络相结合的城市道路速度预测算法TS-NN首先要对道路交通进行预处理,处理后的道路交通数据(input_list)和交通量信息(target_list)即为模型的输入信息,通过时间序列模型计算不同p、q值,再代入神经网络模型,TS-NN核心算法的实现如下代码示:

Inputs: input_list: 道路交通数据,输入列表,target_list:交通量实际结果,目标列表.Outputs: output_list: 测试后的效果,输出列表.12345678910111213p15traffic_data ← input_list.diff().dropna() #对路交通数据进行差分pmax,qmax ←int(len(traffic_data) / 10) #一般阶数不超过 length /10temp[] #存计算不同p、q值数据结构for i in range(pmax+1):for j in range(qmax+1):a←ARIMA(data,(i,1,j)).fit().bictemp.append(a)p,q ← pd.DataFrame(temp).stack().idxmin() #找出最小值的位置inputs, targets← input_list.T ,target_list.T #输入与目标矩阵转置m←model.get_lstm([12, 64, 64, 1]) #模型设置config ← {"batch": 256, "epochs": 600, "arima-p": p, "arima-q": q} #对比时会将迭代次数100至600不同的变化train_model(m, inputs, args.model, config) #模型训练output_list ←test_model(m, target, args.model, config)returnoutput_list

4 TS-NN车流量预测实验

4.1 实验环境与数据

本实验操作系统环境为Windows 10专业版64位,开发语言为python3.7,所需框架有Tensorflow GPU 1.5.0、Keras 2.1.3和scikit-learn 0.19;硬件上采用性能比较好的台式计算机CPU为i7-8700 3.2 G(6核、12线程),内存为DDR4 2666(16 G)及256 G固态硬盘。训练模型为有ARIMA、LSTM和TS-NN,各类参数设定如表3所示。其中,参数选择的依据主要依赖于多次迭代和训练效果的对比,学习率主要是根据大多数的训练设置。实验选取了城市道路交通和高速道路交通两种类型的道路交通数据,分别为美国横跨加州高速公路和我国安徽省黄山市徽州区黄山路段交通数据进行测试,高速和城市的道路交通数据特点不一样,用于TS-NN模型检测是为了体现模型具备一定的适应性,数据信息如表4所示。

表3 模型参数

表4 实验数据

4.2 实验效果分析

在实验过程中,分别使用ARIMA、LSTM和TS-NN在城市道路交通和高速道路交通两种不同的道路交通数据集上进行实验,同时在不同的迭代中观察预测准确率(预测准确数除以总样本数)。实验目标为车流量,即在一定的时间内,某条公路点上所通过的车辆数,该指标与路段吞吐量、时间节点相结合可以判断出道路交通的拥堵情况,为ITS系统做出科学判断提供重要的依据,实验结果如图2(黄山市徽州区黄山路段)和图3(美国加州高速公路)所示。

在图2中,上半部分为测试全局对比,为更好的体现模型预测效果,下半部分为前50 min的车流量预测对比情况,实线代表实际的车流量,虚线表示时间序列预测结果,点划线表示神经网络预测结果,点表示本方法(下面图示也同此表示,不再赘述)。从车流量预测结果上看ARIMA、LSTM、TS-NN准确率分别为96.09%、95.58%、97.71%,TS-NN方法有小幅改进,相对ARIMA、LSTM模型分别提升了1.62%和2.13%。

同图2的布局,从图3前50个小时的车流量预测对比可以明显看出TS-NN更贴近实际车流量。从车流量(按小时)预测结果上看,ARIMA、LSTM、TS-NN准确率分别为66.24%、83.58%、87.11%,神经网络模型准确率较时间序列有较大改进,这是因为黄山路段训练数据较多,而加州高速测试数据占训练数据比重较大,因此时间序列模型呈现出较大的劣势。对比两个数据的模型训练效果使用误差(预测值与真实值的差,不计正负),用零表示无偏差,具体如图4所示。

图2 安徽省黄山市徽州区黄山路段车流量预测对比Fig.2 Comparison of traffic flow prediction of Huangshan section in Huizhou District, Huangshan City, Anhui Province

图3 美国加州高速公路车流量预测对比Fig.3 Comparison of traffic flow forecast of California expressway

从图4可见, ARIMA模型的误差明显有较大偏离,在训练数据不多的情况下(左半部分),随着时间推移其偏离比较大, LSTM、TS-NN在两个不同的数据集中都表现相对稳定。

图4 误差对比Fig.4 Error comparison

5 结语

随着人口的增长和经济的快速发展,城镇率和车辆数量不断上升,交通拥堵问题日益突出,国内外针对道路交通的诱导系统层出不穷,从科学技术上提供了出行方案。把时间序列和神经网络结合在一起进行的城市道路车流量预测研究,一方面从技术结合了时间序列和神经网络的算法,在算法上将时间序列ARIMA的参数导入到神经网络中,提升神经网络预测准确率,但也降低了模型的鲁棒性;另一方面以车流量视角进行预测研究,在高速公路、城市道路两个路网数据集测试中,都能提升预测的准确率,从一定程度上,确实有助于ITS核心算法改进。然而,引起道路交通的拥堵的因素有很多,如:早晚上下班过度集中、城市路网结构不合理等,这些通过科学技术层面仍然比较难以解决,另外,判断城市道路交通拥堵除车流量外,还包括车辆类型、车速、车密度等参数,因此,要比较科学的、全面的提升ITS工作能力,还需要加强基础道路设施的科学规划,以及提升诱导系统算法准确率和效率。

猜你喜欢
车流量道路交通神经网络
道路交通安全主动防控探究
基于神经网络的船舶电力系统故障诊断方法
MIV-PSO-BP神经网络用户热负荷预测
基于改进Hopfield神经网络的对地攻击型无人机自主能力评价
《道路交通安全法》修改公开征求意见
基于神经网络的中小学生情感分析
道路交通安全宣传 口袋书系列
欢迎订阅2017 年《道路交通管理》杂志
参考答案