一种在线式实时短时间交通流预测方法与流程

文档序号:11178640阅读:955来源:国知局
一种在线式实时短时间交通流预测方法与流程

本发明涉及一种交通流的预测方法,具体涉及一种基于ls-svm技术的在线式实时短时间交通流预测方法。



背景技术:

交通流预测是智能交通系统的关键组成部分,具有重要的研究意义。交通流预测主要是对由一定统计间隔的实时交通流时间序列构成的动力系统进行的一种预测性研究。交通流预测的主要研究对象为统计间隔为2至15分钟内的短时交通流时间序列,由上述短时交通流时间序列构成的交通流动力系统具有非线性和非平稳的特征。目前,短时交通流非线性预测方法主要包括灰色系统理论、神经网络和支持向量机等方法,其中支持向量机(supportvectormachine,svm)通过采用结构风险最小化原则和引入核方法,有效解决小样本、高维度的学习问题,并通过将学习算法转化为凸二次规划的优化问题,有效解决了局部极值问题,由于上述优点以及完备的统计学习理论基础和良好的泛化性能,目前svm已经被广泛应用于短时交通预测领域。在实际应用中,短时交通流时间序列是随着时间的推移逐步注入到预测模型中,这就需要随着新样本的到来,对原预测模型实时在线更新。传统的svm预测算法将所有的训练样本参与求解二次规划问题,每当新样本加入时,需要用所有的数据重新训练预测模型,随着样本数量的增加预测模型的训练效率不断下降。相对而言,在线式的svm预测算法能够充分利用前一步的学习结果,而不需要重新开始学习,从而可以减少新样本加入时预测模型的训练时间。

目前,常见的在线式svm回归预测算法大多根据karushkuhntucker(kkt)条件将训练数据集中的样本点划分为边界支持向量集合、误差支持向量集合和保留向量集合三类,当训练数据集更新时,原模型所满足的kkt条件被破坏,需迭代式的逐点判断更新后数据集中各个样本点的类型,并依据各个样本点在三类集合之间的迁移情况修正svm回归模型相关参数,使得模型重新满足kkt条件。上述算法对新样本点的增加和旧样本点的删除需要分两个阶段完成,每个阶段都需要对模型进行迭代式的修正,算法实现复杂且收敛性无法有效保证,在实际工程中难于应用,因而迫切需要提出一种更加高效的在线式的svm预测算法。



技术实现要素:

针对上述现有技术中存在的问题,本发明的目的在于,提供一种在线式实时短时交通流预测方法,克服了常规在线短时交通流预测时预测模型重复训练、预测模型更新算法的计算复杂度高等缺陷,实现了短时交通流预测模型的在线更新,并简化了预测模型更新算法,在不降低预测精度的条件下,提高在线短时交通流预测的实时性。

为了实现上述任务,本发明采用以下技术方案:

一种在线式实时短时间交通流预测方法,包括以下步骤:

步骤一,选定需要进行交通流预测的路段,获取所选路段的短时交通流历史数据,并构建所选路段的短时交通流历史数据库;

步骤二,根据获取的短时交通流历史数据,确定短时交通流预测的预测时段;

步骤三,根据所述的预测时段,确定短时交通流数据的样本周期;

步骤四,根据所述的样本周期,确定在线预测时间样本更新的滑动时间窗口长度,即每次在线预测时所需要使用的交通流历史数据的数量;

步骤五,进行短时交通流的初始预测

首先,根据滑动时间窗口的长度,选择初始短时交通流样本数据,并构成最小二乘支持向量机模型,即ls-svm模型的初始训练数据集,该训练数据集中的交通流历史数据按时间逆序排列,并根据采样时刻的顺序进行编号;然后,利用所述的初始训练数据集训练所述的ls-svm模型;最后,利用训练好的最ls-svm模型进行初始交通流预测;

步骤六,按照滑动时间窗口进行交通流历史数据的更新

在短时交通流历史数据库中,获取一条新的交通流数据,根据该交通流数据的采样时刻确定该数据在滑动时间窗口中的编号;然后,根据确定的编号,删除原滑动时间窗口中对应编号的数据,将新的数据插入到该位置,这样滑动时间窗口就完成了一次数据更新;

