一种基于SVM的交通流量预测方法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

一种基于粒子群优化SVM的交通流量预测方法王惟(晋中学院数学院,山西晋中030060)摘要:交通流量的预测是实现智能交通的重要基础,为此本文提出了一种基于改进型支持向量机算法的短时交通流量预测方法。首先使用支持向量机算法对交通流量进行非线性回归预测,同时使用改进QPSO算法训练神经网络和支持向量机。然后在计算机上进行了仿真,预测误差小于10%,说明本文方法对预测短时交通流量是有效可行的,为交通流量预测的实际应用提供了一种参考。关键词:支持向量机;粒子群优化;交通流量;短时预测中图分类号:U491文献标识码:AARBFNN-SVMBasedTrafficFlowPredictionApproachWANGWeiMathematicsschoolofJinzhongUniversity,Jinzhong030600,Shanxi,ChinaAbstract:Toforecasttrafficflowexactly,aRBFneuralnetworkandsupportvectormachinebasedshorttimetrafficflowpredictionmethodwasraisedinthispaper.Atfirst,approximatedtherelationshipbetweenmanyvariableandtrafficflowusingRBFneuralnetwork,atthesametime,predictedtrafficflowbysupportvectormachine;andoptimizedthetrainingmethodofRBFneuralnetworkandsupportvectormachinewithParticleSwarmOptimizationalgorithm.Then,fusedthedatepredictedbytheabovetwomethodbyKalmanfilteralgorithm.Atlast,forecastedthetrafficflowbysimulation,andgotahighpredictionprecision.Thatmeans,themethodraisedinthispaperisefficientandavailableinshorttimetrafficflowprediction,andcanbeservedasareferenceinpredictingtrafficflow.Keywords:SupportVectorMachine;ParticleSwarmOptimization;TrafficFlow;ShortTimePrediction0引言随着经济的发展和社会的进步,我国的汽车总拥有量较之以前已有大幅增加,引起的交通拥堵已经成为当今大中城市面临的主要问题之一。交通拥堵导致了能源消耗、环境污染、时间浪费等问题,同时,人流量拥堵和车流量拥堵之间又有一定的相关性,彼此诱导。为此,准确及时的预测交通流量,是进行及时疏导的关键,也是实现智能交通系统(ITS)的基础。交通流量的变化具有影响因素多,非线性显著等特点,并且具有很强的时变性和随机性。因此诸多学者引入了机器学习算法。文献[1]提出了一种基于灰色理论和神经网络的预测方法,论证了使用人工智能方法进行交通流量预测的优势。文献[2-6]提出了基于支持向量机的交通流量预测方法,支持向量机方法具有和神经网络相似的逼近能力和非线性映射能力,但其学习不依赖大样本,所以具有学习速度快,泛化能力强的突出优势。同时,支持向量机算法存在着结构参数不易确定的问题。为了更为精准的预测短期的交通流量,本文提出一种基于量子行为粒子群优化SVM的交通流量预测方法。1基于SVM的预测原理支持向量机(SupportVectorMachine,简称SVM)是一种基于统计学习理论而引申出来的研究方法,不同于普通机器学习算法的经验风险最小原则,SVM算法是建立在结构风险最小化原则基础上的,使得其具有训练样本数量小,局部优化和泛化能力强的优点。若已知的样本:miii,...,2,1),,(yxT,其中,ix为样本里的第i个n维输入向量,iy为对应的输出向量,则基于支持向量机的学习,可以理解为寻找输入量和输出量之间的映射关系)(f,使得iifyx)(成立。一般)(f表示为:bf)()(xwx(5)式中w称为权向量,b称为阈值,nx:,即把n维输入向量nx映射到特征空间。为了提高预测模型的精度,须选取合适的参数,使得风险最小化,构造如式(6)的经验风险函数:miiiempfLmR1))((1xy(6)其中L称为损失函数,其表达式为:elsexfyxfyifLiiii)()(0)((7)在上式中是大于0的小数,可根据实际需要进行设定。其实当学习样本有限时,使用经验值代替实际风险值是不准确的,所以SVM算法里考虑了泛化风险,或称之为SRM准则。则根据SRM准则可选取非线性估计函数为:bxwxfmiii1)()((8)为了使式()的真实风险最小,构造如下优化目标函数:miiiCw1*2)(21min(9)0,0)()(.**iiikkikkyxfxfyts(10)上式中*,为两个松弛变量,C称之为容量因子。将上式转化为拉格朗日对偶问题求解,可得:bKfiii),()()(*xxx(11))),(),()((*ikSVSijiixxKxxKb(12)其中i为拉格朗日乘子,)(K称为核函数,并满足:))()((),(jijixxxxK(13)引入核函数可以降低运算维数和运算复杂程度。建立输入量与输出量之间的对应关系后,即可根据新的输入量得到相应的输出量。作为一种机器学习算法,进行合理的学习对提高神经网络和SVM的预测精度、鲁棒性和泛化能力是及其重要的。本文中使用一种改进型的粒子群优化算法,对SVM进行训练。2训练算法的改进粒子群优化算法(ParticleSwarmOptimization,PSO)是Kennedy和Eberhart受鸟类群体觅食策略的启发,于1995年提出的一种群体智能优化算法。算法的基本思想是通过群体中粒子间的协作与竞争来搜索全局最优解。在实际应用中,每一个粒子代表一个待求量的可能解,每个粒子通过以下规则实现寻优:1,,1,,,,22,,,11,1,)()(kjikjikjikjijgikjijiikjikjivxxxprcxprcwvv(14)其中1,kjiv为第i个粒子第j维当前前进的速度,1,kjix为第i个粒子第j维粒子的当前位置,jgjipp,,,分别表示粒子的个体最优位置和全局最优位置,r为随机常数,c为学习因子,w为惯性权重。将粒子群优化方法用于RBF神经网络的训练时,其目的在于求得最佳的神经元数和最优的权值和阈值[5-6]。那么这些粒子就可以认为是待定的神经元中心数和权值和阈值的大小,而粒子的当前位置就可以认为是这些待定参数的当前值。即:)............,(211221121nkjbbwwhhx(14)不妨将其看作是一组向量,而找到的最优“位置”即为对向量中的元素的最优解,也就是神经网络的最佳权值和阈值。经典粒子群优化算法具有进化过程易早熟,搜索空间不能够覆盖整个可能的解空间的缺陷。这样训练RBF神经网络时,相关参数便不能得到全局最优解。为了利用粒子群算法的优点,且避开其典型缺陷,本文使用自适应型量子行为粒子群优化算法AQPSO(AdaptiveQuantum-behavedPSO)进行网络的训练。与PSO算法相比,该算法模型更简单,协同能力更强,极大增强了全局搜索能力[7-9]。AQPSO算法在进化搜索过程中舍去了传统PSO算法中的速度更新部分,并在传统粒子群优化的基础上引入了p点的概念[8]。p点表示每个粒子收敛的随机点,是对量子行为思想的体现。其中:NippppkMikikiki,...,2,1,),...,,(,2,1,(15)同时做如下定义:)(minarg1kiNipfg(16)kjgkjikjipaapP,,,)1((17))()()()(1,,1,1,,,,kjikjikjikjikjikjikjipfxfppfxfxp(18)其中jip,表示粒子个体最佳位置,全局最佳位置gp的下标即为式(17)中的g,a是0~1之间的随机系数,)(f是表征在优化的作用下目标函数输出性能的函数,结合交通流量预测的需求,我们定义)(f表征神经网络的映射能力的优劣,即:NiiiyyNf12))()((1)(xxx(19)其含义为对应于待优化参数x的神经网络的实际输出与理论输出的偏差量。这时,粒子位置的表达形式为:)/1ln(,,1,uxpPxkjikbestkjikji(20)MikikbestpMp11(21)其中u为0~1之间的随机数,当5.0u时,取为—号,否则取为+号,kbestp表示当前粒子群的平均最优位置,为速度系数。实际应用中我们发现,系数会影响粒子群的收敛性能。为此我们取为自适应变量[8-9],即:3.0)(3.0maxmaxkkk(22)其中maxk表示最大迭代次数。同时我们将式(21)改进为:)1...1211(1MikiMpMikipMikipMkbestp(23)那么,选取样本,并定义误差函数后,即可使用AQPSO算法对神经网络进行训练,即依次输入训练样本,通过寻优规则对所有待定参数寻求最优解。其流程如图2所示。图2基于QPSO算法的优化实现流程对SVM的训练方法与RBF神经网络的训练方法相同。由上面的推导过程易知,RBF神经网络和SVM的工作原理即为,通过合理的训练,其间形成一种输入向量到输出向量的映射关系。根据交通流量的影响因素和实际交通流量之间的对应数据作为样本,对神经网络和SVM进行优化训练后,即可根据新的影响因素预测对应的交通流量。3滤波处理由于SVM中形成的对应关系无法完全逼近输入量与输出量之间的关系,即认为有系统误差存在。那么每次预测的结果也都是有误差的,并且可以认为误差大小必然围绕真值波动。为了提高预测的精确性,本文采用基于卡尔曼滤波算法对两种方法的预测数据进行滤波融合,以期得出更接近于真实值的预测值。卡尔曼滤波是基于方差最小原理的状态估计算法。显然交通流量的预测问题为一种典型的离散系统问题,对于离散系统,卡尔曼滤波的一般原理为:kkkkkkkkkDXHYVXX111,(24)式中kY为观测值,在本文中即为经SVM预测得到的值,用kY不断校正kX,kX为状态值,为状态转移矩阵,1kV为输入噪声,kD为观测噪声。认为预测数据的误差来自于系统误差和随机误差。那么经反推,就可得到滤波(状态预测)公式为:)ˆ(ˆˆ1/1/kkkkkkkkXHYKXX(25)上式中相关参数的求法为:1kTkkkQHPK;1/)(kkkkkPHKIP;11,1/ˆˆkkkkkXX,))ˆ)(ˆ((1/1/1/TkkkkkkkkxxxxEP。4算例选用日常统计的某路口的交通数据作为训练样本备选样本,记为A,剔除野值后基于因子分析的方法对样本A进行优化处理,得到最终的训练样本。然后基于AQPSO方法对RBF神经网络和SVM进行训练优化。得到训练过程中的误差变化如图3所示。02040608010012010-210-1100101102输出误差迭代次数图3QPSO优化RBF神经网络的输出误差变化由图3可以看出,AQPSO优化方法训练神经网络和SVM时,误差下降快,训练步数少。选取某主干道作为测试路段,提取输入量后输入到训练好的神经网络和SVM中进行预测,并根据本文方法进行数据融合。预测结果统计如图4所示。图

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功