1. 引言
近年来,随着高速公路的迅速发展、汽车保有量快速增长,引起道路交通拥堵等问题,交通对于城市空间布局的拓展、沿线区域经济社会的发展都具有重要意义,进行高速公路短时流量预测能够及时反映高速公路的运行压力,智能交通系统就可以通过诱导系统实时发布诱导信息,提高道路交通流的通行效率,驾驶员可以根据预测结果制定出行计划,避开道路拥堵时间和出行区域,缓解交通拥堵情况。因此,如何准确高效的进行高速公路流量预测是亟待解决的问题。
目前交通流预测主要有基于统计理论、智能理论模型、非线性理论、动态交通分配、组合模型等方法。Smith等 [1] 、Hu等 [2] 分别使用BP神经网络对高速公路路段和交叉口短时交通流量进行预测,曹洁等 [3] 、胡伍生等 [4] 通过对BP神经网络进行优化以提高路段、交叉口短时流量的预测精度。祁朵和毛政元 [5] 、梁艳平等 [6] 应用了KNN算法对交叉口的数据进行预测,取得了较好的预测效果。相对与单一模型,组合模型能发挥各个模型的优点使预测结果达到最优,钱伟等 [7] 建立了基于灰色算法和ELM神经网络的组合模型对交叉口流量进行预测,组合模型相较于单一的ELM模型误差降低了12.8%。刘欣彤等 [8] 、刘钊等 [9] 建立了基于支持向量机和K近邻算法的组合模型对短时公交客流、交叉口交通流进行预测,仿真结果表明SVM-KNN算法可以提高预测精度。沈国江等 [10] 建立了基于卡尔曼滤波模型和径向基函数神经网络的组合模型对交通流进行预测,建立的组合模型相对于单一模型预测误差均有所下降。高速公路短时车流量具有非线性、随机性的特征,所以被称为非线性时间序列问题。考虑原始数据具有非平稳性,进行信号处理可以有效的提高预测精度,Ma等 [11] 、Chai等 [12] 、贺国光等 [13] 、曹洁等 [14] 建立了基于小波分解的组合模型应用于短时交通流预测,经过实证分析验证了模型的有效性,发现建立的对原始信号处理后再进行预测的组合模型可以减小误差,提高预测的精度。与小波分解相比,经验模态分解(EMD)具有更好的适应性,吴俊和张榆锋 [15] 比较了经验模态分解和小波分解的特性,得出经验模态分解在处理非平稳信号的过程中具有较好的应用效果。朱从坤和谢鑫鑫 [16] 结合经验模态分解和K近邻非参数回归构建了组合模型对轨道交通站点进行预测,组合算法预测精度高于单一算法。经验模态分解相对于常见的傅里叶变换、小波变换等具有自适应性的特点,克服了傅里叶变换和小波变换的局限性,故本文选择EMD算法结合适用于回归分析的K近邻算法和自适应能力强的BP神经网络进行组合预测,并利用高速公路入口收费数据来检验模型的预测效果。
2. 基于EMD-KNN-BP的组合预测模型
根据不同算法的特点结合短时交通流量的特征,建立基于EMD分解的组合模型,可以有效地避免单一模型的缺陷,建立的组合模型具有更高的预测精度和更强的适应性。
2.1. 经验模态分解
经验模态分解(Empirical Mode Decomposition, EMD)是一种用于非平稳信号分析处理的方法。EMD分解就是将复杂数据的信号进行分解,得到有限个本征模函数(Intrinsic Mode Function, IMF),分解出来的每个IMF分量都包含着原信号不同尺度的信息特征。
EMD方法中分解成的IMF要基于以下两个条件:处理的信号在时域范围内,其极值点的个数与零点个数差小于等于1;处理的信号上下包络线需对称于时间轴。
EMD分解为IMF分量的具体步骤如下:
1) 找极值点。寻找原始信号
的极值点,包括极大值和极小值;
2) 得到极大、极小值包络线。通过样条曲线连接极大值点和极小值点,得到包络
和
3) 计算平均包络线。公式如下:
(1)
4) 迭代。将原始信号
减去平均包络线得到
,若
不满足条件则重复上述条件直至满足条件,得到的
为IMF1。将信号分离出来后多次迭代,直至剩余信号为单调函数。
2.2. K近邻算法
KNN (K-Nearest Neighbor)算法,又称K最邻近法,是由Cover和Hart于1968年提出的概念。KNN算法是一种较为成熟的机器学习算法,属于数据挖掘的分类技术,通过测量不同特征值之间的距离方法进行分类。
KNN的算法原理是存在一个样本集合,并且样本集中的数据已被分为不同的类别,输入没有类别的新数据后,将新数据的特征与样本集中的数据特征进行比较,然后提起样本集特征的最相似的K个分类标签,选择K个标签中次数最多的分类为新数据的类别。在KNN模型的训练过程中,K值是一个重要的训练参数,K的取值受问题自身和数据集的大小决定,如果K值过小,容易受个例影响;K值过大,容易受到距离较远的特殊数据影响。
本文采用欧氏距离作为样本距离,
为实数向量空间
,
,
,
,样本点和训练集中样本点的距离L的计算公式如下所示:
(2)
2.3. BP神经网络
BP (back propagation)神经网络是由科学家Rumelhart和McClelland等人于1986年提出的概念,是目前应用最广泛的神经网络模型之一。神经元模型是通过模仿生物神经元结构而被设计出来的,经过输入–传输–输出进行变换,基本思想是梯度下降法。BP神经网络作为机器学习算法的一种,就是通过用机器学习算法建立模型,让机器模拟人的决策行为进行对数据进行处理,通过不断对模型进行训练,再进行了错误的预测之后对模型进行修正。
BP神经网络主要是由输入层、隐藏层、输出层组成。输入层(Input Layer)是指外界已有信息通过输入层输入到模型中,从而传递到下一神经元;隐藏层为神经元内部的交换环节,对传入的信息进行转换,隐藏层(Hidden Layer)可以为单层或多层,每一层神经元只会对下一层的神经元产生影响;输出层(Output Layer)将隐藏层变换得到的信息进行输出,以需要的形式展现结果。BP神经网络是一种多层前馈神经网络,它的主要特点是将信号向前进行传递,误差反向进行传递,正向传播是将输入的样本信息从输入层传入,经过隐藏层内部处理后通过输出层传出,如果输出层的输出内容与期望的输出结果不符则进入误差的反向传播。反向传播是将输出内容以某种形式通过隐藏层反向向输入层传播,将误差分配给各层中的所有单元,从而获得修正各单元的误差信号,从而使最终的输出结果不断向期望值逼近,产生的误差最小。BP神经网络架构图如下图1所示:

