王方伟, 陈景雅, 谢敏慧, 石宝存
(河海大学土木与交通学院,南京 210098)
随着智能交通系统的快速发展,交通流预测作为智能交通系统的核心内容,在交通管理和城市规划的应用中具有重要的意义. 交通流数据本身具有非线性和随机性的特点,会受到时间、空间等诸多因素的影响,这使得传统机理和经典数学理论模型难以模拟其过程[1].
近年来国内外研究学者提出组合模型预测交通流量,通过结合多个模型的优点提高预测精度. Li等[2]提出了一种基于集成经验模态分解和随机向量函数连接网络的行程时间预测模型. Lu 等[3]结合LSTM 和ARIMA的优点对交通流进行预测,也取得了较好的预测效果. 邹宗民等[4]用粒子群算法对支持向量机进行参数寻优,该模型在小样本交通流序列中表现较好. 李磊等[5]提出一种卷积神经网络和LSTM结合的方法,有效提取了交通流的时空特征. Guo等[6]在时空图卷积网络中引入了注意力机制,对交通流序列进行了准确预测. 随着研究的深入,有些学者开始引入多因素进行交通流预测. 丁永兵等[7]构建多元时间序列模型进行预测,证明优于传统的ARIMA模型. Wu等[8]挖掘交通流周期性和道路空间特征,构建了一种深度神经网络模型. Tang等[9]将聚类方法与时空相关性结合预测交通流量. Murça等[10]提出了一种基于多因素多层聚类分析的概率模型. 但是引入更多的因素会导致模型的复杂性提高,因此需要在保证预测精度的同时提高模型运算效率. 林蒙蒙等[11]通过引入因果分析方法量化各因素对交通流的影响程度. 李泽文等[12]提出主成分分析法对引入的多因素降维. Li等[13]将基于最大信息系数(MIC)与支持向量回归分析法结合,降低模型的复杂性. 徐先锋等[14]通过K近邻算法提取特征,兼顾了模型的预测精度和运算速度.
综上所述,目前针对天气因素对交通流影响的研究较少,而天气因素与交通流量之间存在复杂的非线性关系,往往多种天气因素对交通流量共同作用. 因此,本文提出一种多因素建模方法. 首先采用PCA 对数据进行降噪处理,然后利用灰色关联分析法计算各特征与分类标签的关联程度,选择关联性高的特征作为最终的训练特征,降低模型复杂度. 最后采用集成学习的方式进行模型预测,同时与传统模型进行对比,验证模型的可靠性.
本文的交通量数据来自英国公路交通数据集,曼彻斯特是英国重要的交通枢纽,交通发达,因此选取数据集中曼彻斯特2020-01-01至2020-10-31的局部路网节点的交通量作为实验对象;其他监测数据来自英国气象局,包括:气温、大气压强、风速、相对湿度、降水量、云量、可见度. 每隔15 min收集一次数据,每类数据29 280条. 针对采集的数据样本,前70%的数据用于模型训练,后30%的数据作为测试集用于模型性能验证.
由于选取的数据样本由8 个不同的指标特征变量组成,不同的指标特征具有不同的量纲和量纲单位.为了消除不同指标之间的量纲影响,让不同的数据指标具有可比性,同时又不影响到数据分析的结果,需要对数据进行归一化处理. 本文实验中选用Min-max标准化方法,公式如下所示:
式中:x′t表示经归一化处理后的数值;xt表示原始数值;xmax和xmin分别表示同一个指标的样本数据中的最大值和最小值.
考虑到样本数据的监测采集周期较长,测量设备、测量方法以及一些人为因素都有可能对数据带来一定的误差. 因此对归一化后的数据再进行PCA降噪处理[15],先通过PCA降维,再将降维后的数据重建成和原来维度相同的数据就可以起到对数据降噪的作用[16]. 为了尽可能保留样本数据中的有效信息,实验中设置PCA算法保留数据95%的有效信息. PCA算法的步骤如下:
1)对样本数据矩阵Dn×m={x1,x2,…,xm} 进行中心化,得到中心化矩阵D′.
2)计算矩阵D′的协方差矩阵,并进行特征值分解.
3)取出最大的t个特征值所对应的特征向量{W1,W2,…,Wt} ,对其进行标准化处理得到矩阵W,降维后的数据矩阵即为Y=WTD′.
4)将矩阵Y与WT相乘得到新的矩阵Y′,即可将降维后的矩阵重建为原来的维度.
5)求出矩阵的每一列的均值,得到n维的均值向量U,将Y′与均值向量U相加即为接下来实验中所需的样本数据矩阵.
本文采用GRA方法对多个特征变量进一步筛选[17]. 灰色关联分析法是一种通过确定参考数列和其他比较数列的几何形状相似程度来判断因素之间的联系是否紧密的方法,它可以对一个系统的发展态势进行定量的描述和比较. GRA的主要步骤如下:
1)确定反映系统行为特征的参考数列(交通流量)和影响系统行为特征的比较数列(天气因素).
2)为了消除各个因素数列中的数据不同量纲的影响,将所有的数列归一到[-1,1].
3)计算参考数列与比较数列的关联系数ξi(k):
式中:y0(k)为归一化后的参考数列;xi(k)为归一化后的比较数列;ρ为分辨系数,ρ越小,分辨力越强,通常取0.5.
4)计算灰色关联度ri:
其中n为比较数列的数目.
将交通流量与各个天气因素用灰色关联分析法进行计算,计算结果如表1所示.
表1 天气因素灰色关联度Tab.1 Grey relational degrees of various weather factors
由于交通流数据中包含着空间、时序、时间等诸多信息,使用单一的模型进行预测往往不能得到很好的效果,为此本文使用集成学习的方法进行研究[18]. 集成学习是使用一系列的个体学习器进行学习,然后通过一定的结合策略把各个学习结果进行整合,从而获得比单一学习器更好的学习效果的一种机器学习. 集成学习的一般结构如图1所示.
图1 集成学习结构Fig.1 Ensemble learning structure
按照个体学习器之间是否存在依赖关系,集成学习方法大致可以分为两类:一类是个体学习器之间都存在强依赖关系,一系列的个体学习器串行生成,代表算法是Boosting系列算法;一类是个体学习器之间不存在强依赖关系,一系列的个体学习器并行生成,代表算法是Bagging和随机森林(Random Forest)系列算法.
自适应提升(adaptive boosting,AdaBoost)算法是基于Boosting 集成学习系列算法中著名的算法之一,它具有较强的学习效率,并且不容易出现过拟合的现象,可以通过不断地训练提高学习能力[19]. 本文选用长短期记忆神经网络(LSTM)、分类回归树(CART)、自回归积分滑动平均模型(ARIMA)作为AdaBoost 集成模型的个体学习器.
LSTM是一种改进后的循环神经网络,具有长时记忆功能,解决了长序列训练过程中存在的梯度消失和梯度爆炸的问题;ARIMA是一种经典的处理时序数据的数理分析模型,在平稳性较强的交通流中有着不错的预测能力,作为个体学习器可以用于初步捕获数据中的时序信息;CART是一种树构建算法,通过二元切分来处理连续型变量,即特征值大于给定的值就走左子树或者右子树,直到获得最终的结果. 三个个体学习器分别代表了深度学习方法、传统的数理统计模型、机器学习方法. AdaBoost算法流程如下:
1)给定样本总数为N的数据集为{(x1,y1) ,(x2,y2),…,(xi,yi),…,(xN,yN)},其中xi是样本特征,yi是样本标签,yi∈(- 1,1) ,i=1,2,…,N.
2)对训练样本数据集进行权值初始化:
式中w1i是初始第i个特征数据的权重数值,i=1,2,…,N.
3)根据设定迭代m次,m=1,2,…,M,M为总迭代次数,用权重分布的训练集Dm训练个体学习器hm.
4)计算个体学习器hm的误差率em:
5)根据误差率计算当前个体学习器hm的权值αm:
6)更新训练集的权值分布Dm+1:
其中Zm是规范化因子,有
7)重复步骤(3)~(6)迭代M次,构建得到最后的强学习器G(x):
为了提高预测模型的训练速度和准确度,本文提出了一种基于PCA-GRA-AdaBoost 的交通流量预测模型. 首先将所有的样本数据进行归一无量纲化和PCA降噪处理,然后利用灰色关联分析法对处理后的特征变量进一步筛选. 当两个序列的灰色关联度系数大于0.6时,可认为他们之间有很强的相关性[20],因此将关联系数大于0.6的特征变量输入到AdaBoost集成模型中,用于交通流量的预测. 具体模型预测流程如图2所示.
图2 预测模型结构图Fig.2 Structure diagram of prediction model
为了判定模型的预测性能和优劣程度,本文分别使用平均绝对误差(Mean Absolute Error,MAE)、平均绝对百分比误差(Mean Absolute Percentage Error,MAPE)、均方根误差(Root Mean Square Error,RMSE)、决定系数R2作为模型预测效果的评价指标. 其中MAE反映了预测值和真实值之间绝对误差的大小,该值越小,表示模型越准确;MAPE反映了所有的样本误差占实际值的比例;RMSE反映了模型的预测结果与真实值的偏离程度,该值越小,表示模型越稳定;R2体现模型的拟合效果,取值范围[0,1],该指标越接近1,表示模型的拟合效果越好. 各个评价指标的具体公式如下:
式中:y^i表示交通流量的预测值;yi表示交通流量的真实值;yˉ表示测试样本中真实交通流量的平均值;n表示样本个数.
为了验证本文提出的将基于PCA降噪处理、GRA特征筛选与AdaBoost 集成学习相结合方法的有效性,与传统的LSTM、CART、ARIMA、AdaBoost等预测模型作对比. 各个预测模型的结果如表2所示.
表2 经典预测模型性能对比Tab.2 Performance comparison of classical prediction models
由表2可以看出,在前三个单一预测模型的对比中,LSTM的预测效果最好. 这是由于样本数据具有时序性,LSTM在处理时序性问题中具有良好的效果,可以发掘序列间的非线性关系,从而提高预测精度[21]. 而AdaBoost集成模型相比三个单一的预测模型,在各个评价指标上都有不同程度的提高. 尤其是与ARIMA模型相比,AdaBoost 集成模型的MAE、MAPE、RMSE、R2分别减少了45.16%、51.51%、48.11%、30.21%. 这是由于三个个体学习器具有较强的差异性,一个个体学习器可以弥补其他两个学习器表现稍差的学习结果,三个学习器相辅相成,使得集成模型在预测的准确度和稳定性上明显优于单一的预测模型.
本文提出的基于PCA-GRA-AdaBoost 组合方法相比传统的AdaBoost 集成模型,决定系数R2进一步提高,达到0.942. 模型的MAE、MAPE、RMSE 分别减少了15.95%、17.29%、11.07%. 以上结果表明,本文提出的PCA-GRA-AdaBoost模型能够有效减少样本数据中噪音的影响,拟合程度和预测精度都有了不错的提升,同时经过GRA法对特征变量的筛选,选取与交通流量相关程度较高的其他因素作为集成模型的输入,降低了模型的运算复杂度.
为了更清楚地展示该模型的预测效果,从预测数据中随机抽取一段来进行展示,根据样本数据的预测值和真实值进行曲线绘图,如图3所示. 其中横坐标表示时间,纵坐标表示交通流量,蓝色曲线为样本数据的真实值,红色曲线代表预测值. 从两图的对比中可以看出,本文提出的优化后的AdaBoost 集成模型有着更好的预测效果.
图3 未优化(左)与优化后(右)AdaBoost集成模型对比Fig.3 Comparison of unoptimized(left)and optimized(right)AdaBoost integration models
本文针对影响交通流量的因素较多且复杂,考虑其数据具有时序性和非线性的特点,提出了一种PCAGRA-AdaBoost的交通流量预测模型. 通过与传统单一预测模型和未被优化的AdaBoost集成模型相对比,本文提出的PCA-GRA-AdaBoost 模型显著提高了交通流量的预测精度和稳定性,同时也提高了抗噪声干扰能力,并降低了模型运算的复杂度.