一种基于KNN算法的预测短时交通流的方法和电子设备与流程

文档序号:18832499发布日期:2019-10-09 03:54阅读:383来源:国知局
一种基于KNN算法的预测短时交通流的方法和电子设备与流程

本发明属于智能交通技术领域,涉及一种基于knn算法的预测方法及应用该方法的电子设备,特别涉及一种基于knn算法的预测短时交通流的方法和电子设备。



背景技术:

交通流预测方法分为长期预测、中期预测和短时预测三种:长期预测主要以交通规划为目的,预测期较长;中期预测以交通管理为目的,而短期预测以交通控制和引导为目的,预测期较短。基于对时间和效率的重视,在现有的交通预测中,主要采用短时交通流预测的方法。智能交通系统控制中心利用交通流预测的结果做出判断和规划,为出行者的路径选择提供引导,从而在一定程度上实现缓解交通拥堵,降低能源损耗及提高人们出行效率的目的。

目前的交通流短时预测方法有移动平均法、卡尔曼滤波法及基于时间序列的预测方法等。移动平均法主要通过既得数据求算术平均值的方法,其预测精度不高;卡尔曼滤波法适用于预测线性交通流数据,而对于非线性的交通流数据处理效果不好;基于时间序列的数据预测方法适用于处理稳定的交通运行情况,对于异常情况的出现无法做出敏感的反应,因此不能保证预测的准确性。knn算法又称邻近算法,是数据挖掘分类技术中最简单的方法之一,knn算法在进行类别决策时,只需提取极少量的相邻样本即可,其是一种简单有效的交通流短时预测方法,但现有技术的knn算法在算法参数上可作进一步优化的空间,即在预测的精度上还存在提高的空间。

因此,开发一种预测精度更高的基于knn算法的短时交通流预测方法极具现实意义。



技术实现要素:

本发明的目的在于克服现有技术预测精度不高、对非线性交通流数据(即异常情况)处理效果不好的缺陷,提供一种通过改进距离权重选取方式以进一步提高预测精度的基于knn算法的短时交通流预测方法。

为实现上述目的,本发明提供如下技术方案:

一种基于knn算法的预测短时交通流的方法,步骤如下:

(1)提取历史交通流数据后根据其构建多组历史数据状态向量;

(2)实时采集交通流数据基于该数据构建预测状态向量;

(3)计算欧氏距离后,选取数值最小的k个欧氏距离并赋予每个选取的欧氏距离权重系数;

(4)根据权重系数及与其对应的欧氏距离匹配的历史数据状态向量中的交通流数据求得预测目标值;

所述赋予每个选取的欧氏距离是指按照如下公式针对欧氏距离di计算权重系数αi:

其中,di为第i个欧氏距离,i=1,2……k。

本发明的短时交通流预测方法,针对现有技术未充分考虑交通系统的复杂性,对近邻权重的计算方式进行改进,提出一种全新的权重方式以定义近邻的重要程度,优化的距离权重参数不同影响着预测目标值与真实值之间的差异,本发明的权重方式以欧氏距离作为评价近邻权重的指标,现有技术采用的近邻权重方式(如“距离倒数”权重)以欧氏距离作为评价近邻权重的指标。从实验结果分析来看,本发明的权重方式预测结果误差小且稳定。本发明采用距离小则权重大,距离大则权重小的思想确立权重值,即“距离占比”权重,本发明给出了权重系数的具体计算公式,最终根据权重系数和与之对应的历史数据状态向量即可获取预测目标值,本发明通过“距离占比”权重使得短期交通流的预测结果更加准确和稳定。

作为优选的技术方案:

如上所述的一种基于knn算法的预测短时交通流的方法,所述历史数据状态向量由连续的n个历史交通流数据组成,其中历史数据状态向量xz的公式如下:

其中,z为历史数据状态向量的编号,z=1,2,3…。本发明的保护范围并不仅限于此,本领域技术人员也可采取其他合适的方法构建历史数据状态向量,但其构建历史数据状态向量的方法应当与构建预测状态向量的方法一致。

如上所述的一种基于knn算法的预测短时交通流的方法,基于采集的交通流数据构建预测状态向量的具体方法为选取下一时刻即预测目标前的连续n-1个已采集的交通流数据与预测目标值vf组成预测状态向量xf,其公式如下:

xf={vb1,vb2…vbn-1,vf};

其中,vbn-1为当前时刻的交通流数据,vb1为前n-2个时刻的交通流数据。本发明的保护范围并不仅限于此,本领域技术人员也可采取其他合适的方法构建预测状态向量,本发明仅以此为例。