Figure 1. Architecture diagram of BP neural network
图1. BP神经网络架构图
图1中
表示BP神经网络中的输入数据,可以看作函数的自变量;
表示BP神经网络中从神经元
的连接权值;
表示BP神经网络中的输出数据,可以看作函数的因变量。任何在闭区间的一个连续函数都可以用一个隐层的BP网络逼近,一个三层的BP网络可以完成任意的N维到M维的映射,因此在BP网络多采用单隐层网络 [17] 。
2.4. 组合模型的构建
组合模型首先是将原始数据归一化后进行EMD分解,将分解得到的IMF分量使用BP神经网络或K近邻算法进行预测,预测分量重构后得到预测值。建立的组合模型如下图2所示。
步骤一:对原始数据进行预处理,将收费数据转化为随时间变化的车流量数据,对缺失数据和错误数据进行修正,并对数据进行标准化处理,将处理后的数据按照10 min的精度进行划分,得到数据集
,将
分为两列,第一列为数据的前80%作为训练集X输入对模型进行训练,第二列为数据剩余的20%为预测值。

Figure 2. Combined model structure diagram
图2. 组合模型结构图
步骤二:对数据进行归一化处理,公式如下所示:
(3)
式(3)中:Z为归一化后的数值;X为样本数据;
为样本数据的最大值;
为样本数据的最小值。
步骤三:将时间序列
进行EMD分解,将得到n个IMF序列
,即:
(4)
步骤四:首先需要确定K的值,结合理论并通过枚举法发现,当K为8时算法的各项评价指标达到最优,将EMD分解得到的高频IMF序列输入KNN算法中。
步骤五:基于BP神经网络的相关理论,选用单隐层网络,学习率0.02,迭代次数1000次,将低频序列输入BP神经网络中。
步骤六:对输出结果进行反归一化处理,公式如下所示:
(5)
步骤七:输出预测值
、
,得到最终的预测结果,即:
(6)
2.5. 误差评价指标
为比较不同算法的计算结果,需要建立统一的评价指标体系进行分析,本文选用均方根误差(RMSE)和平均绝对百分比误差(MAPE)两种常见的评价指标对预测的模型进行标准化评价。
具体计算公式如下所示:
(7)
(8)
其中,N为样本数量,
为实际值,
为预测值。
3. 实例分析
3.1. 数据处理分析
实验数据来源于高速公路收费站入口处车辆的信息,选用济南某高速公路收费站入口车辆收费数据作为测试样本进行预测,样本记录7月3日0时至7月7日24时进入高速公路的收费数据,按照十分钟的精度分为720组。高速公路入口流量具有周期性,单日流量呈现双峰分布,早高峰为上午8时,晚高峰为下午17时,下图3为7月3日至7月7日高速公路入口车流量变化趋势。

