一种基于状态频率记忆神经网络的短时交通流预测方法与流程

文档序号:17361566发布日期:2019-04-09 22:06阅读:210来源:国知局
一种基于状态频率记忆神经网络的短时交通流预测方法与流程

本发明属于智能交通系统领域,具体涉及一种基于状态频率记忆神经网络的短时交通流预测方法。



背景技术:

智能交通控制与诱导系统一直是智能交通系统的核心内容之一,同时也是近年来研究的热点。智能控制与诱导系统的有效运行能够明显的缓解交通堵塞问题、减轻环境污染,同时提高道路交通安全。实现智能控制与诱导系统有效运行的关键在于对短时交通流进行准确的预测,且对短时交通流预测准确与否在很大程度上决定了控制和诱导的有效性。

交通流预测主要是依据当前道路交通流量的变化规律以及特性进行准确和实时的预测,能够合理的推断出未来短时间内的交通状况。目前,研究人员已提出许多预测短时交通流的方法如指数平滑法、bp神经网络等,然而这些方法预测的效果并不尽如人意,存在各自的缺陷,如指数平滑法对时间的间隔敏感性较强,预测误差较大;bp神经网络在预测时容易出现过拟合的现象,并存在收敛速度较慢等问题。同时,交通流数据是一种时间序列数据,具有非线性和随机性的特点,上述方法预测交通流数据并不能够符合其特点,存在较大的预测误差。

因此,有必要设计一种新的短时交通流预测模型,以克服上述问题。



技术实现要素:

本发明的目的是在于克服现有技术的缺陷,提出了一种基于状态频率记忆神经网络的短时交通流预测方法,以实现提高短时交通流预测精度。

为了实现上述目的,本发明提供了一种基于状态频率记忆神经网络的短时交通流预测方法,具体采用如下技术方案。

一种基于状态频率记忆神经网络的短时交通流预测方法,该方法包括以下步骤:

步骤1:按照预测的指定时间间隔对历史交通流数据进行汇总,将一段时间内的多个历史交通流数据按照一定时间间隔进行累加,得到汇总后的历史交通流数据。

步骤2:对汇总后的历史交通流数据进行归一化预处理;

步骤3:设定状态-频率记忆神经网络预测模型的参数;

步骤4:根据预处理之后的历史交通流数据,训练设定参数后的状态-频率记忆神经网络预测模型,构建状态频率记忆神经网络交通流预测模型;

步骤5:根据状态频率记忆神经网络交通流预测模型预测指定时间间隔的交通流,并评估预测误差。

作为优选,步骤1中所述历史交通流数据为特定观测点观测到的一段时间内经过的交通流量gi,j;

步骤1中所述汇总后的历史交通流数据q为:

q=[q1,q2,…,qn]

其中,i为时间间隔的序号,j为时间间隔内时间的序号,n为时间间隔的数量,m为时间间隔内时间的数量,qi为汇总后的第i段时间间隔内的交通流量,gi,j为第i段时间间隔的第j-1至j段时间内的交通流量,q为多段时间间隔的交通流量汇总后组成的时间序列,即汇总后的历史交通流数据;

作为优选,步骤2中所述对汇总后的历史交通流数据进行归一化预处理,具体的方法为:

其中,q'为归一化预处理的历史交通流数据,qmin为汇总后的历史交通流数据q中的最小值,qmax为汇总后的历史交通流数据q中的最大值,q为汇总后的历史交通流数据;

作为优选,步骤3中所述设定状态-频率记忆神经网络模型的参数:

设定输入层节点数量为d1,设定隐藏层χ的隐藏层节点数量为d2,设定输出层节点数量为d3,设定频率维为k,设定迭代次数为iter,设定学习率为lr,设定时刻的数量为p;

作为优选,步骤4中所述训练设定参数后的状态-频率记忆神经网络预测模型为:

将归一化预处理的历史交通流数据划分为训练集数据qtra、验证集数据qval以及测试集数据qtest;

利用训练集数据,根据步骤3设定参数后的状态-频率记忆神经网络的模型上进行训练;

模型隐藏层χ的前向传播过程为:

输入的历史交通流数据序列为:

qtra,l=(qtra,l,1,qtra,l,2,…,qtra,l,t,…,qtra,l,p)

