交通预见未来 (5)基于深度学习的短时道路交通流预测

1、文章信息

《Short-Term Traffic Flow Prediction with Conv-LSTM》。

这篇文章是一篇会议论文,2017第九届无线通信与信号处理国际会议(WCSP),福州大学物理与信息工程学院的几位老师,被引10次。

2、主体内容

本文提出了一种基于深度学习的短时交通流预测方法。交通流数据包含三个主要特征:时间特征、空间特征和周期性特征。我们把CNN和LSTM结合起来生成一个ConvLSTM模块,用于提取交通流的时空特征,然后使用Bi-LSTM(双向LSTM,Keras中有相应模块)提取交通流的周期特征。

利用ConvLSTM模块对相邻区域的短时交通流数据进行处理,提取时空特征;利用双向LSTM对预测点历史交通数据进行处理,提取交通流数据的周期特征。提出了一种无需数据预处理和数据特征提取的端到端深度学习短时交通流预测体系结构。最后,集中时空特征和周期特征对交通流进行预测。

3、创新点

既使用了ConvLSTM,又使用了Bi-LSTM, 结构新颖。

4、大家比较关注的算法实现

我们将交通流数据映射到一维向量。我们将预测点的交通流数据放入向量中心,根据与预测点的距离,将其他点的交通流数据依距离放在该向量中心(预测点)两侧。

将不同时刻的一维空间信息向量组合成矩阵如下:

其中s表示预测点(一列代表一个预测点),t表示时间。

周期数据可以表示为以下矩阵:

其中d代表昨天的相同时刻,w代表上周的相同时刻。

上述数据矩阵即为本文提出的深度神经网络结构的输入数据。其中,损失函数为MSE,优化器为RMSprop。

4.1 ConvLSTM的结构

ConvLSTM的输入数据既为公式3.1。一行作为一个向量,代表着一个time step所有预测点之间的空间信息,我们使用一维Conv(Conv1D)对公式3.1中的每一行进行处理,自然也是利用一维卷积核滤波器(kernal size=1),通过滑动滤波器获取每个time step局部感知域的卷积信息(空间信息)。然后,将局部特征聚合成全局特征。

紧接着加池化层,不同之处在于池化滤波器不进行复杂的卷积运算。本文中使用一维平均池化层(AveragePooling1D)。通过池化将生成的特征序列C缩减到原维度的一半大小。这两种特征提取使得深度神经网络在处理交通流数据时具有更高的失真容忍度。

分别对时间序列向量(式3.1中的每一行)的各个元素进行卷积和池化处理后,输出结果变为时间序列向量Ct = (C1, C2, C3,…,Ct)。向量中的每个元素都是区域内各点间交通流的空间相关性。(该表达式中每个元素代表着一个行向量,行向量的维度比式3.1中行向量的维度要小,因为经过了池化)

上面得到的时间序列向量Ct即为LSTM的输入数据。

4.2 双向LSTM的结构(Bi-directional LSTM)

交通流也具有很强的周期性特征。本文将增加交通流的周期性特征作为补充信息来预测短期交通流。在提取交通流数据的周期性特征时,我们会同时处理前一天的同一时间和上一周的同一时间的交通流信息。在处理了历史信息后,得到了全时间序列数据(我想应该是将上一周的数据和前一天的数据放到预测当天数据的前面,组成全时间序列数据以获取周期性信息。)。

双向LSTM的结构由上下堆叠的两个单向LSTM组成。因此,Bi-LSTM输入包含预测时间前后的时间序列,在每个T时刻,输入序列被输入给两个方向相反LSTM,输出由两个LSTM决定。每个反向LSTM的误差传播与正向LSTM传播算法相同。Bi-LSTM结构如下图所示,其中xi为LSTM的输入,Of为正向LSTM的输出,Ob表示反向LSTM的输出。

简单来说,就是再Keras中将LSTM换成Bidirectional(LSTM)即可。一些细节信息例如使用了多少个timestep, 历史数据如何处理输入到Bi-LSTM中,池化前后的维度变化 等,文章交代的并不清楚,毕竟会议论文。

关注微信公众号《当交通遇上机器学习》,后台回复“数据”即可获取高达175G的四个月的滴滴GPS数据和滴滴订单数据的获取方式,以及从数据处理(Oracle数据库)、模型构建(机器学习)、编程实现(python)到可视化(ArcGIS)等一系列视频教程。

