最近一个月来一直在看各种交通预测的论文和算法,今天做个阶段性总结:
在当下深度学习大热的情况下,交通领域Deep Learnig应用很少,目前最新有关交通预测的论文出现几篇有关deeplearning(Short-Term Traffic State Prediction Based on the Spatiotemporal Features of Critical Road Sections)。而具体应用于实际数据的很少,所以在天池智慧交通大赛中,看看各位团队所应用的方法。排在top的参赛队,大多使用竞赛常用算法XGboost,在此我也推荐一篇介绍XGboost原理很详细且通俗易懂的博客
https://blog.csdn.net/github_38414650/article/details/76061893
而top1 使用的是Deeplearning,下面介绍下方法,也当做自己的笔记记录一下
目录
赛题分析
Deep learning建模
LightGBM建模
创新点和总结
赛题分析
根据 link 历史通过时间预测其未来一个小时内的通过时间。
两大属性:
1. 时间相关性
2. 空间相关性
Spatio-Temporal Graph structure data.
建模时序相对简单,并且方法有很多。
然而建模拓扑图结构的空间相关性当前还是一个比较热的研究领域,特别是使用深度学习的方法。
通过分析,该赛题主要有以下几点特性:
1. 长时预测,未来一个小时30个时间片都需要预测
2. 相邻links之前状态相互影响,拓扑图结构的空间相关性
3. 早晚高峰相对平峰更难预测
Deep learning 建模
尝试的深度模型有
1. 仅建模时间相关性
a) Simple LSTM
b) Simple Conv1D
2. 时空相关性同时建模
a) Graph Convolution (Main model)
b) 使用邻接矩阵抽特征,使得Simple LSTM/Conv1D也能同时建模时空相关性。
一些超参数:
1. Adam优化函数
2. Dropout 0.5控制过拟合
3. Simple LSTM是3层LSTM,其它神经网络模型都是10层并使用Residual Connect
4. MAPE loss
5. Early stopping控制过拟合
数据分析和处理
样本生成:
1. 当前时间片前一小时做特征,后一小时做Y值
2. 以一个时间片为步长进行滑窗生成样本
验证集构造:
训练数据中的最后一个月的早高峰样本,复赛同初赛设置
缺失值处理:
1. 设置mask值,指示某link某时间片是否缺失
2. mask值作为特征喂给神经网络,让神经网络学习对缺失值的处理
Simple LSTM/Conv1D使用特征
通过时间,通过速度,均值时间,均值速度,变换后的时间、速度,link属性特征,时间指示特征(day_of_week, isweekday, hour_of_day, …)
Simple LSTM示意网络结构
Simple Conv1D示意网络结构
Graph Convolution 模型
•设计灵感:
- •in links 和 out links 需要区别对待
- •2 维卷积拆开,变成 3 个一维卷积,分别对应 Win, Wout, Wself
- •借鉴 Recursive NN 和 Tree Conv 模型,不同的关系需要不同的参数 处理,同一关系共享参数
Graph Conv 模型使用特征
通过时间,link属性特征,时间指示特征(day_of_week, isweekday, hour_of_day, …)
Graph Conv2D 层计算公式
Graph Conv 理论基础
基于图谱卷积理论
相关图卷积模型论文:
- •Spectral Networks and Locally Connected Networks on Graphs (ICLR 2014)
- •Learning Convolutional Neural Networks for Graphs (ICML 2016)
- •Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering (NIPS 2016)
- •Semi-Supervised Classi cation with Graph Convolutional Networks (ICLR 2017)
使用拓扑邻接矩阵抽特征
- •使用拓扑的邻接矩阵A_in | A_out 从路况特征中抽取拓扑路况特征
- •拓扑路况特征和原始特征连接到一块,一起送入LSTM/Conv1D
- •在特征层进行拓扑空间相关性建模
- •需要仔细的对拓扑邻接矩阵进行归一化,仿照Laplacian矩阵的归一化方式
LightGBM建模
使用特征:
•时间特征:是否是节假日、小时、分钟等
•道路属性:长度、宽度等
•拓扑结构特征:link图中心度、LINE算法将link转换为向量表示
•路况统计特征:
- •以不同时间粒度、不同时间窗口取历史同一时刻的最大值、平均值、最小值、中位数、方差等
- •类似的过去一个小时的统一特征
LightGBM实现:
- •针对MAPE的评价指标,对于每条样本赋予 1/y 的权重,然后采用MAE的损失函数
- •采用不同参数训练不同的模型,最后将所有得到的结果进行平均作为最后的传统模型结果
创新点和总结
创新点:
- 首次将Graph Convolution针对交通路况预测问题进行改进,使其成功应用在该问题上。
- 首次使用邻接矩阵抽特征的方式,将拓扑图结构的空间相关性在特征层建模出来,使得时序神经网络模型/传统机器学习方法也能够处理复杂图结构的空间相关性问题。