一种基于GMDH神经网络的交通车流量预测方法与流程

文档序号:14250892阅读:939来源:国知局
一种基于GMDH神经网络的交通车流量预测方法与流程

本发明涉及一种交通车流量预测方法,具体涉及一种基于gmdh神经网络的交通车流量预测方法。



背景技术:

现有的交通车流量预测方法,大多使用时间序列模型,或使用与时间序列模型相似的线性模型。这类方法将某一时刻的交通流量看成是非平稳随机序列,并在时间的维度上进行分析和运算。如以基于时间序列模型的方法为例,这类方法建立在大量不间断数据的基础上,具有较高的预测精度,但需要复杂的参数估计,且计算出的参数不具备可移植性。在实际应用中,由于各种原因很容易造成数据的遗漏,很容易导致模型预测精度的降低,另外还依赖大量的历史数据,数据成本较高。



技术实现要素:

本发明的目的是克服现有技术中的不足,提供一种具有预测精度高,对历史数据依赖小,数据成本低的基于gmdh神经网络的交通车流量预测方法。

一种基于gmdh神经网络的交通车流量预测方法,包括如下步骤:

1)、gmdh神经网络离线车流量训练

1.1)、读取车辆通行历史数据;历史数据依据车辆道路上的智能摄像头采集,具体包括通过车辆的速度、车辆车牌号等信息;

1.2)、确定智能摄像头工作正常,所采集的车辆数据是否正确;剔除车速过快,车辆车牌号识别有误,车辆前后行驶轨迹不符,幽灵车辆等数据,

1.3)、初始化gmdh神经网络;根据数据的采集频率和数据所采集的总天数,设定神经网络的结构,神经网络的维度一般与数据量的大小成正比,确保神经网络预测的准确性;

1.4)、进行神经网络的训练;使用梯度下降法对神经网络的权值和偏置进行调整,通过多次遍历神经网络的每一层实现神经网络的训练;

1.5)、保存最优的训练结果;在神经网络训练结束后,应将神经网络的结构,权值和偏置进行保存,从而用于步骤2)的在线车流量实时预测;

2)、gmdh神经网络在线车流量实时预测

2.1)、读取车辆通行历史数据;历史数据依据车辆道路上的智能摄像头采集,具体包括通过车辆的速度、车辆车牌号等信息;

2.2)、确定智能摄像头工作正常,所采集的车辆数据是否正确;剔除车速过快,车辆车牌号识别有误,车辆前后行驶轨迹不符,幽灵车辆等数据;

2.3)、根据步骤1中确定的神经网络结构来初始化gmdh神经网络;

2.4)、进行神经网络的预测;使用先前步骤1)获得的神经网络的结构,权值和偏置对实时的车流量进行预测;

2.5)、输出结果,用于对交通情况进行控制。

作为优选:步骤1.2)具体包括如下步骤:

1.2.1)、判断单位时间的车辆通行数n,应满足约束:nnin<n<nmax(nnin,nmax为单位时间车辆通行最小数和最大数),如果不能满足本约束则说明数据采集过程出现问题。

1.2.2)、判断该路口车辆通行数n1,与当前时间其他路口车辆通行数ni满足约束:a·ni<n1<b·ni(a,b为相应系数),如果不能满足当前约束则说明数据的采集过程出现问题。

1.2.3)、其他对采集数据进行验证的方法同样包含在此专利要求的范围内。

1.2.4)、如果判定数据不准确,使用对应的数据还原方案进行数据的补全,从历史数据中推测丢失的相应数据。

1.2.5)、如果不能从数据中进行推测,则报错,要求系统对传感器模块进行维护。

作为优选:步骤1.3)具体包括如下步骤:

1.3.1)、读取训练数据的持续天数d,用于衡量数据的维度,确定神经网络的规模。

1.3.2)、读取训练数据的采样周期t,并计算每天采集的数据数量n,确定神经网络的规模。

1.3.3)、确定神经网络的输入神经元个数cin=n,与神经网络的输出神经元个数cout=n,确定神经网络的中间层神经元个数cmin=2n。

1.3.4)、确定神经网络的神经元层数,l=2+(cmin+cout)0.5