步骤七,对所述的ls-svm模型进行更新,然后进行新一轮的短时交通流预测。

进一步地,所述的路段短时交通流历史数据是指路段短时交通流量数据,该数据通过公路运营管理部门获取;路段短时交通流历史数据按时间顺序存储,数据中包括数据采集日期、时刻和交通流量值。

进一步地,步骤二中所述的预测时段为5~15分钟。

进一步地,步骤五中,滑动时间窗口表示为如下式所示的数据集合:

{(xi,yi)|i=1,2,...,m,xi=i}(1)

在式1中,xi的下标i表示交通流数据在滑动时间窗口中的编号,其取值范围为1至m,m为滑动时间窗口的长度;xi的值等于其下标i,即xi=i;yi表示滑动时间窗口中第xi号交通流量采样值。

进一步地,步骤五中,构建的ls-svm模型表示为:

上式中,m为滑动时间窗口长度;预设参数λ取值为1;核函数k(x,xi)采用径向基rbf核函数,ai是lagrange乘子向量a的第i个元素,x为期望预测的交通流数据的编号,y为预测的编号为x的交通流的值,其中x取值大于m。

进一步地,所述的公式(2)中,lagrange乘子向量a的计算公式为:

a=(k+λ2e+c-1i)-1y(4)

上式中,预设参数λ取值为1,规则化参数c取值为4,e为m×m阶的全1矩阵,i为m×m阶单位矩阵,k为m×m阶核函数矩阵,y=(y1,y2,...,ym)t为滑动时间窗口中的交通流历史数据;

令h=k+λ2e+c-1i,(λ>0,c>0),将h称为核扩展矩阵。

进一步地,步骤六中,计算新的交通流数据在滑动时间窗口中的编号i'采用以下公式:

i'=((n-1)modn)*t+d(6)

上式中,n表示新的交通流历史数据是第n天的采样数据,n是构建初始滑动时间窗口时选取的连续n天的交通流历史数据,t表示交通流数据的样本周期,d表示新的交通流历史数据的采样时刻编号。

进一步地,步骤七中对ls-svm模型进行更新的具体步骤为:

设步骤五中得到的核扩展矩阵h的逆矩阵表示为r,则当滑动时间窗口发生一次数据更新后,根据更新数据的编号i',按公式7计算滑动时间窗口发生一次数据更新后lagrange乘子向量anew

