APP下载

数据缺失下的短时交通流预测①

2021-11-05徐东伟何德峰

高技术通讯 2021年9期
关键词:交通流损失预测

徐东伟 彭 鹏 何德峰

(*浙江工业大学网络空间安全研究院 杭州310023)

(**浙江工业大学信息工程学院 杭州310023)

0 引言

随着城市交通出行需求的不断增长,快速而有效的未来交通状态评估对于缓解交通拥堵、提高交通路网运行效率等具有着重要意义。短时交通流预测作为一种有效的未来交通状态评估方法,其预测结果不仅能够帮助人们规划更为合理的出行路线,还可以帮助交通管理部门制定更为科学的交通治理方案和采取更为有效的交通管控手段。

为了实现实时、准确的短时交通流预测,国内外研究学者们提出了大量的交通流预测方法和模型。这些预测模型通常可以分为参数模型和非参数模型。常见的参数模型有自回归差分移动平均模型[1]、卡尔曼滤波模型[2]、隐马尔可夫模型[3]等。相比于参数模型,非参数模型没有固定模型参数和固定模型结构的约束,因此有着更优秀的数据学习能力和表达能力。常见的非参数模型有支持向量机(support vector machine,SVM)模型[4]、K 最近邻(knearest neighbor,KNN)模型[5]、决策树模型[6]、神经网络模型[7-9]、深度学习模型[10]等。

相比于其他模型,深度学习模型不仅有着灵活的模型设计,还有着强大的海量数据深层特征学习能力。因此,越来越多的深度学习模型被提出并用于解决短时交通流预测问题。文献[11]基于深度信念网络(deep belief networks,DBN)实现了交通流的多种任务预测。文献[12] 构建堆栈自编码(stacked auto encoder,SAE)模型,实现了大数据下的短期交通流预测。文献[13]提出了一种基于长短期记忆神经网络(long short-term memory,LSTM)的短期交通流预测模型。文献[14]提出了一种基于卷积神经网络(convolutional neural network,CNN)的短期交通流预测模型。文献[15]提出了一种基于图卷积网络(graph convolutional network,GCN)的交通流预测模型。文献[16]使用时空注意力神经网络完成了短时交通流的预测。除此之外,人们还提出了一些组合模型来进一步提高交通流的预测精度。文献[17]将一维卷积与LSTM 相结合,提出了基于卷积-长短期记忆神经网络(convolutional LSTM,Conv-LSTM)的短期交通流预测模型。文献[18]提出了一种CNN 与支持向量回归(support vector regression,SVR)相组合的交通流预测模型。文献[19]将CNN 与LSTM 相组合,进一步提高了LSTM 的短时交通流预测精度。

随着人们的不断研究,交通流预测模型的预测精度相比过去已经有了较大的提高,但是这些模型是以完整交通流数据为研究前提的。在实际生产生活中,检测器故障、服务器检修等现象均可导致不等程度的交通数据缺失问题。针对上述问题,主要采用的解决方法为先数据修复然后再预测,但是该方法相比于直接预测而言过程较为复杂且数据修复的质量将直接影响模型的预测精度。

生成式对抗网络(generative adversarial network,GAN)作为一种新型的生成式深度学习模型,其通过数据分布学习与博弈机制即可生成图片[20]、对话文本[21]等内容,具有强大的数据生成能力。为此,本文采用GAN 主体框架,以缺失交通流数据作为输入,借助全连接层、门控循环单元(gated recurrent unit,GRU)层的数据生成能力与多层全连接层的判别能力,实现数据缺失下短时交通流的直接预测。

1 GAN

1.1 原始GAN

2014 年,文献[22]提出了一种基于博弈思想的生成式模型,即生成式对抗网络GAN。该模型为日后各种GAN 的变体模型的提出奠定了深厚的基础,因此人们也将该模型称之为原始GAN。GAN 作为一种新型的深度学习模型,其主要由生成网络G和判别网络D两部分组成。GAN 的模型框架结构如图1 所示。

图1 GAN 模型框架结构图

