APP下载

基于SARIMA-GA-Elman组合模型的短时交通流预测方法

2022-11-07张玺君王晨辉

兰州理工大学学报 2022年5期
关键词:交通流权值线性

张玺君, 王晨辉

(兰州理工大学 计算机与通信学院, 甘肃 兰州 730050)

随着社会经济的飞速发展,机动车保有量的大幅度上升加剧了交通系统的负担,因此智能交通系统[1]应运而生.在智能交通系统中,短时交通流的预测对交通诱导控制和智能路线推荐起着至关重要的作用[2].实时准确的预测结果不仅能够帮助交通管理者制定合理的交通管制措施,还可以指导行人选择最优的交通路线和通行方式,最终提高城市道路资源的利用率,缓解城市拥堵路段的交通压力,并减少汽车尾气的排放对环境的污染.近年来,交通流预测已经辐射到海陆空的各个领域,例如船舶交通流量预测[3]、城市交通流量预测[4]和短期航空交通流量预测[5].越来越多的研究人员已经从交通流量[6]、速度[7]和占有率[8]着手进行预测,本文主要选择交通流量进行预测研究.

短时交通流的预测是一个复杂、多变的非线性过程,经过近20年国内外学者的研究大致分为线性统计模型、非线性理论模型、人工智能模型和组合模型.由于单个模型无法全面有效地预测交通流,所以组合模型的预测是现阶段短时交通流预测的一个主要方向.Lin等[9]提出了基于k近邻的局部线性小波神经网络(kNN-LLWNN)模型.Liu等[10]提出了基于小波降噪的GA-Elman模型.Yang等[11]使用GA改进了BP神经网络,建立了城市交通流量预测模型.上述三个组合模型虽然对神经网络采用了算法优化,提升了预测精度,但只对交通流的非线性特征做出了较好的预测,忽视了交通流的线性特征.和单纯的线性模型相比,捕获线性特征的能力要稍弱.Huang等[12]提出了一种基于马尔可夫链理论和灰色Verhuls模型组合预测方法,尽管该组合模型获得了较大的精度提升,但灰色Verhuls模型在对非线性数据的预测上要弱于神经网络.Li等[13]提出了一种基于ARIMA-RBF-ANN模型的组合预测方法,该组合模型考虑到了交通的线性和非线性特征,并分别使用对应模型做出了预测,但在线性模型的选择上没有考虑到周期特征.而在非线性模型的选择上选用了RBF静态神经网络,静态神经网络不能对具有时变性的交通流做出及时的反馈.

综合单个预测模型的不足和上述组合模型的劣势,本文提出一种基于SARIMA-GA-Elman组合模型的短时交通量预测模型,该模型是线性模型和非线性模型的组合,不仅充分考虑了交通流的线性因素和非线性因素,而且还考虑了交通流的周期性.同时在训练非线性模型时,利用遗传算法的全局搜索能力提前锁定神经网络权值和阈值的最优解临近值,提高了训练效率.实验结果证明了该组合模型有更好的预测精度.

1 单个模型介绍

1.1 SARIMA模型

20世纪70年代Box和Jenkins提出了ARIMA时间序列模型.AIRMA模型能捕捉趋势型数据中的有用信息,但对于包含周期特征的数据,ARIMA模型无法从中获得想要的信息.而交通数据有着明显的周期性,因此在本文中将使用SARIMA模型对交通数据进行周期性调整,消除周期性波动给预测带来的影响.

SARIMA(p,d,q)(P,D,Q,S)模型的形式如下式所示:

(1)

式中:φ(B)=1-φ1B-φ2B(2)-…-φpB(p)表示非季节性自回归多项式,p是该多项式的阶数;θ(B)=1-θ1B-θ2B(2)-…-θqB(q)是非季节性滑动平均多项式,q是该多项式的阶数;Φ(B(S))=1-Φ1B(S)-Φ2B(2S)-…-ΦPB(PS)表示季节性自回归多项式,P为该多项式的阶数;Θ(B(S))=1-Θ1B(S)-Θ2B(2S)-…-ΘQB(QS)表示季节性滑动平均多项式,Q为该多项式的阶数;B表示延迟算子,S表示时间序列的季节性周期长度;d表示趋势差分的阶数;D表示季节性差分的阶数.

1.2 Elman神经网络模型

Elman-RNN是Elman针对语音提出的一种神经网络,该网络与BP神经网络和RBF神经网络等静态前馈神经网络不同,它是一种动态递归神经网络[14],通常分为四层:输入层、隐藏层、承接层和输出层[15].输入层的单元仅起信号传输作用;输出层单元起线性加权作用;隐含层单元的传递函数通常选择非线性函数[16];承接层又称为状态层,用来记忆隐含层单元前一时刻的输出值并反馈为隐藏层的输入.图1是Elman-RNN的基本结构图.

如图1所示,Elman-RNN的非线性状态空间表达式如下式所示:

图1 Elman-RNN的基本结构

(2)

