基于孤立森林算法贝叶斯优化的bi-凯发国际一触即发

基于孤立森林算法贝叶斯优化的bi-lstm交通流量预测
traffic flow prediction based on isolated forest algorithm and bayesian optimization of bi-lstm
doi: , , html, ,   
作者: 黄书林, 韩 印:上海理工大学管理学院,上海
关键词: ;;;;;;;;;
摘要: 精确的交通流预测是建设智慧城市的主要问题之一,能为城市发展、城市建设以及交通管控等提供更科学的依据和参考。本文针对短时交通流预测模型中存在的一些不足点进行改进,设计了一种基于孤立森林算法优化下的bi-lstm多步交通流预测模型,该模型充分考虑了在日常交通环境下存在某些不确定因素对于相邻天数中同样时间的交通流量影响,对于原始交通流数据集使用孤立森林算法进行异常值判别和清洗,提升了原始交通流数据集的可靠性,使用贝叶斯优化算法寻找网络模型的超参数,最后利用双向长短记忆网络(bi-lstm)对时间序列数据的连续性和周期性的特点进行多步交通流预测。采用江苏省某地级市的道路交通流数据进行试验,试验结果表明基于孤立森林算法优化下的bi-lstm具备精确的交通流预测能力,在预测t 1时刻的交通流数据上,与bp、lstm、bi-lstm、emd-lstm和pso-bilstm相比,平均绝对误差(mea)下降了16.3265、15.5185、12.6785、6.2758和0.44,均方根误差(rmes)下降了22.7283、22.4023、14.9303、7.6905和0.5509,判定系数r2提升了7.604%、7.391%、3.701%、1.182%和0.025%。在预测t 3时刻的交通流数据上,平均绝对误差(mea)下降了14.9669、17.3019、8.6179、1.4647和0.1997,均方根误差(rmes)下降了21.4897、23.9447、11.9737、1.7354和0.8882,判定系数r2提升了6.589%、7.893%、2.602%、0.211%和0.11%。
abstract: accurate traffic flow prediction remains a crucial concern in the advancement of smart urban settings, offering a more empirical foundation and guidance for urban development, city planning, and traffic management strategies. this research tackles some of the inadequacies within short- term traffic flow prediction models and introduces an enhancement through the formulation of a bi-lstm multi-step traffic flow prediction model, optimized using the isolation forest algorithm. this model takes into comprehensive consideration the uncertainties inherent in daily traffic conditions, which influence the traffic volumes during corresponding time intervals across consecutive days. by employing the isolation forest algorithm, the raw traffic flow dataset undergoes anomaly detection and cleansing, thereby augmenting the robustness of the original data. the bayesian optimization algorithm is applied to identify optimal hyperparameters for the network model. harnessing the bidirectional long short-term memory network (bi-lstm), this model capitalizes on the inherent continuity and periodicity attributes of time series data to forecast multi-step traffic flow patterns. empirical trials are conducted utilizing road traffic flow data from a prefecture-level city in jiangsu province. empirical results affirm that the isolation forest algorithm-enhanced bi-lstm model demonstrates noteworthy prowess in accurate traffic flow prediction. when forecasting traffic flow at time step t 1, in contrast to conventional bp, lstm, bi-lstm, emd-lstm, and pso-bilstm models, there has been a reduction in mean absolute error (mae) by 16.3265, 15.5185, 12.6785, 6.2758, and 0.44, respectively, as well as a decrease in root mean square error (rmse) by 16.3265, 15.5185, 12.6785, 6.2758, and 0.5509, respectively. the coefficient of determination, r-squared (r2), has shown an improvement of 7.604%, 7.391%, 3.701%, 1.182%, and 0.025%, respectively. for the prediction of traffic flow data at time step t 3, the mae has been lowered by 14.9669, 17.3019, 8.6179, 1.4647, and 0.1997, while the rmse has decreased by 21.4897, 23.9447, 11.9737, 1.7354, and 0.8882, respectively. additionally, the r-squared (r2) value has increased by 6.589%, 7.893%, 2.602%, 0.211%, and 0.11%, respectively.
文章引用:黄书林, 韩印. 基于孤立森林算法贝叶斯优化的bi-lstm交通流量预测[j]. 建模与仿真, 2024, 13(4): 4205-4216.