在GAN 中,生成网络主要负责数据的生成,而判别网络D则主要负责生成数据x′与真实数据x间的区分。当噪声样本z输入到GAN 中时,首先生成网络G基于噪声z输出生成数据x′,然后将生成数据x′与真实数据x输入判别网络D进行真假数据的判别。

为了保证GAN 生成数据的质量,GAN 的模型损失函数在生成网络G与判别网络D的博弈训练过程中对两者均进行了考虑。生成网络损失函数LG、判别网络损失函数LD计算方式分别如下:

其中,z为随机噪声,x为真实数据。当两个网络达到纳什平衡时,则GAN 模型训练完成。

虽然原始GAN 早期在图像生成领域展现了出色的表现,但是依旧存在训练过程中纳什平衡难以维持、无法准确反映模型训练程度、模型生成的数据样本单一等问题。为了有效解决原始GAN 的上述问题,人们对GAN 的结构、损失函数等进行了改进,提出了一系列的GAN 的变体模型。

1.2 WGAN

针对原始GAN 存在的问题,文献[23]对原始GAN 进行改进,提出了Wasserstein GAN(WGAN)。相比与原始GAN,WGAN 的改变主要包含以下几个方面。

首先,在真假数据相似度衡量上,WGAN 采用Wasserstein 距离代替了GAN 中原有的JS 散度或KL 散度。Wasserstein 距离计算方式如下:

其中,Π(Pr,Pg) 为Pr和Pg的联合分布的集合。相比JS 散度或KL 散度,Wasserstein 距离在数据样本分布无重叠时依旧可以通过计算来反映两个数据分布之间的有效距离。

其次,在网络结构上,WGAN 将GAN 中判别网络中输出层的激活函数sigmoid 进行了删除,使得判别网络可以直接根据Wasserstein 距离计算衡量数据分布间的相似度,并有效避免了sigmoid 函数潜在的梯度消失问题。

最后,在模型训练上,WGAN 在模型损失函数计算时不再进行log 计算,在判别网络参数更新过程添加了权重裁剪,并推荐使用RMSProp 优化器进行模型参数的求解。根据WGAN 的改变,WGAN 生成网络损失函数LG、判别网络损失函数LD的计算方式分别如下:

基于上述改进,WGAN 不仅有效解决了GAN在训练过程中存在的不稳定问题,明确了一个合理的数值去反映GAN 的训练进程,还基本解决了GAN 的模式单一问题,提高了生成数据的多样性。

2 模型设计

2.1 模型结构设计

GAN 及其变体在图像、文本、视频等诸多领域的成功不仅证明了其强大的数据生成能力,还说明其具有一定的普适性。基于以上特性,针对数据缺失下的短时交通流预测问题,本文提出了一种基于Wasserstein 生成式对抗网络的短时交通流预测模型。该模型的框架结构如图2 所示。

图2 本文预测模型框架结构图

模型主要由生成网络G和判别网络D两部分共同构成,其输入为数据缺失的交通流时空矩阵x,输出为修复后的交通流时刻矩阵x′ 和预测的交通流量数据y′。假设第m条路段在第t时刻的真实交通流数据为xmt,修复后的交通流数据为,第m条路段在第t+p时刻的交通流预测值为,那么x、x′和y′分别表示如下:

其中,m表示路段的数量,t表示交通流历史数据窗口的大小,p表示交通流预测的窗口大小。

在该模型中,生成网络G主要由输入层、全连接层、GRU 层和输出层构成,其具体结构设计如图3所示。其中,输入层、输出层分别负责接收历史交通流数据和输出交通流预测结果,全连接层1 负责交通流数据的编码,GRU 层负责交通流编码结果的特征提取,全连接层2 负责GRU 层特征提取结果下的解码。假设第t时刻的交通流数据集合为xt={x1t,x2t,…,xmt},那么生成网络G计算过程的数学表达式如下:

图3 生成网络框架结构示意图

其中,·表示矩阵乘法运算,[]表示向量相连操作,*表示矩阵的点乘运算,et表示全连接层1 编码输出,rt、zt、ht和分别表示GRU 层中重置门、更新门、隐藏层和候选隐藏层的输出。