1.3.5)、将相应的神经网络信息保存起来,以备在1.4)中初始化神经网络中使用。

作为优选:步骤1.4)具体包括如下步骤:

1.4.1)、初始化神经网络;根据1.3)保存的神经网络信息,建立神经的结构,初始化神经网络的权值w,偏置等值b,初始化层数指针pf=1,学习次数ps=1。

1.4.2)、得到当前层的输出;使用i,b计算当前层的输出矩阵o,公式为o=i*w+b。

1.4.3)、记录本层输出数据o,用于步骤1.3.4)的学习。

1.4.4)、判断运行是否到达最后一层,如果不到则训练的层数加1,回到步骤1.4.2),如果到达则进入步骤1.4.5)。

1.4.5)、判断数据是否达到训练次数,如果不到则训练次数加1,同时层数指针返回1,回到步骤1.4.2);如果到达则进入步骤1.4.6)。

1.4.6)、保存训练结果。

作为优选:步骤2.2)具体包括如下步骤:

2.2.1)、判断单位时间的车辆通行数n,应当满足约束:nnin<n<nmax(nnin,nmax经过挑选的系数),如果不能满足当前约束则说明数据的采集过程出现问题。

2.2.2)、判断该路口的车辆通行数n1,应当与当前时间的其他路口的车辆通行数ni满足约束关系:a·ni<n1<b·ni(a,b为相应系数),如果不能满足当前约束则说明数据的采集过程出现问题。

2.2.3)、其他对采集数据进行验证的方法同样包含在此专利要求的范围内。

2.2.4)、如果判定数据不准确,使用相应的数据还原方案,从历史数据中推测丢失的相应数据。

2.2.5)、如果不能从数据中进行推测,则向本方法的使用这报错,要求对传感器模块进行维护。

作为优选:步骤2.3)具体包括如下步骤:

2.3.1)、读取训练数据的持续天数d。

2.3.2)、读取训练数据的采样周期t,并通过算式计算每天采集的数据数量n,用于衡量数据的维度读入神经网络的规模。

2.3.3)、读入神经网络的输入神经元个数cin=n,与神经网络的输出神经元个数cout=n,读入神经网络的中间层神经元个数cmin=2n。

2.3.4)、读入神经网络的神经元层数,l=2+(cmin+cout)0.5

2.3.5)、将相应的神经网络信息保存起来,以备在1.4)中初始化神经网络中使用。

作为优选:步骤2.4)具体包括如下步骤:

2.4.1)、读取网络结构,读取1.4)保存的神经网络的权值w,偏置等值b,层数指针设为1。

2.4.2)、得到当前层的输出;以当前层的输入矩阵i为原料计算计算当前层的输出矩阵o,公式为o=i*w+b。

2.4.3)、记录本层输出数据o,用于步骤2.3.4)的预测。

2.4.4)、判断运行是否到达最后一层,如果不到则训练的层数加1,回到步骤1.4.2),如果到达则进入步骤1.4.5)。

2.4.5)、保存预测结果。

本发明的有益效果是:本方法使用gmdh神经网络算法对交通路口的车流量进行预测,一般的预测方法在处理大体量的数据过程中有时间长,准确率低等缺点,较难实现交通流量实时预测的要求。由于gmdh神经网络具有强大的逼近能力,可以将车流量的预测分成离线学习和在线预测两个部分:在离线学习环节结合大量的数据,通过进行神经网络的训练,学习车流量变化的规律;在在线预测部分通过调用已学习完毕的神经网络,快速有效的对车辆的通行状态进行实时预测。离线数据的学习可以通过滚动的方式进行,从而使神经网络实时符合现实车流量的变换特性。

附图说明

图1为专利流程图

图2为gmdh网络基本处理单元

图3为一种5输入的gmdh网络形成示意图

图4为gmdh网络第一层结构图

图5为gmdh网络第一层中间模型筛选图

图6为gmdh网络第二层的构造图

图7为gmdh网络第二层中间模型筛选图

图8为gmdh预测结果示例1

图9为gmdh预测结果示例2

图10为gmdh预测结果示例3