1. 引言

随着科技和社会的不断发展,城市的人口以及人均拥有的车辆数逐渐增多,导致人们的出行幸福指数降低,环境污染增加,以及对经济发展造成一定影响等问题。所以如何精确地预测城市道路的交通流量已经成为了智慧城市道路建设的一个主要问题之一,精准地预测交通流不仅可以提升人们决策的准确性,也能在一定程度上优化交通控制的方式[1] [2]

国内外学者对于交通流预测提出了大量的模型与方法,在预测方法上,早期多采用统计分析的方法,如历史平均法(historical average, ha)、卡尔曼滤波模型[3] (kalman filtering, kf)和移动平均法[4] (moving average, ma)等。但是这些方法在解决线性问题上具有良好的作用,对于非线性问题的交通流数据的统计分析预测并没有较好的反映。随着数据分析方式以及神经网络的不断发展,因为神经网络具有良好的处理非线性数据的能力,近几年大量学者不断研究深度学习在交通流预测领域方面的应用[5]-[7]。wang [8]等人提出一种改进贝叶斯组合模型预测公路交通流量。ma [9]等将lstm神经网络模型应用到交通流预测中。王博文、王景升等[10],为提高模型对于小样本数据的拟合效果及速度,并充分挖掘交通流序列中存在的线性与非线性关系,将对于线性数据具备良好拟合效果,并且时间复杂度较低的自回归滑动平均(arma)模型与对于非线性、小样本数据具有计算准确率高、时间复杂度低等优势的支持向量回归(svr)模型进行组合,提出一种残差优化组合预测模型。郭佳丽[11]等提出了一种多层lstm模型,相比于单时间序列预测模型有更好的预测效果。炳其春[12]等提出了一种基于变分模态分解和lstm组合而成的交通流预测模型,提出了一种vmd-lstm的组合预测方法,首先利用vmd将原始交通数据分解为一系列相对平稳的imf分量,后充分利用深度学习挖掘数据特性的优势,建立lstm神经网络模型对各个模态分量进行预测,将所有预测值汇总叠加,获得最终的预测结果,但是vmd对信号的分解层数k和惩罚因子a (分解完备性的平衡参数,通过选取参数a可以调节vmd方法的完备性)需要人为选取。惩罚因子a和分解层数k的选择会影响vmd方法的分解效果,且参数的设置方法不能得到最优的参数组合。

以上方法都取得了良好的预测效果,但是仅依靠单一模型很难提高对交通流的预测准确性,并且对交通流的预测多为一步预测而且交通流的数据采集间隔时间较长泛化能力弱[13]。针对以上问题引入孤立森林算法对于交通流的初始数据进行清理,达到一种数据去噪的效果,通过建立双向的多步lstm网络模型对于剩余的数据进行分析和预测,并与bp神经网络、lstm、bi-lstm、emd-lstm和pso-bilstm5种短时交通流预测模型进行比较,验证该预测模型拥有较高的精度。

2. 研究方法

2.1. 基于孤立森林算法进行交通流数据集清理

孤立森林算法(isolation forest)是一种由liu等[14]提出异常检测方法,利用异常数据在整体数据集中的稀缺性和偏离正常数据的特点快速而有效地区分异常和正常数据。它以孤立树(isolation tree)为基础,通过随机构建二叉树的方式将正常值和异常值分离,该方法的决策树由图1所示。对交通流进行数据清理的步骤如下所示。

figure 1. isolate forest decision tree

1. 孤立森林决策树

假设拥有一个交通流量数据集,其表示为n*d的矩阵,d表示特征维度。

构建孤立森林模型f,表示为 f=( t 1 , t 2 , t 3 ,, t n ) ,其中 t i 表示第i棵孤立树。

对于每棵孤立树 t i ,使用交通流量矩阵数据进行训练,表示为 t i =buildtree( x ) ,其中x表示交通流量数据矩阵。