其中,qtra,l,t为l批次中t时刻输入的序列数据,l∈(1,2,…,s),t∈(1,2,…,p),s为批次的数量,p表示时刻的数量,计算方法为:

其中,len(qtra)表示验证数据集的数量;

则模型遗忘门的计算公式为:

其中,为l批次中t时刻状态遗忘门,为l批次中t时刻频率遗忘门;

l批次中t时刻状态遗忘门计算公式为:

l批次中t时刻频率遗忘门计算公式为:

其中,wl,ste为l批次中状态遗忘门的权值,qtra,l,t为l批次中t时刻输入的序列数据,ul,ste为l批次中状态遗忘门中隐藏层上一个时刻到当前时刻的权值,hl,t-1为l批次中t-1时刻隐藏层的输出,bl,ste为l批次中状态遗忘门的偏置项,wl,fre为l批次中频率遗忘门的权值,ul,fre为l批次中频率遗忘门中上一时刻隐藏层输出值传递到当前时刻的权值,bl,fre为l批次中频率遗忘门中的偏置项;

其中,sigmoid激活函数计算方法为:

模型输入门的计算公式为:

il,t=sigmoid(wl,iqtra,l,t+ul,ihl,t-1+bl,i)

其中,il,t为l批次中t时刻输入门的输出值,wl,i为l批次中输入门的权值,ul,i为l批次中输入门中上一时刻隐藏层输出值传递到当前时刻的权值,hl,t-1为l批次中t-1时刻隐藏层的输出,bl,i为l批次中隐藏层的偏置项;

描述当前输入的单元状态:

cl,t=tanh(al,tul,a+bl,a)

其中:cl,t为l批次中t时刻输入的单元状态,ul,a为l批次中逆变换向量,bl,a为l批次中状态幅度上的偏置项,wl,c为l批次中输出门单元状态的权值,ul,c为l批次中输出门中上一时刻隐藏层输出值传递到当前时刻的权值,hl,t-1为l批次中t-1时刻隐藏层的输出,bl,c为l批次中输出门的偏置项。

其中,tanh激活函数计算方法为:

其中,al,t为l批次中t时刻频率状态矩阵的幅度,resl,t为l批次中t时刻状态频率矩阵sl,t的实部,imsl,t为l批次中t时刻状态频率矩阵sl,t的虚部,imsl,t-1为l批次中t-1时刻频率状态矩阵sl,t-1的虚部,il,t为l批次中t时刻输入门的输出值,resl,t-1为l批次中t-1时刻频率状态矩阵sl,t-1的实部,k为频率维;

模型输出门的计算公式为:

其中ol,t=sigmoid(wl,oqtra,l,t+ul,ohl,t-1+bl,o),

其中,hl,t为l批次中t时刻隐藏层的输出值,ol,t为l批次中t时刻的输出门的输出值,cl,t为l批次中t时刻的单元状态,wl,o为l批次中输出门的权重,ul,o为l批次中输出门中隐藏层上一个时刻到当前时刻的权重,hl,t-1为l批次中t-1时刻隐藏层的输出,bl,o为l批次中输出门的偏置项。

其中,sl,t为l批次中t时刻的状态频率矩阵,fl,t为l批次中t时刻遗忘门的输出值,sl,t-1为l批次中t-1时刻的状态频率矩阵,il,t为l批次中t时刻输入门的输出值,为l批次中t时刻的输入调制、输入的单元状态,为状态序列上的k个频率分量的傅立叶基;

模型隐藏层反向传播使用沿时间反向传播算法进行训练,其训练公式为:

其中:δtl,t-1为l批次中t-1时刻的误差项、为l批次中t时刻的误差项、hl,t为l批次中t时刻隐藏层的输出、hl,t-1为l批次中t-1时刻隐藏层的输出、wl,h,t为l批次中t时刻从输入层到隐藏层的权值、qtra,l,t-1为l批次中t-1时刻输入的序列数据、msel为l批次中各个时刻损失值之和,计算方法如下:

其中,msel为l批次中各时刻的损失值之和,λ为当前时刻,bl,t为l批次中模型在t时刻输出的数据,qtra,l,t为l批次中t时刻输入的序列数据;

步骤4中所述构建状态频率记忆神经网络交通流预测模型为:

将验证集数据qval输入各批次状态频率记忆神经网络模型modl

l∈[1,s],并计算各批次状态频率记忆神经网络模型在验证集数据上的误差为:

mseval,l=|nl-qval|l∈[1,s]

其中,nl为l批次状态频率记忆神经网络模型modl预测输出数据,qval为验证集数据;

选择各批次状态频率记忆神经网络模型在验证集数据上的误差最小的批次的状态频率记忆神经网络模型,作为状态频率记忆神经网络交通流预测模型:

即在mseval,1,mseval,2,...,mseval,s中选择最小为mseval,zz∈[1,s],将z批次状态频率记忆神经网络模型modz作为状态频率记忆神经网络交通流预测模型;

作为优选,步骤5中所述根据状态频率记忆神经网络交通流预测模型预测指定时间间隔的交通流:

将步骤4中所述测试集数据qtest作为输入数据输入状态频率记忆神经网络交通流预测模型,进行前向计算,得到相应的输出数据a,此数据即为模型对下一指定时间间隔交通流数据的归一化预测值;

将得到的相应的输出数据a进行逆归一化处理,得到对下一指定时间间隔的交通流数据预测值,其中,下一指定时间间隔交通流数据预测值为;

其中,a'为逆归一化之后的数据即下一指定时间间隔交通流数据预测值,qmin为汇总后的历史交通流数据q中的最小值,qmax为汇总后的历史交通流数据q中的最大值,q为汇总后的历史交通流数据,a为已训练的交通流预测模型对下一指定时间间隔交通流数据的归一化预测值;

本发明提供的基于状态-频率记忆神经网络的短时交通流预测方法,该方法包括以下步骤:根据短时交通流预测时间间隔,汇总历史交通流数据;对汇总后的数据历史交通流数据进行预处理;对状态-频率记忆神经网络设置合理的参数;使用预处理的历史交通流数据训练该神经网络预测模型,并根据模型在验证数据集上的效果对其训练参数进行调整,选取在验证集上误差最小的预测模型作为最终的交通流预测模型;调用模型预测指定的时间间隔的交通流量并评估误差。本发明利用了状态-频率记忆神经网络预测模型能够长时记忆输入历史交通流数据、且能够自适应调节频率的优势,可得到较高的预测精度,且对于不同的预测时间间隔具有良好的延展性。

与现有技术相比,本发明具有以下有益效果:

使用状态-频率记忆神经网络预测模型预测短时交通流,该模型具有长时记忆历史数据的优点;

使用状态-频率记忆神经网络预测模型预测短时交通流,可以动态确定不同的频率,以便得到更高的预测精度;

使用状态-频率记忆神经网络预测模型预测短时交通流,可以预测不同的时间间隔,具有良好的扩展性。

附图说明

图1:为本发明方法的关于短时交通流预测的一种流程示意图;

图2:为本发明关于状态频率记忆神经网络的一种结构示意图;

图3:为本发明预测模型以30分钟为预测时间间隔所预测得到的短时交通流数据与观测值对比图;

图4:为本发明与其他方法预测的不同时间间隔平均相对误差对比图;

图5:为本发明与其他方法预测的不同时间间隔均方误差对比图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅为本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明实施方式的仿真平台为软件python2.7,使用从openits获得的历史交通流数据进行分析建模,选取了安徽省某交叉口的连续30天的历史交通流数据。本发明实施方式使用前24天的历史交通流数据作为训练集数据,使用后续3天的历史交通流数据作为验证集数据,并使用最后3天的的历史交通流数据作为测试集数据。

下面结合图1至图5介绍本发明的实施方式,一种基于状态频率记忆神经网络的短时交通流预测方法,该方法包括以下步骤:

步骤1:按照预测的指定时间间隔对历史交通流数据进行汇总,将一段时间内的多个历史交通流数据按照一定时间间隔进行累加,得到汇总后的历史交通流数据。

步骤1中所述历史交通流数据为特定观测点观测到的一段时间内经过的交通流量gi,j;

步骤1中所述汇总后的历史交通流数据q为:

q=[q1,q2,…,qn]

