天池智慧交通大赛根据Top团队经验总结

时间:2024-05-20 14:27:59

最近一个月来一直在看各种交通预测的论文和算法,今天做个阶段性总结:

在当下深度学习大热的情况下,交通领域Deep Learnig应用很少,目前最新有关交通预测的论文出现几篇有关deeplearning(Short-Term Traffic State Prediction Based on the Spatiotemporal Features of Critical Road Sections)。而具体应用于实际数据的很少,所以在天池智慧交通大赛中,看看各位团队所应用的方法。排在top的参赛队,大多使用竞赛常用算法XGboost,在此我也推荐一篇介绍XGboost原理很详细且通俗易懂的博客   

https://blog.****.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示意网络结构

天池智慧交通大赛根据Top团队经验总结

 

Simple Conv1D示意网络结构

天池智慧交通大赛根据Top团队经验总结

 

Graph Convolution 模型

•设计灵感:

 

  1. •in links 和 out links 需要区别对待
  2. •2 维卷积拆开,变成 3 个一维卷积,分别对应 Win, Wout, Wself
  3. •借鉴 Recursive NN 和 Tree Conv 模型,不同的关系需要不同的参数 处理,同一关系共享参数

 

 

Graph Conv 模型使用特征

通过时间,link属性特征,时间指示特征(day_of_week, isweekday, hour_of_day, …)

 

Graph Conv2D 层计算公式

天池智慧交通大赛根据Top团队经验总结

 

 

Graph Conv 理论基础

基于图谱卷积理论

天池智慧交通大赛根据Top团队经验总结

 

相关图卷积模型论文:

 

  1. •Spectral Networks and Locally Connected Networks on Graphs (ICLR 2014)
  2. •Learning Convolutional Neural Networks for Graphs (ICML 2016)
  3. •Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering (NIPS 2016)
  4. •Semi-Supervised Classi cation with Graph Convolutional Networks (ICLR 2017)

 

使用拓扑邻接矩阵抽特征

 

  1. •使用拓扑的邻接矩阵A_in | A_out 从路况特征中抽取拓扑路况特征
  2. •拓扑路况特征和原始特征连接到一块,一起送入LSTM/Conv1D
  3. •在特征层进行拓扑空间相关性建模
  4. •需要仔细的对拓扑邻接矩阵进行归一化,仿照Laplacian矩阵的归一化方式

 

LightGBM建模

使用特征:

•时间特征:是否是节假日、小时、分钟等

•道路属性:长度、宽度等

•拓扑结构特征:link图中心度、LINE算法将link转换为向量表示

•路况统计特征:

 

  1. •以不同时间粒度、不同时间窗口取历史同一时刻的最大值、平均值、最小值、中位数、方差等
  2. •类似的过去一个小时的统一特征

 

LightGBM实现:

 

  1. •针对MAPE的评价指标,对于每条样本赋予 1/y 的权重,然后采用MAE的损失函数
  2. •采用不同参数训练不同的模型,最后将所有得到的结果进行平均作为最后的传统模型结果

 

创新点和总结

创新点:

  1.  首次将Graph Convolution针对交通路况预测问题进行改进,使其成功应用在该问题上。
  2. 首次使用邻接矩阵抽特征的方式,将拓扑图结构的空间相关性在特征层建模出来,使得时序神经网络模型/传统机器学习方法也能够处理复杂图结构的空间相关性问题。