对于给定的样本x,计算其在每棵孤立树 t i 中的路径长度 h( x, t i ) ,表示为:

h( x, t i )=e( t i ) 2× height( x, t i ) c( n ) (1)

其中 e( t i ) 表示( t i )的平均路径长度, height( x, t i ) 表示样本x t i 中的高度, c( n ) 表示平均长度的修正因子。

根据计算出的路径长度计算异常得分值 s i

s i = 2 e( h( x, t i ) ) c( d ) (2)

其中:

c( d )=2h( d1 ) 2( d1 ) d (3)

hi是调和数,它可以通过 ln( i ) 0.5772156649 (欧拉常数)来估算。当 e( h( x, t i ) ) 值趋向于0时,异常得分值 s i 的趋向于1,表明数据在孤立森林中它的高度最小,是异常值的概率最大,当 e( h( x, t i ) ) 的值趋向于 c( d ) 时,异常得分值 s i 趋向于0.5,表明样本中没有明显的异常值, e( h( x, t i ) ) 趋向于 n1 时,表明数据在孤立森林中它的高度最大,可以确定该数据为正常数据。

2.2. bi-lstm神经网络模型

长短期记忆神经网络(lstm)是由hochreiter和schmidhuber于1997年所提出的,目的是为了解决传统rnn所存在的“梯度消失”问题,并且可以记住很多时间步之前的信息,学习长期依赖性[15]。lstm模型如式(4)~式(9)所示,其中, x t 表示该层输入的t时刻的数据, h t 表示该层输入的t时刻的隐藏信息, f t i t o t 分别表示遗忘门、输入门和输出门, c t 为记忆细胞,wub分别为权值和偏移量,σtanh分别表示sigmoid和tanh激活函数。

f t =σ( w f x t u f h t1 b f ) (4)

i t =σ( w i x t u i h t1 b i ) (5)

c t =tanh( w c x t u c h t1 ) (6)

c t = f t c t1 i t c t (7)

h t = o t tanh( c t ) (8)

o t =σ( w o x t u o h t1 b o ) (9)

bi-lstm是一种lstm的变体,目前很多研究有证明,双向长短期记忆模型(bi-lstm)在时间序列数据的连续性和周期性挖掘能力的方面有着显著的效果,并且méndez等人证明了在时间预测序列方面bi-lstm比lstm有着更好的效果,需要优先考虑[16]。由于lstm是按照数据的顺序处理时间步,反转或者打乱时间步会对lstm从数据中的提取产生影响,又因为交通流具有周期性的特征,早晚各有一个高峰,并且相邻两天的交通流量数据不会产生较大的浮动,因此该方法特别适合在对交通流进行预测,bi-lstm的内部结构由图2所示。

bi-lstm模型的输出为:

h t = ω y [ h t ( f ) , h t ( b ) ] b y (10)

式中, h t ( f ) h t ( b ) 为前向和反向lstm网络的输出向量; ω y b y 为权值和偏移量。

figure 2. bi-lstm internal structure diagram

2. bi-lstm内部结构图

3. 预测模型构建

3.1. 贝叶斯优化寻找网络模型超参数

在机器学习中,由人工指定的参数被称为超参数。模型自动超参数优化方法包括网格搜索、随机搜索、群体优化和贝叶斯优化算法等[17]。本文采用贝叶斯优化算法来调整bi-lstm模型的隐藏层神经元个数和初始学习率。

贝叶斯优化算法赋予深度学习模型的超参数组合 x= x 1 , x 2 ,, x n ,( x n 表某个超参数的取值范围)并进行超参数取值,输入到深度学习模型函数f中,并进行超参数寻优取值有:

x * = argmin xx f( x ) (11)

式中,x为模型的超参数组合; f( x ) 为需优化的函数bi-lstm模型; x * 为最优超参数。

3.2. 组合模型预测

基于上述研究建立基于孤立森林算法优化下的bi-lstm模型。

第一步,获取一定时间内目标路段的交通流量数据,构建孤立森林算法模型,设定分数阈值,对原始交通流数据集中的异常数据进行判定,对异常数据点进行数据清洗。

