/CDVGM

Official code of the paper Combined Dynamic Virtual Spatiotemporal Graph Mapping for Traffic Prediction

Primary LanguagePythonOtherNOASSERTION

Combined Dynamic Virtual Spatiotemporal Graph Mapping




images

Abstract

The continuous expansion of the urban construction scale has recently contributed to the demand for the dynamics of traffic intersections that are managed, making adaptive modellings become a hot topic. Existing deep learning methods are powerful to fit complex heterogeneous graphs. However, they still have drawbacks, which can be roughly classified into two categories, 1) spatiotemporal async-modelling approaches separately consider temporal and spatial dependencies, resulting in weak generalization and large instability while aggregating; 2) spatiotemporal sync-modelling is hard to capture long-term temporal dependencies because of the local receptive field. In order to overcome above challenges, a Combined Dynamic Virtual spatiotemporal Graph Mapping (CDVGM) is proposed in this work. The contributions are the following: 1) a dynamic virtual graph Laplacian (DV GL) is designed, which considers both the spatial signal passing and the temporal features simultaneously; 2) the Longterm Temporal Strengthen model (LT2S) for improving the stability of time series forecasting; Extensive experiments demonstrate that CDVGM has excellent performances of fast convergence speed and low resource consumption and achieves the current SOTA effect in terms of both accuracy and generalization.

Citation

@article{pu2022combined,
  title={Combined Dynamic Virtual Spatiotemporal Graph Mapping for Traffic Prediction},
  author={Pu, Yingming},
  journal={arXiv preprint arXiv:2210.00704},
  year={2022}
}

Prepare the environment easily

  • python >= 3.7.4
  • pytorch >= 1.8.1 (CUDA)
  • numpy, scipy, sk-learn, pandas, tqdm
  • other packages that related above. Here is the steps:
conda create -n cdvgm python=3.7.4
conda activate cdvgm
conda install numpy scipy sk-learn pandas tqdm

Then, install pytroch by following official guidance step by step.

Note that, our code is tested successfully on Linux and Windows10 with any GPU with at least 6GB v-memory.

About Dataset

Make sure you have corrected the file name.
First you should try PEMSD8 & PEMSD4, then PEMSD3 and PEMSD7.

About Running

Check the run.py with your custom configs (don't nned to care about all others).
Then just ruuuuuuuuuuuun it!

About training log

The log will be saved at ./root/ dir.

Acknowledgment

  • This repo is based on DGCN (Guo et al.), which is excellent, useful, and helpful, here faithfully thanks a lot.

License

All rights reserved. Licensed under the CC BY-NC-SA 4.0 (Attribution-NonCommercial-ShareAlike 4.0 International). The code is released for academic research use only.