回归预测 | MATLAB实现CNN-BiLSTM(卷积双向长短期记忆神经网络

效果一览

基本介绍

提出一种同时考虑时间与空间因素的卷积-双向长短期记忆( CNN-BiLSTM)模型,将具有空间局部特征提取能力的卷积神经网络(CNN)和具有能同时考虑前后方向长时间信息的双向长短期记忆(BiLSTM)相结合,将其用于预测更能体现随时空变化不断波动的交通流量。

研究回顾

  • 目前已有大量关于交通流量预测的研究成果,早期的方法有传统线性预测法,线性预测方法简单易操作,但不能很好地反映不规律的交通流状态,为适应不断波动的交通流,又出现了传统非线性预测方法。后随着计算机技术的发展以及人们对准确实时交通的掌握,出现了现代智能预测方法,如基于机器学习和深度学习的预测方法。由于单个方法会出现或多或少的缺陷,近些年出现了组合预测方法,该方法是将不同预测方法组合,弥补单个预测方法的缺点,以达到更好的预测效果。

  • A 估算了无法获得交通数据的交通网络中所有路段的交通流量,但只能预测后短时交通流。

  • D 将时间序列分析问题转化为图像分析任务,提出的模型具有预测路网不完整流量数据的能力,但这些深层网络具有复杂的架构,且可解释性较弱。

  • H 分层时间记忆具有作为短期交通流量预测的有效工具潜力,其效果与 LSTM 相当,且在交通流量分布发生变化时得到改善,但不能很好地从模型输出中检测异常流量,并将其用于推断异常事件的存在。

  • C 将机器学习算法与统计模型相继连接,通过 ARIMA 分析对其进行后处理,从而显著提高预测的准确性,局限性在于机器学习算法只考虑了最简单的传统神经网络。

  • M 等将神经网络和模糊逻辑的互补功能相结合,在短期交通流量预测上取得了令人满意的成绩。

  • L 等提出了一种基于 SAE 模型提取交通流抽象和潜在特征的方法,但当交通流量较小时,观察流量与预测流量之间的微小差异会导致较大的相对误差。

模型结构

该模型由输入层、CNN 层、BiLSTM 层、全连接层和输出层组成,CNN 层由卷积层和最大池化层堆叠组成,BiLSTM 层由一层 BiLSTM 堆叠成,分别在 CNN 层和 BiLSTM 层的末尾加上 Dropout 层随机丢弃节点,以防止过拟合。 LSTM 模型解决了循环神经网络 RNN 的长期依赖问题,独特的"门"结构能够避免梯度爆炸和梯度消失,且具有长时记忆能力强的优点。BiLSTM 在具备 LSTM 优势的同时,还能在时间维度上考虑前向和后向的双向时间序列信息,预测更加全面准确。CNN 适合提取局部空间特征,BiLSTM 兼顾双向时间序列信息结合,可以从时空特性上更周全地分析交通流量数据,使预测结果的拟合度更高。

学习总结

针对交通流量序列存在的时空相关性等特征,文中提出了一种结合 CNN 与 BiLSTM 各自优点的 CNN-BiLSTM 模型。CNN-BiLSTM 模型通过 CNN 和 LSTM 分别提取空间和时间特征,通过实例验证分析表明:相比于其他基准模型,文中的模型能够较好地适应不断波动的交通流量数据,早高峰和晚高峰预测的稳定性和精度均较高。

相关推荐
GuYue.bing8 分钟前
网络下载ts流媒体
开发语言·python
斌斌_____12 分钟前
Spring Boot 配置文件的加载顺序
java·spring boot·后端
牛顿喜欢吃苹果20 分钟前
linux创建虚拟串口
python
路在脚下@21 分钟前
Spring如何处理循环依赖
java·后端·spring
-Mr_X-28 分钟前
FFmpeg在python里推流被处理过的视频流
python·ffmpeg
一个不秃头的 程序员44 分钟前
代码加入SFTP JAVA ---(小白篇3)
java·python·github
susu10830189111 小时前
python实现根据搜索关键词爬取某宝商品信息
爬虫·python
丁总学Java1 小时前
--spring.profiles.active=prod
java·spring
上等猿1 小时前
集合stream
java
java1234_小锋1 小时前
MyBatis如何处理延迟加载?
java·开发语言