图11为gmdh预测结果示例4

图12为gmdh预测结果示例5。

具体实施方式

下面结合实施例对本发明做进一步描述。下述实施例的说明只是用于帮助理解本发明。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

1算法原理说明

gmdh算法的主要思想是模拟仿照生物的“遗传—变异—选择—进化”过程:从一个简单的初始模型集合出发,模型集合中的元素彼此按照某种规定的法则进行组合,生成新的中间候选模型(遗传、变异),再经过某种策略或方案对中间候选模型进行筛选(选择),不断重复这种遗传、变异、选择和进化的过程,使生成的中间模型的复杂度不断提高,直至新生成模型的复杂度不再增加得到最优复杂度模型。

gmdh算法从对系统有影响的因素样本出发,将样本数据划分为训练集、测试集和预测集。训练集的数据用于对建模过程中生成的各中间模型的参数估计(一般可采用最小二乘法),测试集的样本数据用于结合外准则(主要有误差平方和准则、最小信息准则、平均相对误差准则)对生成的中间待选模型进行筛选。gmdh算法建模的网络终止法则是由最优复杂度原理给出的。

gmdh建模前一般要选择适当的初始模型集合作为初始层变量。初始模型一般由参考函数生成,而参考函数一般用式(1)的kolmogorov-gabor(k-g)多项式:

2gmdh网络构建

gmdh网络基本处理单元的示意图。这是一种双输入单输出的结构,传递函数(也称参考函数)可以是多种形式,如:

y=ax1+bx2+c

y=a0+a1x1+a2x2+a3x12+a4x22+a5x1x2

式中,x1,x2是双输入系统的两个输入,y是系统的输出。

图2是一个包含5个建模变量的gmdh网络形成的示意图,其中vi为输入,

yij为第i层的第j个中间模型,wi为第二层的输入,zi为第三层输入,s1,s2为倒数第二层的输入,y为最优模型。在建模过程gmdh网络的结构是自组织确定的,网络的层数不是固定的.

gmdh网络的构造步骤如下:

(1)初始层变量的确定。gmdh建模过程是自组织完成的,用户只需给定模型输入。初始模型是由输入变量两两组合按照传递函数生成,而传递函数一般用式所示的kolmogorov-gabor(简称k-g)多项式。

初始模型集合一般选为:

v={v1=x1,v2=x2,v3=x3,v4=x12,v5=x22,v6=x32,v7=x1x2,v8=x1x3,v9=x2x3}

(2)初始模型出发,各变量间相互重新组合得到新的第一层中间模型(如图4所示)。

如果输入变量个数是五个,

(3)根据外准则,对第1层中间模型进行选择,保留下的中间模型被作为下一层的输入变量,如图5。

(4)再产生与再选择。重复步骤(2),以第一层保留下来的处理单元的输出作为下一层的输入变量,继续构造出第二层处理单元(图6)。重复步骤(3),对第二层处理单元进行筛选,保留下来的单元继续进行下一层单元的构造(图7)。

3gmdh算法建模过程

gmdh算法是基于样本划分的建模方法,将建模数据样本集w(n个数据样本)分为训练集a(trainingseta),样本个数:na,检测集b(testingsetb),样本个数:nb,这里所说的建模数据不包括预测验证数据。数据的存储如表1所示,模型的输入、输出数据形式如下:

上式中xaxb分别为训练数据输入和测试数据输入,m为系统建模变量个数,ya、yb为训练样本实际输出和测试样本实际输出。并且n=na+nb,w=a∪b。(xa,ya)即训练集a,用于中间模型的参数的估计。(xb,yb)即测试集b,用来筛选中间模型。数据的存储形式如表1所示。

表1

4gmdh算法预测结果分析

图8-12为使用gmdh算法进行数据预测的五组数据的结果,使用杭州市天目山路西溪路东交叉口的连续60天的数据训练gmdh神经网络。然后使用训练完成的神经网络以连续的30天的数据为输入预测未来一天的车流量情况。图8-12中的车流量情况分别为2016年11-15日的车流量数据与预测数据的比较。总体看误差小于3%,有很强的使用价值。

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