这篇论文主要讲述了使用成都的出租车轨迹数据进行建模后生成出行强度图,使用CNN和LSTM进行学习之后通过反卷积生成出行强度预测图。非常适合上手这个领域,主要有两点原因:第一 出租车出行强度只包含了上车下车的频次信息,不涉及OD,路线等复杂问题;第二使用的都是比较初级的网络结构,复现较为简单(误)。

最近好久没搞交通方向,应同学私信要求,我将在两周内,用三篇文章的篇幅对本文进行讲解,数据处理全过程以及代码复现(希望不会翻车),上篇对文章进行分析,后续实验在业余时间两周内完成。

数据集

文章地址 Real-Time Taxi-Passenger Prediction with L-CNN

作为改进出租车调配方法中的一个环节,出租车出行强度预测是比较重要的一环,在不考虑拥堵等问题的情况下,出租车资源向热点地区倾斜是直观的想法。对出行强度进行预测会涉及到三个方面:时间,空间,客观因素,因此以往的传统方法不能很好地满足准确性,简单性以及时效性。感觉就像做code一样,某个题目要求按照层顺序打印二叉树节点,首先无脑想到维护先入先出队列。。。同样看到时间,空间,最直白的网络结构进入脑海:LSTM,CNN。再说下数据输入,这篇文章利用出租车的GPS数据,得到不同上车下车地点的坐标,然后把成都市用500米*500米方格进行划分,统计每个方格的上下车次数,生成如下的图像

下面的任务就是用网络学习这个强度图再空间以及时间顺序上的特点,再生成新的强度图。

Nijt就是ij块方格t时段的是上下车数量,C是一系列操作(指代网络),中间的i,j是不同格子的相对位置

整体网络结构如下 50*50的强度图输入,进行多次卷积后和embedding层(天气之类的)搞成一个高维向量,再进入到LSTM中,最后反卷积生成结果图

生成图像走的下面两个式子G,D是当前交通强度图和天气等因素客观描述,h(t)是lstm的隐藏空间

Loss用的是生成强度图和实际强度图之间的差距,文章用的online-learning,也就是使用它所有历史数据进行学习,如果有新的数据就继续学。

在训练过程中有两点注意:h (t)再每天开始都有个初始值

模型是一个个时间step演进的,如果想求多个时间间隔之后的数据需要一个个时间点生成

数据预处理

数据格式如上所示,百度网盘限速数据还没下完,作者说用了排序,因此我猜想数据是按照每个时间点不同出租车id混杂在一起的,因此需要id +时间排序,找到FLAG变化的点(0,1代表空重车)。这么多数据直接用python排序十多个G的数据会很慢,用spark一句话就搞定(scala语法简洁得一批)当然spark集群需要给力,类似的数据之前排过,大概三四分钟就排好了,下一篇详细说数据处理问题。

结果是上面的样子,结果是root mean square error

第一个方法是简单的启发式预测(感觉根据之前格子的信息生成的)

第二个方法是本文方法但是不用embedding

第三个方法是本文方法

作者提到模型普遍在夜晚精度差一点,是因为数据集的周末数据较少而周末是成都人民大批出动打车逛该的时候。。。

本周内出中篇:数据预处理,快速找出乘客换乘坐标不同思路以及解决方法,GPS数据可视化

再晚些时候出下篇 : 模型复现(很多细节都文章都未给出,瑟瑟发抖)

