北邮牛琨老师的大作*《Real-Time Taxi-Passenger Prediction with L-CNN》*
写一下自己的收获。
本文是结合CNN与RNN(LSTM)来进行出行预测。
一、 基本思路
CNN提取空间特征,LSTM提取时间特征。
划分时间间隔(预测最小单元)为15min,只选取了上车点的数据进行分析(基于上车、下车有same pattern的假设)。
二、数据整合
流程图如下:
G(t)为t时刻的上车人数格网,将成都市划分为n*n个格网:
其中:
代表该时刻内该格网总的上车人数。
本文中的timestep为1,也即是利用前一个时刻的交通流量,预测下一个时刻的交通流量。根据这一点构建数据集,input为t时刻矩阵,label为t+1的矩阵。
三、训练与预测
结合CNN+LSTM:
CNN用来看懂图形
LSTM用来记住顺序
影像经过CNN处理之后得到一维序列,当做LSTM的基本处理单元。Timestep=1,在预测阶段,输入t时刻的交通流量矩阵,经过CNN处理后得到t时刻的一维序列,然后根据训练好的模型,得到了一个t+1时刻的序列,然后反卷积为t+1时刻的交通流量矩阵。
一共11天的数据,每一天都包含15分钟间隔的矩阵(深夜无数据,一共18h,每天183+1=55个矩阵)。如果要预测第11天9:00的,那么训练数据为前10天的全部,加上第11天的6:00到8:45的共计:1055+9=559个矩阵。每一个矩阵都首先通过卷积与线性relu,变成一个8:45分的序列。然后序列带入训练好的LSTM模型,得到9:00的时刻序列,之后通过反卷积,得到9:00的预测的交通矩阵。