第二步,重构交通流量数据集,由于交通流量数据特征因素间大小相差较大,若直接将其放入模型中进行拟合,会使预测精度出现偏差。为防止该问题出现,采用归一化对数据进行处理。

第三步,构建基于孤立林森算法优化下的bilstm短时交通流量预测模型,利用贝叶斯优化算法对于模型的超参数进行寻优。

第四步,将重构的交通流数据集一部分划分为训练集一部分划分为测试集,使用训练集对短时交通流量预测模型进行训练,并利用测试集进行测试训练好的模型,并预测t 1时的交通流量数据。

第五步,将预测数据与真实数据进行误差评价,并用预测的t 1时的交通流量数据和原交通流数据集进行合并,重构为新的交通流量数据集。

第六步,将新的交通流量数据集作为模型的输入,预测第t 3天时的交通量,进行误差评价。该网络模型的结构如图3所示。

4. 实验与分析

4.1. 硬件以及数据集来源

硬件采用处理器为12th gen intel(r)core(tm)i7-12650h,主频为2.3 ghz,内存16 gb,十核十六线程的计算机。搭建tensorflow深度学习框架,使用python语言完成实验。本文实验数据采用江苏省某城市主干路的道路检测器所检测到的断面交通流量数据作为数据集,将一个月的交通数据划分为每3分钟一个测试点。表1展示了部分数据集。

figure 3. predictive model processes

3. 预测模型流程图

table 1. some data sets are presented

1. 部分数据集展

时间

交通流量(veh/3min)

7/01/2023 0:00

35

7/01/2023 0:03

48

7/01/2023 0:06

38

7/01/2023 0:09

49

4.2. 孤独森林算法对异常数据的检测

对原始数据集利用孤立森林算法对异常点进行检测,数据点越接近红色代表数据为异常值的可能性越大,数据点越接近蓝色代表数据点为正常值的可能性就越大,由于交通流量具有人为可操作性,在某些时段会出现乎高或者乎低的特点,该算法能够很好的识别出异常数据点并将其进行清理。在该算法中先将所有交通数据进行归一化处理,通过pycharm使用python语言搭建孤立森林算法模型,调试后预测数据点情况,原始数据集和利用孤立森林算法进行异常点识别后的数据集由图4图5所示。

figure 4. raw dataset trend chart

4. 原始数据集趋势图

figure 5. outlier detection by the isolation forst algorithm for the raw dataset

5. 孤立森林算法进行原始数据集异常值检测

4.3. 模型评价指标

采用平均绝对误差(mae)、均方根误差(rmes)、判定系数r2来衡量该模型预测交通流的精度。

mae= 1 n i=1 n y i y ^ i y i (12)

rmse= 1 n i=1 n ( y i y ^ i ) 2 (13)

r 2 = i=1 n ( y ^ i y ¯ ) 2 i=1 n ( y i y ¯ ) 2 (14)

式中,yi y ^ i y ¯ 分别代表预测交通量、真实交通量以及交通量的平均值,n表示数据的个数。

4.4. 预测结果分析

由于日常交通量在没有外力干预的情况下,相邻几天同一时刻的交通量不会有太大变化,因此将前28天的数据作为训练样本,将第29天和第31天的数据作为测试样本进行验证,在进行模型预测之前先采用贝叶斯算法来寻找bilstm模型的超参数,bilstm模型主要分为3层,第一层为bidirectional层,第二层为密接dense层,第三层为输出dense层,该层的神经元数为1,添加dropout防止模型过拟合,将第一层和第二层以及神经网络的学习率作为贝叶斯算法的寻优目标,两个层的神经元个数的寻优范围设置为(16, 256),模型学习率的寻优范围设置为(0.0001, 0.01),用负的均方差作为贝叶斯优化的评分函数,设置cv值为5,经过多次试验得到lstm_units、dence_units以及leanring_rate分别为17、23、0.00019296,将以上超参数导入神经网络,多次试验后决定将神经网络的迭代周期设为300,步长设为128,并对未来交通流量进行预测,得到bilstm网络的预测交通流数据与真实交通流数据的预测对比由图6所示。

figure 6. the prediction results were compared with the actual traffic flow data