cnn 预测过程代码_【交通+AI】使用CNN+LSTM实时出租车出行预测(上)相关推荐

  1. cnn 预测过程代码_代码实践 | CNN卷积神经网络之文本分类

    学习目录阿力阿哩哩:深度学习 | 学习目录​zhuanlan.zhihu.com 前面我们介绍了:阿力阿哩哩:一文掌握CNN卷积神经网络​zhuanlan.zhihu.com阿力阿哩哩:代码实践|全连 ...

  2. 机器学习之MATLAB代码--MATLAB量子粒子群优化LSTM超参数负荷预测(十三)

    机器学习之MATLAB代码--MATLAB量子粒子群优化LSTM超参数负荷预测(十三) 代码 数据 结果 代码 代码按照下列顺序依次: 1. function result(true_value,pr ...

  3. cnn 预测过程代码_FPN的Tensorflow代码详解——特征提取

    @TOC   特征金字塔网络最早于2017年发表于CVPR,与Faster RCNN相比其在多池度特征预测的方式使得其在小目标预测上取得了较好的效果.FPN也作为mmdeteciton的Neck模块, ...

  4. cnn卷积神经网络应用_卷积神经网络(CNN):应用的核心概念

    cnn卷积神经网络应用 In this tutorial, we'll work through the core concepts of convolutional neural networks ...

  5. cnn验证码识别代码_中文项目:快速识别验证码,CNN也能为爬虫保驾护航

    原标题:中文项目:快速识别验证码,CNN也能为爬虫保驾护航 机器之心专栏 作者:Nick Li 随着卷积网络的推广,现在有各种各样的快捷应用,例如识别验证码和数学公式等.本文介绍了一个便捷的验证码识别 ...

  6. python四瓣花代码_小蛇学python(14)K-means预测花朵种类

    承接上一篇有关如何处理数据的文章,这一篇,我们来一次实战,让大家感受一下这个过程. Iris数据集是一个比较特别的数据集,早在1936年Ronald Fisher就将此数据集用于了数据挖掘实验.Fis ...

  7. bp神经网络预测python代码_机器学习之多层神经网络(附Python代码和数据)

    1 引言 多层神经网络,Multiple-layers Perceptron (MLP),又被称为多层感知机,是机器学习中深度学习的典型算法.关于多层神经网络的算法原理,我们在Stata和R实现的文章 ...

  8. python预测实例教程_手把手教你用Python库Keras做预测(附代码)-阿里云开发者社区...

    当你在Keras中选择好最合适的深度学习模型,就可以用它在新的数据实例上做预测了.但是很多初学者不知道该怎样做好这一点,我经常能看到下面这样的问题: "我应该如何用Keras对我的模型作出预 ...

  9. python 人民币兑美元汇率代码_人民币对美元汇率的大数据分析与预测【完整代码】...

    ## 导入所需的包 import pandas as pd import numpy as np import matplotlib.pyplot as plt import tensorflow a ...

最新文章

  1. CZoneSoft出品: 音频视频在线录制系列之 AV留言本 简介
  2. android 阴影背景显示文字_公众号排版如何做出“果冻”文字效果?
  3. iap如何初始化_IAP超级详解
  4. python单链表操作_单链表的创建、增删改查等操作(Python实现)
  5. 判断大小简单算法_JVM GC算法
  6. 为什么WordPress网站应尽量避免使用过多插件
  7. Pinyin4j 的使用 Pinyin4jUtils工具类
  8. Flickr 网站架构分析
  9. Select2异步ajax方式加载数据
  10. 系列教程丨用 Docker 探索开源软件 —— Elasticsearch(一)
  11. Lumion文件结构及Benchmark in progrees问题
  12. php 生成小程序码
  13. 设有一组初始记录关键字序列(K1,K2,…,Kn),要求设计一个算法能够在O(n)的时间复杂度内将线性表划分成两部分,其中左半部分的每个关键字均小于Ki,右半部分的每个关键字均大于Ki。
  14. 佳能6d2无线链接计算机操作,玩转EOS 6D无线WiFi功能三步骤
  15. #Excel公式应用#从数据透视表进一步汇总文本信息
  16. 如何倒出2两酒(5)
  17. 【学习记录】Tpro遥控器_暂时取消Tpro的控制权(简易)
  18. 康考迪亚大学获560万加元捐赠以鼓励创造力,是魁北克美术学院有史以来最大一笔捐赠
  19. View之背景虚化处理(头像作为背景模糊化处理)
  20. 数据中台建设方案-基于大数据平台(下)

热门文章

  1. HDU 5445 Food Problem 两次多重背包
  2. GBN,SR,TCP协议实现可靠数据传输的原理
  3. WebGl 球面计算公式
  4. Vue的简单入门操作(笔记)与前后端crud
  5. ios HXPhotoPicker swift5 图片视频选择器 选取图片 照片
  6. 常用汇编数据传输指令
  7. 微星msi GS66黑苹果安装引导包(OpenCore for macOS Monterey)
  8. 怎么用HTML5制作万花筒,简易万花筒制作详细步骤 手工万花筒的做法图解
  9. PWM信号通过功率三极管控制电机,PWM波形失真问题。
  10. NTC转RS-485,热敏电阻温度Modbus数据采集模块 WJ126