相比于生成网络G,判别网络D主要负责生成交通流数据与真实交通流数据的区分,其主要由多层全连接层构建而成。判别网络D的结构设计如图4 所示。其中,d和d′分别表示在真实交通流数据和生成数据下判别网络D的判别输出。

图4 判别网络框架结构示意图

2.2 模型损失函数设计

本文模型的损失函数设计主要包含生成网络和判别网络两部分。生成网络损失函数主要用于保证生成网络输出的交通流预测数据与真实的交通流数据在数据分布上尽可能地相似,而判别网络损失函数则主要用于保证生成数据与真实交通流数据的有效区分。

生成网络损失函数主要由基本生成损失函数、预测损失函数和数据修复损失函数3 部分组成。基本生成损失函数主要用于促使生成网络尽可能地生成判别网络无法区分真假的数据样本。而预测损失函数可以在一定程度上保证生成的交通流数据的预测质量。此外,在一定程度上,对于数据修复损失函数的考虑可以进一步提高模型的预测性能。因此,生成网络损失函数表示如下:

其中,x′表示修复后的交通流时刻矩阵,表示完整的交通流时刻矩阵,y表示交通流数据的真实值,y′表示交通流数据的预测值,-D(y′) 为基本生成损失函数,(y′ -y)2为预测损失函数,为修复损失函数。

判别网络损失函数主要是对数据相似度的衡量,其表示如下:

3 实验过程及结果分析

3.1 实验数据

本文的实验数据来自美国加州交通运输性能测量系统。该系统包含了全加州高速公路中部署的15 000 多个交通检测器的数据,这些数据包括交通流量、速度、饱和度等重要交通参数。本文选取了其中4 个检测器2016 年4 月1 日至4 月30 日工作日的交通流量数据作为实验数据,数据采样时间间隔为5 min。其中,前80%的实验数据作为模型的训练集,剩余的实验数据作为模型的测试集。

3.2 数据预处理

为了减少实验数据的实际量纲对模型训练速度和预测性能的影响,本文对实验数据进行了标准化处理,将数据量纲控制在[0,1]之间。本文采用的数据标准化计算方式如下:

其中,x表示原始数据,x*表示标准化的数据,min(x) 与max(x) 分别表示原始数据中的最小值和最大值。

本文原始实验数据为完整的交通流量数据。为了有效模拟交通流数据不同程度的缺失,本文对原始实验数据进行了随机的数据缺失处理。数据缺失处理过程如图5 所示。

图5 数据缺失处理示意图

首先根据各检测器历史交通流数据构建完整时空矩阵xC,然后构建与交通流时空矩阵大小相同的掩码矩阵m,最后将xC与m进行点乘运算,从而生成数据缺失下的交通流时空矩阵x。其中,掩码矩阵m中的0 表示数据缺失,1 表示数据完整,0 与1的分布比例由实际的数据缺失率决定。为保证更好地模拟数据缺失过程,数据缺失处理过程中的数据损失率集合设定为{0.2,0.4,0.6,0.8},且构建的m均为随机生成。

3.3 模型参数

本文涉及的模型参数主要分为生成网络、判别网络、模型训练这3 部分。在生成网络部分,全连接层1、GRU 层、全连接层2 的神经元个数分别设置为64、32、4。在判别网络部分,采用4 层全连接层,其每层神经元个数分别设置为32、16、8、1。在模型训练部分,生成网络与判别网络均采用RMSProp 优化器进行训练,学习率设置为0.00001,批次大小为128,单次迭代下判别网络训练次数设置为5,判别网络的权重裁剪范围设置为[-0.01,0.01]。此外,本文的交通流历史数据窗口大小t设置为12,交通流预测窗口大小p即预测步长设置为1。

3.4 性能评价指标

为了更为有效地评估预测结果,本文选取了均方根误差(RMSE)、绝对平均误差(MAE)和平均绝对百分比误差(MAPE)这3 个性能指标来衡量模型的预测表现。其计算方式分别如下:

其中,yi表示交通流量的真实值,表示交通流量数据的预测值。

3.5 实验结果与分析

为有效了解和分析所提模型的交通流预测表现,本文首先对数据缺失率为0.2 情况下的模型预测结果进行分析。