式中:y、h、xc、u分别表示m维输出层向量、n维隐藏层向量、n维承接层向量和r维输入层向量;W(1)表示输入层到隐藏层的连接权值矩阵,维度为r×n;W(2)表示承接层到隐藏层的连接权值矩阵,维度为n×n;W(3)表示隐藏层到输出层的连接权值矩阵,维度为n×m;purelin(*)表示输出层神经元的线性传递函数;tansig(*)表示隐藏层神经元的正切S型传递函数.

2 组合模型预测框架

2.1 组合模型构建依据

交通流可以看作是线性分量和非线性分量的组合,假设一组时间序列的数据yt被看作是由线性分量Lt和非线性分量Nt两部分组成[17],如下式所示:

yt=Lt+Nt

(3)

组合模型的预测流程分为以下三个步骤:

(4)

残差序列et中隐含着原始时间序列的非线性分量,表达式为

et=f(t)+εt

(5)

式中:f(t)表示原始时间序列的非线性分量的函数;εt表示随机误差.

Step 3 将上面两个步骤得到的预测值进行不等权组合:

(6)

组合模型的构建流程如图2所示.

图2 组合模型预测流程图

2.2 SARIMA线性滚动预测

SARIMA模型在预测较长时间段的时间序列过程中,不仅需要拟合大量的历史数据,导致建模周期长,而且预测效果差.考虑到交通系统中交通数据呈现实时更新的状态,所以本章节使用滚动预测的方式对SARIMA模型进行建模.不仅解决了预测效果差的问题,还可以持续拟合最新的交通数据,达到实时预测的效果.SARIMA模型滚动预测的算法如下所示:

算法1 SARIMA模型滚动预测

输入: 历史交通流序列{Xt|t=1,2,…,n};

滑动窗口长度W和步长S;

输出: 样本大小为num的交通流量预测矩阵

定义一个初始解空间

Ω<-array([])

fori≤0 to num do

X(i)=[Xt+i×S,Xt+i×S+1,…,Xt+i×S+W]

使用样本序列X(i)拟合SARIMA模型

使用训练好的模型预测指定时间段的时间

序列P(i)

将P(i)放入解空间Ω

end for

returnΩ

2.3 时间序列重构

本文GA-Elman模型的训练集采用SARIMA模型的预测误差,所以通过计算2.2节滚动预测得到的预测矩阵Ω和对应原始序列的差值可得到非线性模型训练集的误差矩阵E.为了获得未来多个时刻的交通量,采用多步预测的方法重构误差矩阵,将误差矩阵分为输入矩阵和目标矩阵.测试集使用历史时间序列,划分方式和训练集相同.训练集和测试集矩阵形式如下式所示:

(7)

(8)

(9)

式中:Ω表示SARIMA模型的预测矩阵;E是误差矩阵;I、O表示误差训练集的输入矩阵和目标矩阵;i表示一个训练样本的长度;T表示训练样本的数量;M、N分别表示测试集的输入矩阵和目标矩阵;xt表示t时刻的交通流.

在使用多步预测比较预测误差的过程中,本文选取了从步长1到步长8的数据进行验证比较,如图3所示.

图3 不同步长下的预测误差比较

从图3可以看出,当步长为2时,MAE和RMSE最小,精度最高,所以本文选择步长为2的多步预测方式对非线性GA-Elman模型的训练集和测试集进行时间序列重构.

2.4 GA-Elman非线性误差模型

本文提出的组合模型是线性模型和非线性模型的组合,前面已经介绍了线性模型的预测方法.非线性模型的建模流程如图4所示,主要分为三部分.首先,将SARIMA模型的预测误差作为非线性模型的训练集;其次,使用GA的全局搜索能力在训练Elman-RNN时反复迭代得到RNN权值阈值的最优解临近值,从而提高非线性模型的训练效率;最后将GA得到最优解临近值作为RNN的初始值通过梯度下降法进行训练,直到满足设定的最小误差.

图4 GA-Elman非线性误差校正模型流程图

使用GA优化Elman-RNN模型的具体步骤如下所示:

Step 1 确定Elman-RNN的拓扑结构,统计权值阈值的数量.权值和阈值是GA要优化的参数,计算公式为

N=I×H+H+H×H+H×O+O

(10)

式中:N表示待优化的权值和阈值数量;I表示输入层节点数量;H表示隐藏层节点数量;O表示输出层节点数量.

Step 2 种群初始化.依据上一步确定的权值阈值,随机生成若干种群进行二进制编码.

Step 3 确定适应度函数.适应度函数是为了获得最优的种群个体,本文使用Elman-RNN的目标函数的倒数作为适应度函数,计算公式为

(11)

式中:P表示种群数量;yi表示实际输出值;pi表示预测输出值.

Step 4 获取目标值.将初始的种群解码后放入Elman-RNN作为神经网络的初始权值和阈值,训练后将目标值返回.

Step 5 选择算子.选择算子的目的是为了选择适应度值大的个体组成新的种群,本文使用轮盘赌算法,计算公式为

(12)

式中:fj是适应度值;pi是个体被选择的概率.

