本发明属于智能交通控制领域,具体为一种基于神经网络的交通流预测方法。
背景技术:
随着机动车保有量数目不断增加,城市道路极易出现拥堵、混乱、事故高发等问题。为了减轻日益严重的交通拥堵问题,实现智能交通管控,给交通流诱导和交通出行提供准确实时交通流预测数据是当前的研究热点。
目前的交通流预测主要有四种方法,包括统计分析的预测模型、非线性理论模型、仿真预测模型、智能预测模型。基于统计分析的预测模型大多模型简单,计算较快,但不能处理突发交通状况,精度一般。非线性理论模型大部分理论复杂,计算量大。仿真预测模型计算量大,实时性不高,不适用于大规模数据的交通流量预测。智能预测模型无需建立精确的数学模型,可以基于流量历史数据预测将来流量,但目前提出的交通流智能预测模型大多只考虑交通流的时序特征,未考虑流量的空间联系,预测效果不佳。
技术实现要素:
本发明的目的在于提供一种基于神经网络的交通流预测方法。
实现本发明目的的技术方案为:一种基于神经网络的交通流预测方法,具体步骤为:
步骤1:收集预测路段设定时间内的历史交通流数据,形成二维交通流矩阵;
步骤2:对交通流数据进行标准化处理,并分为训练集、测试集;
步骤3:设计预测交通流量的lstm-fc神经网络,并利用训练集对其进行训练,所述lstm-fc神经网络包括依次连接的输入层、循环层、全连接层;
步骤4:用测试集对训练结束后的模型进行测试,评估模型误差,若误差大于设定值,返回步骤3,重新训练模型;
步骤5:将待预测路段前五天的交通流数据输入训练好的lstm-fc神经网络,预测路段未来交通流量。
优选地,所述历史交通流数据包括预测路段n个检测断面连续m天内每天的交通流量
优选地,采用z-score规范化对交通流数据进行标准化处理,即
优选地,利用训练集对lstm-fc神经网络进行训练的具体方法为:
以均方误差定义损失函数,误差反向传播降低损失,设置学习率α,采用正态分布初始化权重参数与偏差参数,设置单次训练过程的数据批量以及迭代次数,lstm-fc神经网络单次训练过程如下:
(1)设i=1,x=0;
(2)将输入矩阵s第i行包含的前五天交通流量数据
循环层的计算过程为:
ii=σ(wi*[hi-1,qi]+bi)
oi=σ(wo[hi-1,qi]+bo)
hi=oi*tanh(ci)
式中,wi,wc,wo分别为lstm网络输入门、遗忘门、输出门的权重参数,bi,bc,bo分别为lstm网络输入门、遗忘门、输出门的偏差参数,qi为当前时刻的输入,ii为当前时间步输入门的值,ci为当前时间步遗忘门的值,ci-1为上一时间步的遗忘门的值,
(3)根据预测值
(4)令i=i+1,
优选地,采用rmsprop优化算法更新神经网络各层权重参数w的具体步骤为:
31)计算损失函数的梯度值
32)计算累积平方梯度
33)更新各层权重参数
34)进行步骤(2),重新获得第i行的预测值
本发明与现有技术相比,其显著优点为:本发明能利用预测道路的大量历史交通流数据找出该道路上的交通流特点,模型采用lstm网络与fc网络组合的形式,既利用lstm网络处理时序数据的优势,考虑了交通流量的时间序列特征,又采用fc网络关联相邻断面的流量,考虑了流量的空间特征,提高了交通流量预测的合理性,预测过程只需要五天的断面流量数据即可预测未来几天的流量。
下面结合附图对本发明做进一步详细的描述。
附图说明
图1为本发明的流程图。
图2为lstm-fc神经网络模型示意图。
具体实施方式
一种基于神经网络的交通流预测方法,具体步骤为:
步骤1、收集预测路段设定时间内的历史交通流数据,历史交通流数据包括预测路段n个检测断面连续m天内每天的交通流量
步骤2、数据预处理。对交通流数据做标准化处理,并分为训练集、测试集。数据标准化处理采用z-score规范化,
步骤3、设计预测交通流量的lstm-fc神经网络,并利用训练集对其进行训练,网络结构如图2所示,所述lstm-fc神经网络包括依次连接的输入层、循环层、全连接层。循环层由lstm网络构成,lstm网络单次输入向量维度为1*5,输出向量维度为1*1,全连接层输出结果作为整个网络的预测结果。
所述lstm-fc神经网络可通过预测路段n个检测断面连续5天内每天的交通流量
以均方误差(mse)定义损失函数,误差反向传播降低损失。学习率α=0.001,采用正态分布(μ=0.485,σ=0.224)初始化权重参数与偏差参数,单次训练过程的数据批量为32,迭代次数为104。
所述lstm-fc神经网络单次预测过程如下:
(1)设i=1;
(2)将输入矩阵s的第i行(即第i个断面)包含的前五天交通流量数据
ii=σ(wi*[hi-1,qi]+bi)
oi=σ(wo[hi-1,qi]+bo)
hi=oi*tanh(ci)
式中,wi,wc,wo分别为lstm网络输入门、遗忘门、输出门的权重参数,bi,bc,bo分别为lstm网络输入门、遗忘门、输出门的偏差参数,qi为当前时刻的输入,ii为当前时间步输入门的值,ci为当前时间步遗忘门的值,ci-1为上一时间步的遗忘门的值,
循环层输出结果y(ht)与x联合作为全连接层的输入x=[y,x]t,x为前一个断面的预测流量,初始时,x=0,即可得到断面i第六天的预测值
(3)根据预测值
31)计算损失函数的梯度值
32)计算累积平方梯度
33)更新各层权重参数
34)进行步骤(2),重新获得第i行的预测值
(4)令i=i+1,
步骤4、用测试集对训练结束后的模型进行测试,评估模型误差。将测试集中待预测路段五天内的交通流数据如步骤1所示预处理方式组织为矩阵s,即可得到全部的n个检测断面的第六天交通流量预测值
步骤5、用训练结束并通过测试的lstm-fc网络对实际道路流量进行预测,输入待预测路段五天内的交通流数据即可预测路段未来交通流量。