以4 月27 日为例,提出模型的各路段预测结果如图6 所示。从预测整体结果来看,所提模型具有较好的预测性能,其不仅可以有效捕捉交通流的变化趋势,还能够较好地贴合交通流数据的真实值。此外,相比于高峰期的交通流预测而言,该模型在非高峰期的交通流预测有着更大的优势和精准度。

图6 提出模型的各路段预测结果

为了进一步验证提出模型的预测性能,本文还对模型在其余数据缺失率情况下的交通流预测进行了实验,并将提出模型的预测表现与KNN、SVR、反向传播神经网络(back propagation,BP)、LSTM、GRU、SAE、Conv-LSTM 进行了对比。各模型在不同数据缺失情况下的预测结果性能指标分析如表1~表3 所示。

从表1~表3 中可知,在不同程度的数据缺失下,本文提出的模型预测性能均高于其他对比模型。在数据缺失率为0.2 时,本文模型在RMSE、MAE、MAPE 上分别改善了11.95%~40.08%、12.07%~43.55%和13.53%~39.26%;在数据缺失率为0.4时,本文模型在RMSE、MAE、MAPE 上分别改善了9.28%~52.85%、9.87%~58.31%和10.60%~48.12%;在数据缺失率为0.6 时,本文模型在RMSE、MAE、MAPE 上 分 别 改 善 了11.12%~63.31%、11.93%~68.20%和11.01%~56.75%;在数据缺失率为0.8 时,本文模型在RMSE、MAE、MAPE 上分别改善了4.74%~64.35%、5.67%~69.18%和7.80%~54.19%。在对比模型中,KNN 预测表现最差,SVR 的非线性空间映射使其预测表现要优于BP 和SAE,LSTM 和GRU 因其优秀的时间特征处理能力而有着较好的预测表现,而Conv-LSTM 对交通数据时空特征的有效处理使其预测表现要远优于其他对比模型。

表1 各模型RMSE 性能指标分析

表2 各模型MAE 性能指标分析

表3 各模型MAPE(%)性能指标分析

此外,为探究数据修复函数对于本文模型的预测表现影响,本文对不含数据修复损失函数的预测模型进行了实验分析,其分析结果如表4 所示。

表4 无数据修复损失函数下的模型预测结果分析

将有无数据修复损失函数的模型预测性能进行对比,可以发现本文模型在缺乏对数据修复损失函数考虑后,其预测性能出现了一定的下降。因此,在本文模型损失函数设计过程中对数据修复损失函数进行考虑并使用具有一定的合理性。虽然本文模型的预测性能在不考虑数据修复损失函数时会出现一定的下降,但是依旧要优于其他对比预测模型。

4 结论

本文旨在解决数据缺失下的短时交通预测问题,以实现交通数据缺失下更直接、更精准的短时交通流预测。为实现这一目标,本文基于生成式对抗网络提出了一种以缺失数据为输入、未来交通流状态为输出的端到端的预测模型。在模型生成网络部分,本文利用全连接层和GRU 层实现缺失数据中重要特征的提取和预测结果的输出;在模型判别网络部分,本文采用多层全连接层完成对生成数据与真实数据的区分。在模型损失函数设计上,本文对WGAN 损失函数进行了改进,在其基础上添加了数据修复损失函数。实验结果表明,本文提出的模型在不同的数据缺失下均有着较好的预测表现且预测性能也均优于其他对比模型。此外,本文通过有无数据修复损失函数下的模型预测表现对比,验证了模型损失函数改进的可行性和有效性。本文以高速路为实验对象,其网络结构复杂度相对较低,在未来的研究中可以对更为复杂的城市道路的短时交通流预测进行研究。

猜你喜欢

交通流损失预测
无可预测
选修2-2期中考试预测卷(A卷)
选修2-2期中考试预测卷(B卷)
胖胖损失了多少元
玉米抽穗前倒伏怎么办?怎么减少损失?
一种平稳化短时交通流预测方法
不必预测未来,只需把握现在
交通流随机行为的研究进展
路内停车对交通流延误影响的定量分析
一般自由碰撞的最大动能损失