Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content
/ STGCN Public
forked from hazdzz/STGCN

The PyTorch version of STGCN implemented by the paper with tons of bugs fixed.

License

Notifications You must be signed in to change notification settings

leon93/STGCN

 
 

Repository files navigation

Spatio-Temporal Graph Convolutional Networks

issues forks stars License

About

The PyTorch version of STGCN implemented by the paper Spatio-Temporal Graph Convolutional Networks: A Deep Learning Framework for Traffic Forecasting with tons of bugs fixed.

Paper

https://arxiv.org/abs/1709.04875

Related works

  1. TCN: An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling
  2. GLU and GTU: Language Modeling with Gated Convolutional Networks
  3. ChebyNet: Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering
  4. GCN: Semi-Supervised Classification with Graph Convolutional Networks

Related code

  1. TCN: https://github.com/locuslab/TCN
  2. ChebyNet: https://github.com/mdeff/cnn_graph
  3. GCN: https://github.com/tkipf/pygcn

Dataset

Source

  1. METR-LA: DCRNN author's Google Drive
  2. PEMS-BAY: DCRNN author's Google Drive
  3. PeMSD7(M): STGCN author's GitHub repository

Preprocessing

Using the formula from ChebyNet

Model structure

Differents of code between mine and author's

  1. Fix tons of bugs
  2. Add Early Stopping approach
  3. Add Dropout approach
  4. Offer a different set of hyperparameters
  5. Offer config files for two different categories graph convolution
  6. Add datasets METR-LA and PEMS-BAY
  7. Using a different data preprocessing method

Requirements

To install requirements:

pip3 install -r requirements.txt

Experimental results

METR-LA (15/30/60 mins) (train: val: test = 70: 15: 15)

15 mins (H=3)

Model (paper) Model (code) Laplacian matrix type Gated activation function MAE RMSE WMAPE
STGCN (Cheb) STGCN_ChebConv (Ks=3, Kt=3) sym GLU 3.825249 7.949693 7.530186%
STGCN (1st) STGCN_GCNConv (Kt=3) sym GLU 3.703660 7.685864 7.290832%

30 mins (H=6)

Model (paper) Model (code) Laplacian matrix type Gated activation function MAE RMSE WMAPE
STGCN (Cheb) STGCN_ChebConv (Ks=3, Kt=3) sym GLU 4.789775 9.501917 9.430166%
STGCN (1st) STGCN_GCNConv (Kt=3) sym GLU 4.518740 8.863177 8.896550%

60 mins (H=12)

Model (paper) Model (code) Laplacian matrix type Gated activation function MAE RMSE WMAPE
STGCN (Cheb) STGCN_ChebConv (Ks=3, Kt=3) sym GLU 6.047641 11.888628 11.909882%
STGCN (1st) STGCN_GCNConv (Kt=3) sym GLU 5.997484 11.498759 11.811108%

PEMS-BAY (15/30/60 mins) (train: val: test = 70: 15: 15)

15 mins (H=3)

Model (paper) Model (code) Laplacian matrix type Gated activation function MAE RMSE WMAPE
STGCN (Cheb) STGCN_ChebConv (Ks=3, Kt=3) sym GLU 1.504175 3.031081 2.420486%
STGCN (1st) STGCN_GCNConv (Kt=3) sym GLU 1.472308 2.987471 2.369206%

30 mins (H=6)

Model (paper) Model (code) Laplacian matrix type Gated activation function MAE RMSE WMAPE
STGCN (Cheb) STGCN_ChebConv (Ks=3, Kt=3) sym GLU 1.919455 3.964940 3.088833%
STGCN (1st) STGCN_GCNConv (Kt=3) sym GLU 1.910708 3.948517 3.074757%

60 mins (H=12)

Model (paper) Model (code) Laplacian matrix type Gated activation function MAE RMSE WMAPE
STGCN (Cheb) STGCN_ChebConv (Ks=3, Kt=3) sym GLU 2.308847 4.690512 3.715672%
STGCN (1st) STGCN_GCNConv (Kt=3) sym GLU 2.306092 4.701984 3.711238%

About

The PyTorch version of STGCN implemented by the paper with tons of bugs fixed.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%