在公式7中,aold表示滑动时间窗口更新前得到的lagrange乘子向量;r(:,i')表示由矩阵r的第i'列元素构成的列向量;表示本次数据更新中新加入滑动时间窗口的交通流历史数据采样值;表示本次数据更新中被替换掉的交通流历史数据采样值;

通过公式7求得lagrange乘子向量anew后,则在线更新的ls-svm预测模型可表示为:

本发明与现有技术相比具有以下技术特点:

本发明在进行在线短时交通流预测时,不需要进行ls-svm预测模型的重复训练,仅根据更新的交通流训练数据集,利用简化的更新算法直接更新ls-svm预测模型,在不降低预测精度的条件下,提高在线短时交通流预测的实时性。本发明的方法适用于交通流预测,在智能交通系统中有重要的应用价值。

附图说明

图1为本发明方法的流程图;

具体实施方式

最小二乘支持向量机(leastsquare-supportvectormachine,ls-svm)将传统svm回归模型的ε-损失函数更换为二次损失函数,将svm模型训练样本的不等式约束变为等式约束,进而将svm的求解从二次规划问题转化为解线性方程组问题,同时lagrange乘子的数量也减少一半,因此ls-svm模型比较适合在线建模问题。同时,短时交通流数据属于周期性非平稳随机序列数据,通过充分利用短时交通流数据的周期性特征,在保证预测预测精度的条件下,可以进一步简化在线学习过程中lagrange乘子的求解过程,有效降低计算复杂度,缩短模型在线更新时间,大幅度提高在线短时交通流预测的实时性。

本发明的详细步骤介绍如下:

步骤一,选定需要进行交通流预测的路段,获取所选路段的短时交通流历史数据,并构建所选路段的短时交通流历史数据库;

所述的路段短时交通流历史数据是指路段短时交通流量数据,该数据通过公路运营管理部门获取;路段短时交通流历史数据按时间顺序存储,数据中包括数据采集日期、时刻和交通流量值等内容;构建所选路段的短时交通流历史数据库。

步骤二,根据获取的短时交通流历史数据,确定短时交通流预测的预测时段,即需要预测未来多长时间内的交通流。短时交通流预测的预测时段通常为5分钟至15分钟,本实施例将预测时段设定为15分钟。

步骤三,根据所述的预测时段,确定短时交通流数据的样本周期;

通过样本自相关分析发现,所述的短时交通流数据的样本周期t可定义为一天内采集交通流数据的数量。本实施例中使用采样间隔为15分钟的短时交通流数据,其一天内采集96条数据,则短时交通流数据的样本周期为96。

步骤四,根据所述的样本周期,确定在线预测时间样本更新的滑动时间窗口长度,即每次在线预测时所需要使用的交通流历史数据的数量;

所述的滑动时间窗口是指本发明中进行第一次初始预测以及后续在线单次预测时所使用的短时交通流数据样本集合;所述的滑动时间窗口的长度是指本发明中进行初始预测以及后续在线单次预测时所使用的短时交通流数据样本的数量,滑动时间窗口长度被指定为样本周期t的整数倍,可表示成n*t,其中n为所使用数据样本的连续的天数,t为短时交通流数据的样本周期。本实施例中短时交通流数据的样本周期为96,选用连续5天的交通流历史数据作为滑动时间窗口,则滑动时间窗口长度为5*96=480。

步骤五,进行短时交通流的初始预测

首先,根据滑动时间窗口的长度,选择初始短时交通流样本数据,并构成最小二乘支持向量机模型,即ls-svm模型的初始训练数据集(即滑动时间窗口),该训练数据集中的交通流历史数据按时间逆序排列,并根据采样时刻的顺序进行编号;然后,利用所述的初始训练数据集训练所述的ls-svm模型;最后,利用训练好的最ls-svm模型进行初始交通流预测;

本实施例中,选用连续5天的交通流历史数据作为滑动时间窗口,滑动时间窗口长度为480。所述的滑动时间窗口中的交通流历史数据按采样时刻和样本周期的顺序排序并进行编号,例如,第1个样本周期的第1时刻的交通流历史数据编号为1,第1个样本周期的第2时刻的交通流历史数据编号为2,……,第2个样本周期的第1时刻的交通流历史数据编号为97,……,第5个样本周期的第96时刻的交通流历史数据编号为480等。

滑动时间窗口表示为如下式所示的数据集合:

{(xi,yi)|i=1,2,...,m,xi=i}(1)

在式1中,xi的下标i表示交通流数据在滑动时间窗口中的编号,其取值范围为1至m,m为滑动时间窗口的长度;本实施例中,m为480;xi的值等于其下标i,即xi=i;yi表示滑动时间窗口中第xi号交通流量采样值。

构建的ls-svm模型表示为:

上式中,m为滑动时间窗口长度;作为优选,预设参数λ取值为1;核函数k(x,xi)采用径向基rbf核函数,ai是lagrange乘子向量a的第i个元素,x为期望预测的交通流数据的编号,y为预测的编号为x的交通流的值,其中x取值大于m,本实施例中,x大于480,可按下式取值:

x=480+l(3)

在公式3中,l表示期望预测的交通流数据在一天内的时刻序号,本实施例中,l取值为1至96的正整数。

在公式2中,lagrange乘子向量a为ls-svm预测模型的未知参数,需要根据滑动时间窗口中的交通流历史数据计算得到。lagrange乘子向量a的计算过程就是ls-svm预测模型的训练过程。lagrange乘子向量a通过下式进行计算:

a=(k+λ2e+c-1i)-1y(4)

在公式4中,作为优选,预设参数λ取值为1,规则化参数c取值为4;e为m×m阶的全1矩阵,i为m×m阶单位矩阵,k为m×m阶核函数矩阵,其中第i行、第j列的元素可表示成k(xi,xj),k(xi,xj)为径向基rbf核函数;y=(y1,y2,...,ym)t为滑动时间窗口中的交通流历史数据,a=(a1,a2,...,am)t为待求的lagrange乘子向量。

令h=k+λ2e+c-1i,(λ>0,c>0),则公式4简化为公式5式,其中将h称为核扩展矩阵

a=h-1y(5)

本实施例中,根据所选取的滑动时间窗口并结合公式5进行计算,即可求得lagrange乘子向量a,进而通过公式2和公式3就可以开始进行交通流预测。同时可以发现,如果滑动时间窗口中发生了数据更新,就需要重新计算核扩展矩阵h并求其逆矩阵,然后再通过公式5计算新的lagrange乘子向量,其中矩阵求逆的计算过程复杂而且消耗时间较多,本发明在后续步骤中,对lagrange乘子向量的求解过程进行了简化,在滑动时间窗口发生数据更新的情况下,不再需要计算核扩展矩阵h的逆矩阵。

步骤六,按照滑动时间窗口进行交通流历史数据的更新

在短时交通流历史数据库中,获取一条新的交通流数据,根据该交通流数据的采样时刻确定该数据在滑动时间窗口中的编号;然后,根据确定的编号,删除原滑动时间窗口中对应编号的数据,将新的数据插入到该位置,这样滑动时间窗口就完成了一次数据更新;

计算新的交通流数据在滑动时间窗口中的编号i'采用以下公式:

i'=((n-1)modn)*t+d(6)

上式中,n表示新的交通流历史数据是第n天的采样数据,n的取值为大于n的正整数;n是构建初始滑动时间窗口时选取的连续n天的交通流历史数据,在本实施例中n=5,算子(n-1)modn表示以n为模对n-1求余数;t表示交通流数据的样本周期,在本实施例中t=96;d表示新的交通流历史数据的采样时刻编号,在本实施例中d=1,2,…,96。例如,第6天第2时刻的交通流历史数据在滑动时间窗口中的编号i'=2,第9天第30时刻的交通流历史数据在滑动时间窗口中的编号i'=318。

步骤七,对所述的ls-svm模型进行更新,然后进行新一轮的短时交通流预测。

具体地,本实施例中,所述的ls-svm预测模型在线更新方法按下述步骤执行:

步骤7.1,设步骤五中得到的核扩展矩阵h的逆矩阵表示为r,则当滑动时间窗口发生一次数据更新后,根据更新数据的编号i',按公式7计算滑动时间窗口发生一次数据更新后lagrange乘子向量anew

在公式7中,aold表示滑动时间窗口更新前得到的lagrange乘子向量;r(:,i')表示由矩阵r的第i'列元素构成的列向量;表示本次数据更新中新加入滑动时间窗口的交通流历史数据采样值;表示本次数据更新中被替换掉的交通流历史数据采样值。

步骤7.2,通过公式7求得lagrange乘子向量anew后,则在线更新的ls-svm预测模型可表示为:

上式中的参数含义同前。

步骤7.3,根据公式9即在线更新后的ls-svm预测模型进行新的交通流预测;

步骤7.4,如果需要更新交通流历史数据,则返回步骤6继续进行,否则继续利用公式9进行交通流预测。

交通流预测是智能交通系统的关键组成部分。相对于传统的交通流预测方法,在线式交通流预测方法主要具有诸多优势,例如,能够随着采集数据的更新动态调整预测模型以提高预测精度;能够充分利用已有的学习结果以有效减少预测模型的更新时间。然而,在已有的在线式交通流预测方法中,将新样本点的增加和旧样本点的删除分为两个阶段完成,每个阶段都需要对模型进行迭代式的修正,算法实现复杂且收敛性无法有效保证,在实际工程中难于应用。针对上述问题,本发明提出了一种高效的在线式短时交通流预测方法,对ls-svm模型中lagrange乘子向量的求解过程进行了简化,利用滑动时间窗口来控制新样本的加入和旧样本的移除,只需要通过向量的线性运算即可求得由训练样本集的更新而引起变化的lagrange乘子向量,进而缩短了预测模型在线更新的时间,提高了线短时交通流预测的实时性。本发明的方法在进行在线式短时交通流预测时,具有更快的训练效率和更短的模型训练时间。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1