公众号以交通大数据为主线,专注于人工智能、机器学习、深度学习在道路交通和轨道交通领域内的科研前沿与应用,在交通大数据与机器学习的道路上越走越远!

(5)基于深度学习的短时道路交通流预测相关推荐

  1. DeepRMethylSite:一种基于深度学习的蛋白质精氨酸甲基化位点预测方法

    DeepRMethylSite:一种基于深度学习的蛋白质精氨酸甲基化位点预测方法 https://www.researchgate.net/publication/341890599_DeepRMet ...

  2. 基于深度学习的可解释特征准确预测混凝土抗压强度

    基于深度学习的可解释特征准确预测混凝土抗压强度 Accurate prediction of concrete compressive strength based on explainable fe ...

  3. 基于深度学习的泰坦尼克旅客生存预测

    基于深度学习的泰坦尼克旅客生存预测 摘要:近年来,随着深度学习的迅速发展和崛起,尤其在图像分类方向取得了巨大的成就.本文实验基于Windows10系统,仿真软件用的是Anaconda下基于python ...

  4. 【论文阅读】Attention Based Spatial-Temporal GCN...Traffic Flow Forecasting[基于注意力的时空图卷积网络交通流预测](1)

    [论文阅读]Attention Based Spatial-Temporal Graph Convolutional Networks for Traffic Flow Forecasting[基于注 ...

  5. 基于深度学习的无人驾驶道路检测

    最近在自学深度学习,网上有很多计算机视觉比赛和资源,比如kaggle,天池 ,百度飞浆,paddle现在做得越来越好,于是我就选择了百度飞浆,支持国产开源框架,也自己跑通了代码,以此记录一下学习过程, ...

  6. 论文解读:《DeepSuccinylSite:基于深度学习的蛋白质琥珀酰化位点预测方法》

    论文解读:<DeepSuccinylSite:a deep learning based approach for protein succinylation site prediction&g ...

  7. android限速 编程,GitHub - renjingc/TrafficSignsRecognition: 基于深度学习的android端交通牌标志检测与识别...

    TrafficSignsRecognition 基于android断的限速牌识别,并且实时地报出限速数字,并且只报一次 程序使用android studio开发,使用的语言是java和c++混合编程的 ...

  8. 基于深度学习的多特征电力负荷预测(Python代码实现)

  9. 机器学习_深度学习毕设题目汇总——交通

    下面是该类的一些题目: 题目 交通标志检测与识别研究 交通路口异常事件检测及识别技术研究 城市道路交通信号区域均衡控制方法及应用研究 城市道路交通网络动态特征分析关键技术研究 基于卷积神经网络的交通密 ...

最新文章

  1. 使用javascript开发2048
  2. hadoopHA自动切换不成功的坑
  3. WWW 2020 | 信息检索中的对话式问题建议
  4. 【Java报错】java.lang.ClassCastException: xxxClass cannot be cast to java.lang.Comparable 问题重现+解决
  5. 一个程序员的水平能差到什么程度
  6. 大数据学习之路——新闻大数据的增值应用
  7. [C++11] 新特性总结
  8. centos上TURN服务器搭建及测试
  9. 高性能服务器电源接口,服务器电源规范解析
  10. 中国诺贝尔物理学奖所有获得者名单(转)
  11. 魏晋名士:骂人都不带脏字
  12. Android 视频边下边播,MP4头信息在后调整头信息
  13. Unity 3D模型展示之控制标注
  14. 有一些C++基础的同学们如何喝下你的第一杯咖啡?
  15. Cypress触摸芯片自己做的demo 代码
  16. C# Base64编码、AES等编码加、解密
  17. 达梦数据库删除用户_干货分享丨DM8用户管理
  18. 2022危险化学品经营单位安全管理人员考试练习题及在线模拟考试
  19. Go语言开发k8s-04-Service操作
  20. Qt图形视图框架--图元总结

热门文章

  1. Zynq UltraScale+ MPSoC智能视频平台1:Camera Link接收IP
  2. Jmeter电商系统压测实战一
  3. C# WebBrowser无法跳转默认浏览器问题
  4. 关于解压 tar.gz的问题
  5. 【LED 大屏】是如何安装的、带你了解整个过程
  6. U盘速度【CrystalDiskMark】
  7. Python使用网络抓包的方式,利用超级鹰平台识别验证码登录爬取古诗文网、上篇--识别验证码
  8. C# 将图片字符化(转为ASCII字符)
  9. QT GUI开发(一):保姆级VS2015配置QT开发环境
  10. 微信小程序——服务通知,发送订阅消息