如上所述的一种基于knn算法的预测短时交通流的方法,所述欧氏距离是指预测状态向量与各组历史数据状态向量的欧氏距离,预测状态向量与历史数据状态向量xz的欧氏距离d的计算公式如下:

本发明的欧氏距离的计算公式并不仅限于此,本发明仅以此为例,选取向量的构建方法不同,其欧氏距离的计算公式也可能不同,只要向量的构建方法与欧氏距离的计算公式匹配,能够获取准确的欧氏距离即可。

如上所述的一种基于knn算法的预测短时交通流的方法,所述预测目标值是根据如下公式求得的:

其中,vf为预测目标值,n表示预测状态向量中预测目标值的位置,为与预测状态向量中预测目标值位置对应的欧氏距离di对应的历史数据状态向量中的交通流数据。

如上所述的一种基于knn算法的预测短时交通流的方法,所述n为5,k为20。本发明的n的具体取值并不仅限于此,本发明仅以此为例,其也可选取4个、6个或8个等数据作为一组数据构建历史数据状态向量,相应的预测状态向量中的数据数量也应当进行调整,与历史数据状态向量中的数据数量匹配。本发明的k的取值具体取值并不仅限于此,本发明仅以此为例,本领域技术人员可根据实际应用选取合适的k,当然选取的k越小,数据处理量越小,其预测精度相应的更低,k越大,其预测精度增大的同时数据处理量也将增大,这会一定程度上影响预测的速度,本发明选取的k值在一定程度上兼顾了预测精度和预测速度。

如上所述的一种基于knn算法的预测短时交通流的方法,所述选取数值最小的k个欧氏距离的具体步骤为:将所有欧氏距离按照数值大小从小到大依次排序,选取前k个欧氏距离。本发明选取欧氏距离的具体方法也并不仅限于此,此次仅列举一种可行的计算方案。

本发明还提供一种电子设备,包括一个或多个处理器、一个或多个存储器以及一个或多个程序;

所述一个或多个程序被存储在所述存储器中,当所述一个或多个程序被所述处理器执行时,使得所述电子设备执行以下步骤:

(1)提取历史交通流数据后根据其构建多组历史数据状态向量;

(2)实时采集交通流数据基于该数据构建预测状态向量;

(3)选取数值最小的k个欧氏距离并赋予每个选取的欧氏距离权重系数;

(4)根据权重系数及与其对应的欧氏距离匹配的历史数据状态向量中的交通流数据求得预测目标值;

所述赋予每个选取的欧氏距离是指按照如下公式针对欧氏距离di计算权重系数αi:

其中,di为第i个欧氏距离,i=1,2……k。

此外,本发明还提供一种计算机存储介质,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1至7中任一项所述的基于knn算法的预测短时交通流的方法。

本发明还提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1至7中任一项所述的基于knn算法的预测短时交通流的方法。

发明机理:

本发明选用knn算法作为预测方法的基础,其相比于目前采用较多的移动平均法、卡尔曼滤波法及基于时间序列的预测方法,更适用于对非线性的交通流数据(即异常情况),其能对异常情况做出敏感的反应,预测精度更高。

然而现有的knn算法采用的权重方式(如“距离倒数”权重)预测短时交通流的结果误差较大,因此本发明对近邻权重的计算方式进行改进,提出一种全新的权重方式以定义近邻的重要程度,本发明的权重方式以欧氏距离作为评价近邻权重指标,“距离倒数”权重也以欧式距离作为评价指标,通过欧式距离的倒数值计算近邻权重值。从实验结果分析来看,本发明的权重方式的预测结果误差小且稳定。本发明采用距离小则权重大,距离大则权重小的思想确立权重值,即“距离占比”权重,本发明给出了权重系数的具体计算公式,最终根据权重系数和与之对应的历史数据状态向量即可获取预测目标值,本发明通过“距离占比”权重使得短期交通流的预测结果更加准确和稳定。

有益效果:

(1)本发明的一种基于knn算法的预测短时交通流的方法,适用于对非线性的交通流数据(即异常情况),其能对异常情况做出敏感的反应,预测精度高,能为交通管理和控制提供可靠的数据支撑;

(2)本发明的一种基于knn算法的预测短时交通流的方法,在knn算法的基础上引入了“距离占比”权重方式,显著提高了预测精度,极具应用前景。

附图说明

图1为本发明的基于knn算法的预测短时交通流的方法的流程图;

图2为本发明的预测状态向量选取及预测图;