其中,i为时间间隔的序号,j为时间间隔内时间的序号,n为时间间隔的数量,m为时间间隔内时间的数量,qi为汇总后的第i段时间间隔内的交通流量,gi,j为第i段时间间隔的第j-1至j段时间内的交通流量,q为多段时间间隔的交通流量汇总后组成的时间序列,即汇总后的历史交通流数据;

步骤2:对汇总后的历史交通流数据进行归一化预处理;

步骤2中所述对汇总后的历史交通流数据进行归一化预处理,具体的方法为:

其中,q'为归一化预处理的历史交通流数据,qmin为汇总后的历史交通流数据q中的最小值,qmax为汇总后的历史交通流数据q中的最大值,q为汇总后的历史交通流数据;

步骤3:设定状态-频率记忆神经网络预测模型的参数;

步骤3中所述设定状态-频率记忆神经网络模型的参数:

设定输入层节点数量d1=1,设定隐藏层χ=1的隐藏层节点数量d2=50,设定输出层节点数量d3=1,设定频率维k=10,设定迭代次数iter=1200,设定学习率lr=0.01,设定时刻的数量p=50;

步骤4:根据预处理之后的历史交通流数据,训练设定参数后的状态-频率记忆神经网络预测模型,构建状态频率记忆神经网络交通流预测模型;

步骤4中所述训练设定参数后的状态-频率记忆神经网络预测模型为:

将归一化预处理的历史交通流数据划分为训练集数据qtra、验证集数据qval以及测试集数据qtest;

利用训练集数据,根据步骤3设定参数后的状态-频率记忆神经网络的模型上进行训练;

模型隐藏层χ的前向传播过程为:

输入的历史交通流数据序列为:

qtra,l=(qtra,l,1,qtra,l,2,…,qtra,l,t,…,qtra,l,p)

其中,qtra,l,t为l批次中t时刻输入的序列数据,l∈(1,2,…,s),t∈(1,2,…,p),s为批次的数量,p表示时刻的数量,计算方法为:

其中,len(qtra)表示验证数据集的数量;

则模型遗忘门的计算公式为:

其中,为l批次中t时刻状态遗忘门,为l批次中t时刻频率遗忘门;

l批次中t时刻状态遗忘门计算公式为:

l批次中t时刻频率遗忘门计算公式为:

其中,wl,ste为l批次中状态遗忘门的权值,qtra,l,t为l批次中t时刻输入的序列数据,ul,ste为l批次中状态遗忘门中隐藏层上一个时刻到当前时刻的权值,hl,t-1为l批次中t-1时刻隐藏层的输出,bl,ste为l批次中状态遗忘门的偏置项,wl,fre为l批次中频率遗忘门的权值,ul,fre为l批次中频率遗忘门中上一时刻隐藏层输出值传递到当前时刻的权值,bl,fre为l批次中频率遗忘门中的偏置项;

其中,sigmoid激活函数计算方法为:

模型输入门的计算公式为:

il,t=sigmoid(wl,iqtra,l,t+ul,ihl,t-1+bl,i)

其中,il,t为l批次中t时刻输入门的输出值,wl,i为l批次中输入门的权值,ul,i为l批次中输入门中上一时刻隐藏层输出值传递到当前时刻的权值,hl,t-1为l批次中t-1时刻隐藏层的输出,bl,i为l批次中隐藏层的偏置项;

描述当前输入的单元状态:

cl,t=tanh(al,tul,a+bl,a)

其中:cl,t为l批次中t时刻输入的单元状态,ul,a为l批次中逆变换向量,bl,a为l批次中状态幅度上的偏置项,wl,c为l批次中输出门单元状态的权值,ul,c为l批次中输出门中上一时刻隐藏层输出值传递到当前时刻的权值,hl,t-1为l批次中t-1时刻隐藏层的输出,bl,c为l批次中输出门的偏置项。

其中,tanh激活函数计算方法为:

其中,al,t为l批次中t时刻频率状态矩阵的幅度,resl,t为l批次中t时刻状态频率矩阵sl,t的实部,imsl,t为l批次中t时刻状态频率矩阵sl,t的虚部,imsl,t-1为l批次中t-1时刻频率状态矩阵sl,t-1的虚部,il,t为l批次中t时刻输入门的输出值,resl,t-1为l批次中t-1时刻频率状态矩阵sl,t-1的实部,k为频率维;

模型输出门的计算公式为:

其中ol,t=sigmoid(wl,oqtra,l,t+ul,ohl,t-1+bl,o),

其中,hl,t为l批次中t时刻隐藏层的输出值,ol,t为l批次中t时刻的输出门的输出值,cl,t为l批次中t时刻的单元状态,wl,o为l批次中输出门的权重,ul,o为l批次中输出门中隐藏层上一个时刻到当前时刻的权重,hl,t-1为l批次中t-1时刻隐藏层的输出,bl,o为l批次中输出门的偏置项。

其中,sl,t为l批次中t时刻的状态频率矩阵,fl,t为l批次中t时刻遗忘门的输出值,sl,t-1为l批次中t-1时刻的状态频率矩阵,il,t为l批次中t时刻输入门的输出值,为l批次中t时刻的输入调制、输入的单元状态,为状态序列上的k个频率分量的傅立叶基;

模型隐藏层反向传播使用沿时间反向传播算法进行训练,其训练公式为:

其中:δtl,t-1为l批次中t-1时刻的误差项、为l批次中t时刻的误差项、hl,t为l批次中t时刻隐藏层的输出、hl,t-1为l批次中t-1时刻隐藏层的输出、wl,h,t为l批次中t时刻从输入层到隐藏层的权值、qtra,l,t-1为l批次中t-1时刻输入的序列数据、msel为l批次中各个时刻损失值之和,计算方法如下:

其中,msel为l批次中各时刻的损失值之和,λ为当前时刻,bl,t为l批次中模型在t时刻输出的数据,qtra,l,t为l批次中t时刻输入的序列数据;

步骤4中所述构建状态频率记忆神经网络交通流预测模型为:

将验证集数据qval输入各批次状态频率记忆神经网络模型modl

l∈[1,s],并计算各批次状态频率记忆神经网络模型在验证集数据上的误差为:

mseval,l=|nl-qval|l∈[1,s]

其中,nl为l批次状态频率记忆神经网络模型modl预测输出数据,qval为验证集数据;

选择各批次状态频率记忆神经网络模型在验证集数据上的误差最小的批次的状态频率记忆神经网络模型,作为状态频率记忆神经网络交通流预测模型:

即在mseval,1,mseval,2,...,mseval,s中选择最小为mseval,zz∈[1,s],将z批次状态频率记忆神经网络模型modz作为状态频率记忆神经网络交通流预测模型;

步骤5:根据状态频率记忆神经网络交通流预测模型预测指定时间间隔的交通流,并评估预测误差。

步骤5中所述根据状态频率记忆神经网络交通流预测模型预测指定时间间隔的交通流:

将步骤4中所述测试集数据qtest作为输入数据输入状态频率记忆神经网络交通流预测模型,进行前向计算,得到相应的输出数据a,此数据即为模型对下一指定时间间隔交通流数据的归一化预测值;

将得到的相应的输出数据a进行逆归一化处理,得到对下一指定时间间隔的交通流数据预测值,其中,下一指定时间间隔交通流数据预测值为;

其中,a'为逆归一化之后的数据即下一指定时间间隔交通流数据预测值,qmin为汇总后的历史交通流数据q中的最小值,qmax为汇总后的历史交通流数据q中的最大值,q为汇总后的历史交通流数据,a为已训练的交通流预测模型对下一指定时间间隔交通流数据的归一化预测值;

对安徽某交叉口实测得到的数据与利用基于状态频率记忆神经网络预测出的交通流数据对比如图3所示,从图中可以清晰的看出使用sfm状态-频率记忆神经网络预测的结果具有较高的准确度。图4与图5分别为此实验的平均误差对比和均方根误差对比,从图中我们可以看出sfm状态-频率记忆神经网络预测的性能要优于一般的预测方法,且预测的误差较小,精度更高。

本发明具有以下有益效果:本实施例提供的状态频率记忆神经网络短时交通流预测模型可以长时间记忆时间序列中的历史数据,并且可以动态的确定最优的历史时间长度来进行预测,通过与指数平滑法以及bp神经网络等方法进行对比,可以发现,sfm状态-频率记忆神经网络对于不同预测时间间隔的误差都是最低的,验证了该模型能够提高短时交通流预测的精度,证明了该模型的有效性。

以上对本发明的具体实施进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。

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