6. 预测结果与实际交通流数据对比图

figure 7. bp neural network predicted results

7. bp神经网络预测结果

figure 8. lstm traffic flow prediction results

8. lstm交通流预测结果

figure 9. bi-lstm traffic flow prediction results

9. bi-lstm交通流预测结果

figure 10. emd-lstm traffic flow prediction results

10. emd-lstm交通流预测结果

figure 11. pso-bilstm traffic flow prediction results

11. pso-bilstm交通流预测结果

采用传统的bp神经网络、传统的lstm、bi-lstm、emd-lstm和pso-bilstm 5种短时交通流预测模型进行比较,从而验证模型的有效性,图6~11是各个模型的预测效果对比图,并且采用式12、式13和式14的评价指标来分析模型的预测效果,判断每个模型的预测精度,结果由表2所示。

table 2. evaluation index table of each model at t 1 time

2. t 1时刻各模型评价指标表

模型

mae

rmes

r2

bp

18.046

24.769

0.92344

lstm

17.238

24.443

0.92557

bi-lstm

14.398

16.971

0.96247

emd-lstm

7.9953

9.7312

0.98766

pso-bilstm

2.1595

2.5916

0.99923

forst-bilstm

1.7195

2.0407

0.99948

通过表2图6~11的预测结果可以得出,经过孤立森林算法清洗的交通流预测模型在预测精度上有着较低的误差,以及较高的拟合程度。同一条道路的交通流量不应该会在短时间内出现较大波动,相较于使用原本数据集,使用孤立森林算法对数据中的异常值进行判定后进行数据清洗,更加符合日常交通量的变化情况,提高网络模型的泛化程度。

从表中数据可以看出,相较于其它5种神经网络模型,经过孤立森林算法清洗,贝叶斯优化后的bi-lstm神经网络模型在各项指标上均优于其它5种网络,平均绝对误差(mea)相较于其它网络下降了16.3265、15.5185、12.6785、6.2758和0.44,均方根误差(rmes)相较于其它网络下降了22.7283、22.4023、14.9303、7.6905和0.5509,判定系数r2相较于别的网络提升了7.604%、7.391%、3.701%、1.182%和0.025%。

单步交通流预测是采用前几个时间段的交通流数据对后一时间段的交通流数据进行预测。在实际生活应用中,人们不仅关心下一时段的交通流量,同时也关心后几个时间段的交通流量,因此提出跨步交通流预测,以验证模型的泛化能力。在跨步交通流预测中,同样设置并行子模型,设置跨步为3,即对第t 3时间段的交通流数据进行预测。通过表3图12可以看出,基于孤立森林算法清洗后的交通流数据所构建的预测模型与5种模型对断面交通流进行跨步交通流预测的3种误差对比。平均绝对误差(mea)相较于其它网络下降了14.9669、17.3019、8.6179、1.4647和0.1997,均方根误差(rmes)相较于其它网络下降了21.4897、23.9447、11.9737、1.7354和0.8882,判定系数r2相较于别的网络提升了6.589%、7.893%、2.602%、0.211%和0.11%。forst-bilstm网络模型在跨步交通流预测中也取得了较好的预测效果,mae、rmse值均为最小值,决定系数r2相较其余传统模型值最大。由此可以得出,forst-bi-lstm模型具有一定的泛化能力,能够一定程度上克服时间跨步上带来的信息缺失。

table 3. evaluation index table of each model at t 3 time

3. t 3时刻各模型评价指标表

模型

mae

rmes

r2

bp

19.048

27.071

0.93119

lstm

21.380

29.526

0.91815

bi-lstm

12.696

17.555

0.97106

emd-lstm

5.5428

7.3167

0.99497

pso-bilstm

4.2778

6.4695

0.99598

forst-bilstm

4.0781

5.5813

0.99708

figure 12. t 3 comparison chart of different model results

12. t 3不同模型结果对比图

5. 结语

(1) 本文通过对实际道路的交通数据进行调查和统计,利用孤立森林算法识别原始数据集中的异常数据并进行清洗,重新构建新的交通流数据集。然后,通过贝叶斯优化寻找bi-lstm模型的超参数,在定义超参数的寻找范围后,确定最优超参数。