Step 6 交叉算子.交叉算子是将两个个体分别交换各自的对应部位获得两个全新个体.假设个体ai={a1,a2,…,an}和个体bi={b1,b2,…,bn}在第k个位置后交叉,形成两个新个体Ai和Bi,表达式为

(13)

Step 7 变异算子.变异是随机对个体的某个基因位置进行突变,假设当突变概率r>0.1 时,个体i的第j个位置发生突变,表达式如下式所示:

(14)

Step 8 迭代.根据第1步中初始的迭代次数设置循环重复执行步骤(4~7),将每一代遗传后得到的最优个体替换掉上一代目标值最低的个体.

Step 9 解码.从种群中选出最优个体,并对其进行解码.

Step 10 预测.将解码后的最优个体对应到Elman-RNN的初始权值阈值,使用重构后的时间序列数据进行训练并预测.

使用GA优化Elman-RNN模型后,损失函数的收敛曲线对比Elman-RNN模型如图5所示.

图5 损失函数比较

从图5可以看出,经过GA优化的Elman-RNN模型的损失函数可以更快收敛,意味着GA-Elman模型有更高的预测效率.

3 实验分析

3.1 数据源

本文采用的实验数据是美国双子城在2018年的实测数据.该数据的初始采样时间间隔为30 s,对数据分别进行5、10、15 min的重采样后得到三个数据样本来验证本文提出的组合模型的鲁棒性.由于本文使用的数据集相对完整,所以只对数据集进行简单预处理.本文将6月1日~6月8日的交通流量数据作为研究样本,6月1日~6月7日的数据为训练集,6月8日的数据为测试集.数据集的具体划分方式如下:

1)在线性预测阶段,把数据集划分为多个样本,每个样本训练集和测试集的占比分别为80%和20%.

2)在非线性预测阶段,训练集和测试集的占比分别为75%和25%;训练集使用线性阶段得到的预测误差,测试集使用6月8日的原始数据.

3.2 模型实施

本文实验所使用的环境在Window7系统下基于Python3.7环境完成.实验中用到了Statsmodels统计模型库和Neurolab神经网络库.Statsmodels库提供对不同统计模型测试和统计数据的探索,本文基于该库函数对SARIMA模型进行建模.Neurolab库是一个简单而强大的Python神经网络库,支持多种神经网络类型和其他学习算法,本文使用该库函数完成Elman-RNN的建模.在Elman-RNN的超参数设置中,考虑到Elman-RNN承接层的存在以及数据集的规模,把隐藏层的层数设置为1层;隐藏层和承接层的神经元设置为10;输入层神经元采用2.3节测试的最优步长2;模型的训练目标误差为0.01;Epoch设置为800,避免过拟合的出现;预测结果的组合过程中线性模型的权重系数α经过相关性分析后设置为0.6,非线性模型的权重系数β设置为0.4,可对α和β进行微调,微调的过程中保证α+β=1.

3.3 评价指标

为了评价和比较实验结果,本文选取均方根误差、平均绝对误差、平均绝对百分比误差和决定系数作为组合模型的评价指标,计算公式如下式所示:

3.4 实验结果

本文为了验证组合模型的鲁棒性和有效性,分别对5、10、15 min采样间隔的交通流作预测,并和模型SARIMA、Elman、GA-Elman、SARIMA-Elman以及文献[13]提出的ARIMA-RBF组合模型作比较.图6是组合模型的预测结果,表1~3是各模型的精度指标比较结果.

图6 组合模型的预测结果

根据表1可得,SARIMA-GA-Elman模型的MAE相比SARIMA、Elman-RNN、GA-Elman、SARIMA-Elman、ARIMA-RBF模型分别提升了63.92%、29.71%、18.72%、11.12%、3.83%.由表2可得,SARIMA-GA-Elman模型的预测精度相比其他四个模型分别提升了15.99%、30.20%、25.61%、1.7%、1.89%.由表3可得,SARIMA-GA-Elman模型的预测精度相比其他四个模型分别提升了20.10%、19.07%、10.00%、4.8%、5.76%.

表1 模型精度指标(5 min)

表2 模型精度指标(10 min)

表3 模型精度指标(15 min)

4 结论

本文将统计学理论、机器学习和深度学习理论进行了一个合理的组合.首先,将统计学模型SARIMA和深度学习模型Elman-RNN组合,深入挖掘了交通量的线性和非线性特征;然后,使用机器学习算法GA对Elman-RNN进行优化,提高了组合模型的训练效率;最后,经过美国双子城不同采样间隔(5、10、15 min)的实测数据验证了组合模型有更好的预测性能和鲁棒性,不仅适用于短时交通流的预测,对其他领域时间序列的预测如股票、风速等也有一定的启发作用.

猜你喜欢

交通流权值线性
渐近线性Klein-Gordon-Maxwell系统正解的存在性
一种融合时间权值和用户行为序列的电影推荐模型
线性回归方程的求解与应用
CONTENTS
基于加权组合模型的短时交通流预测研究
一种平稳化短时交通流预测方法
二阶线性微分方程的解法
基于权值动量的RBM加速学习算法研究
基于多维度特征权值动态更新的用户推荐模型研究
交通流随机行为的研究进展