课题名称:基于GRNN神经网络的短时交通流量预测
版本时间:2023-04-27
代码获取方式:QQ:491052175 或者 私聊博主获取
模型简介:
城市交通路网中交通路段上某时刻的交通流量与本路段前几个时段的交通流量有关,并且交通流量具有24小时内准周期的特性。首先采集4 天的交通流量数据,每隔15 分钟记录一次该段时间内的交通流量,一共记录384个时间点的数据。用3天共288 个交通流量的数据训练小波神经网络,最后用训练好的小波神经网络预测第4 天的交通流量。仿真拟采用前4个时间节点的交通流量预测。第5个时间节点;即可以理解为第1-4节点预测第5个节点,第2-5节点预测第6个节点,依次类推构建训练数据和测试数据。一天96个时间节点,按照上述逻辑可以组合92组数据;那么3天288个时间节点可以组合276组5维数据(这里需要注意的是,只能当天数据组合模型数据,故3天可以得到92*3=276组数据)。测试数据为第4天的96个节点,可以组合92组5维测试数据。BP神经网络的构建确定BP神经网络结构。本案例采用的BP神经网络的输入层有4个节点,表示预测时间节点前4个时间点的交通流量;隐含层有通过遍历求误差最小的隐含层节点;输出层有1节点,为网络预测的交通流量。
关于数据:
为什么288个交通流量数据,最后训练数据input=276*4;output=276*1 ?因为一天总共96组时间节点的交通流量;因为前4个节点预测第5个节点,故第1、2、3、4作为第一组训练输入,第5天作为第一组输出;第2、3、4、5作为第二组训练输入,第6天作为第二组输出....,最后,第92、93、94、95作为第92组输入,第96个节点作为第92组输出。所以一天96个节点最后只能有92组4维输入和1为输出。所以测试数据input_test和output_test是92*4和92*1。
GRNN神经网络调用格式:
net=newgrnn(P,T,SPREAD),其中, P为Q 组输入向量组成的R*Q维矩阵; T为Q组目标分类向量组成的S*Q维矩阵;SPREAD为径向基函数的扩展速度,默认值为1
改进方向:无
待改进方向:
1. 因为训练数据比较少,为了提高预测精度,通过交叉验证并不断迭代寻找最佳的SPREAD值,最后应用于GRNN神经网络里。相比于固定的SPREAD值而言,自适应求解SPREAD值的方式可以更好地提高预测精度
特殊说明:
神经网络每一次的预测结果都不相同,为了得到更好的结果,建议多次运行取最佳值。
Matlab仿真结果:
基于GRNN神经网络短时交通流量预测的预测输出
基于GRNN神经网络短时交通流量预测的预测误差
基于GRNN神经网络短时交通流量预测的预测误差百分比
#由于前20个样本的数据过小,导致误差百分比被拉高