(2) 利用中国常州市某一交叉口路口的交通流量数据进行验证,实验结果表明,在t 1时刻我们所提出的模型相较于其它模型在mae、rmse和r2指标上分别提升16.3265、15.5185、12.6785、6.2758和0.44,22.7283、22.4023、14.9303、7.6905和0.5509以及7.604%、7.391%、3.701%、1.182%和0.025%。在t 3时刻我们所提出模型各项指标分别提升14.9669、17.3019、8.6179、1.4647和0.1997,21.4897、23.9447、11.9737、1.7354和0.8882以及6.589%、7.893%、2.602%、0.211%和0.11%。

(3) 该方法仍有一些不足,比如未考虑到天气或者一些突发情况对于城市交通流的影响,今后会增加其对于交通流量影响的研究。

参考文献

[1] 杨凤满. 基于人工神经网络的交通流预测方法综述[j]. 公路交通科技, 2020(37): 130-135.
[2] 吴晋武, 张海峰, 冉旭东. 基于数据约减和支持向量机的非参数回归短时交通流预测算法[j]. 公路交通科技, 2020, 37(7): 129-134.
[3] 白伟华, 张传斌, 张塽旖, 周腾. 基于异常值识别卡尔曼滤波器的短期交通流预测[j]. 计算机应用研究, 2021, 38(3): 817-821.
[4] williams, b.m. and hoel, l.a. (2003) modeling and forecasting vehicular traffic flow as a seasonal arima process: theoretical basis and empirical results. journal of transportation engineering, 129, 664-672.
[5] polson, n.g. and sokolov, v.o. (2017) deep learning for short-term traffic flow prediction. transportation research part c: emerging technologies, 79, 1-17.
[6] 陈王勇, 胡尧. 基于pelt的交通流状态检测与短期预测研究[j]. 公路交通科技, 2022, 39(1): 120-129.
[7] miglani, a. and kumar, n. (2019) deep learning models for traffic flow prediction in autonomous vehicles: a review, solutions, and challenges. vehicular communications, 20, article id: 100184.
[8] wang, j., deng, w. and guo, y. (2014) new bayesian combination method for short-term traffic flow forecasting. transportation research part c: emerging technologies, 43, 79-94.
[9] ma, x., tao, z., wang, y., yu, h. and wang, y. (2015) long short-term memory neural network for traffic speed prediction using remote microwave sensor data. transportation research part c: emerging technologies, 54, 187-197.
[10] 王博文, 王景升, 朱茵, 等. 基于arma-svr的短时交通流量预测模型研究[j]. 公路交通科技, 2021, 38(11): 126-133.
[11] 郭佳丽, 邢双云, 栾昊, 等. 基于改进的lstm算法的时间序列流量预测[j]. 南京信息工程大学学报(自然科学版), 2021, 13(5): 571-575.
[12] 邴其春, 张伟健, 沈富鑫, 等. 基于变分模态分解和lstm的短时交通流预测[j]. 重庆理工大学学报(自然科学), 2023, 37(10): 169-177.
[13] 许宏科, 刘佳, 刘栩涛, 等. 基于pca-lstm的城市短时交通流预测研究[j]. 公路交通技术, 2021, 37(2): 115-118, 132.
[14] liu, f.t., ting, k.m. and zhou, z. (2012) isolation-based anomaly detection. acm transactions on knowledge discovery from data, 6, 1-39.
[15] hochreiter, s. and schmidhuber, j. (1997) long short-term memory. neural computation, 9, 1735-1780.
[16] méndez, m., merayo, m.g. and núñez, m. (2023) long-term traffic flow forecasting using a hybrid cnn-bilstm model. engineering applications of artificial intelligence, 121, article id: 106041.
[17] 牟振华, 李克鹏, 申栋夫. 基于小波降噪与贝叶斯神经网络联合模型的短时交通流量预测[j]. 科学技术与工程, 2020, 20(33): 13881-13886.
为你推荐
凯发国际一触即发的友情链接
网站地图