图3为本发明预测所得数据与真实数据的相对误差图;

图4为采用移动平均法预测所得数据与真实数据的相对误差图;

图5为采用卡尔曼滤波法预测所得数据与真实数据的相对误差图;

图6为采用“距离倒数”的knn算法预测所得数据与真实数据的相对误差图;

图7为本发明的一种电子设备的结构示意图。

具体实施方式

下面结合附图,对本发明的具体实施方式做进一步阐述。

实施例1

一种基于knn算法的预测短时交通流的方法,其具体步骤如图1所示:

(1)选取山东某高速公路某处监测点获取的实际交通流速度数据作为历史交通流数据,根据历史交通流数据构建多组历史数据状态向量,历史数据状态向量由连续的5个历史交通流数据组成,其中历史数据状态向量xz的公式如下:

其中,z为历史数据状态向量的编号,z=1,2,3…;

(2)基于采集的交通流数据构建预测状态向量,具体选取及预测流程如图2所示:

在数据中选取一时刻作为预测目标,设预测目标值为vf,选取预测目标前的连续4个已采集的交通流数据与预测目标值vf组成预测状态向量xf,其公式如下:

xf={vb1,vb2…vb4,vf};

其中,vb4为当前时刻的交通流数据,vb1为前3个时刻的交通流数据;

(3)计算预测状态向量与各组历史数据状态向量的欧氏距离,预测状态向量与历史数据状态向量xz的欧氏距离d的计算公式如下:

(4)选取数值最小的20个欧氏距离,即将所有欧氏距离按照数值大小从小到大依次排序,选取前20个欧氏距离,而后对所有选取的欧氏距离进行定义,其中第i个欧氏距离为di,i=1,2……20;

(5)根据以下公式计算所有的欧氏距离的权重系数;

其中,αi为欧氏距离di对应的权重系数;

(6)根据以下公式求得预测目标值vf;

其中,n表示预测状态向量中预测目标值的位置,为与预测状态向量中预测目标值位置对应的欧氏距离di对应的历史数据状态向量中的交通流数据。

最终采用本发明的方法预测所得数据与真实数据的相对误差如图3所示,其中相对误差的平均值为0.06355,标准差为0.04991。

对比例1

一种短时交通流预测方法,采用移动平均法对与实施例1相同的数据进行预测。

最终采用该方法预测所得数据与真实数据的相对误差如图4所示,其中相对误差的平均值为0.07258,标准差为0.06026。

对比例2

一种短时交通流预测方法,采用卡尔曼滤波法对与实施例1相同的数据进行预测。

最终采用该方法预测所得数据与真实数据的相对误差如图5所示,其中相对误差的平均值为0.06751,标准差为0.05114。

对比例3

一种短时交通流预测方法,其步骤与实施例1基本相同,不同在于其步骤(5)采用“距离倒数”的权重系数的计算方法,其计算公式如下:

其中,αi为欧氏距离di对应的权重系数,为欧氏距离di对应的倒数值。

最终采用该方法预测所得数据与真实数据的相对误差如图6所示,其中相对误差的平均值为0.06380,标准差为0.05021。

对比实施例1和对比例1~2可以发现,本发明的预测方法的相对误差平均值最小且最稳定,图中相对误差的峰波数量也最少,本发明的预测方法相比于移动平均法和卡尔曼滤波法,更适用于对非线性的交通流数据,其精度更佳;对比实施例1及对比例3可以发现,本发明通过引入了“距离占比”权重方式,降低了预测结果的相对误差平均值及标准差,此外,由图6和图3对比可以发现,本发明预测所得结果的误差散点分布更佳,一方面其相对误差更小,另一方面其分布更为密集即预测结果的准确性更佳,综上所述,本发明相比于“距离倒数”权重的knn算法,能够提供精度更高的预测方法。

经验证,本发明的一种基于knn算法的预测短时交通流的方法,适用于对非线性的交通流数据(即异常情况),其能对异常情况做出敏感的反应,预测精度高,能为交通管理和控制提供可靠的数据支撑;在knn算法的基础上引入了“距离占比”权重方式,显著提高了预测精度,极具应用前景。

实施例2

一种电子设备,如图7所示,包括处理器、存储器、程序以及实时采集交通流数据的信息采集装置,程序和历史交通流数被存储在存储器中;

当程序被处理器执行时,使得电子设备执行与实施例1相同的步骤。

实施例3

一种计算机存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行与实施例1相同的步骤。

实施例4

一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行与实施例1相同的步骤。

虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应该理解,这些仅是举例说明,在不违背本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改。

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