Figure 3. Trend chart of expressway inlet flow change
图3. 高速公路入口流量变化趋势图
3.2. 基于EMD分解的组合模型预测
基于python语言,依据EMD去噪算法,对高速公路入口流量处理后的数据进行EMD分解。分解后得到8条IMF函数序列(IMF1,IMF2,IMF3,IMF4,IMF5,IMF6,IMF7,IMF8),如图4所示。
从图中可以看出数据具有非平稳性,EMD分解可以降低原始序列的复杂度,IMF分量逐渐趋于平稳,将分解得到的各个IMF分量分别输入到构建的BP神经网络和KNN模型中,其中前576组数据作为训练数据对EMD-KNN、EMD-BP网络进行训练,后144组数据对模型的预测精度进行检验,根据将不同分量得到的预测结果进行重构后得到预测数据,单一模型和组合模型的对比图如下图5,图6所示。

Figure 4. EMD breakdown of expressway flow
图4. 高速公路流量EMD分解图

Figure 5. BP neural network, EMD-BP algorithm prediction graph
图5. BP神经网络、EMD-BP算法预测图

Figure 6. KNN algorithm, EMD-KNN prediction graph
图6. KNN算法、EMD-KNN预测图
从对不同频率IMF分量的预测中可以看出,KNN算法对于高频序列的预测拟合效果优于BP神经网络,低频序列则反之,将高频序列(IMF1、IMF2、IMF3、IMF4)输入KNN模型中进行预测,低频序列(IMF5、IMF6、IMF7、IMF8)输入BP神经网络进行预测,建立的EMD-KNN-BP组合模型预测结果如下图7所示:

Figure 7. EMD-KNN-BP algorithm prediction graph
图7. EMD-KNN-BP算法预测图
从图中可以看出,基于BP神经网络和KNN算法的预测结果和原始数据的拟合曲线相似,但拟合效果相对较差,KNN算法的预测结果优于BP神经网络,但与真实值仍有一定差距。EMD分解后结合BP神经网络和KNN算法的预测的结果均优于单一模型。
3.3. 模型评价
选择MSE和RMSE对预测结果进行评价,得到的单一模型和组合模型的预测误差如下表1所示:

Table 1. Prediction model evaluation index
表1. 预测模型评价指标
从表中可以看出,BP神经网络的预测误差最大,利用EMD分解进行数据处理后的EMD-BP和EMD-KNN组合模型相较于单一模型的预测精度均有提高,这说明EMD分解可以有效地提高数据质量,提高单一模型的预测精度;根据分量特征不同而重新组合的EMD-KNN-BP模型的预测误差MSE、RMSE最低,具有良好的预测效果。
4. 结语
针对高速公路短时流量预测问题,本文提出了引用EMD分解对数据进行处理,构建组合模型解决单一模型的缺陷,文中还选用了BP神经网络和K近邻算法进行对照,并结合EMD分解不同分量的组合构建了EMD-KNN-BP组合模型进行预测。本文以高速公路收费站入口数据对建立的组合模型进行实证分析,最终建立的组合模型EMD-KNN-BP的预测误差显著低于BP神经网络和KNN算法两种基本模型,通过对预测结果进行分析可以得出:经过EMD分解得到的数据具有更好的平稳性,能够提高模型的预测精度,EMD-BP、EMD-KNN相较于单一模型的MSE、RMSE分别降低了24.4%、13.4%和9.6%、4.9%;组合模型EMD-KNN-BP可以有效地结合单一模型的优点,预测效果优于EMD-KNN和EMD-BP组合模型,有效地提高了高速公路短时流量的预测精度,MSE、RMSE的误差分别降低了61.8%、38.2%。
基金项目
山东省交通科技计划“基于高速公路优势资源和客户需求的综合服务体系构建(2020B50)”。
NOTES
*通讯作者。