Coder Social home page Coder Social logo

stpn's Introduction

Spatiotemporal Propagation Learning for Network-Wide Flight Delay Prediction

MIT License Python 3.9 GitHub stars

This is the code corresponding to the experiments conducted for our paper "Spatiotemporal Propagation Learning for Network-Wide Flight Delay Prediction"

About this Project

We develop a space-time separable multi-graph convolutional network for learning airport network delay propagation patterns. The model is applied to multi-step ahead arrival and departure delay prediction. The aim of this project relates to a fundamental question in spatiotemporal modeling -- how to accurately and efficiently model spatiotemporal dependencies.

Dataset

The data used in this paper can be downloaded from Baidu drive(code: vz59).

Tasks and Challenges

This example shows that the complexity of spatiotemporal dependencies within airport network delay lies in the following four aspects: 1) Exogenous Factors (powerful snow in this figure), 2) Multi-relational Spatial Dependencies, 3) Coupled Spatiotemporal Effects, 4) Departure-Arrival Delay Relationship.

Model implementation

The proposed model leverages the spatiotemporal propagation patterns learned from historical departure/arrival delays and external factors (weather conditions) to forecast the long-term future departure/arrival delays. The propagation patterns are learned by space-time separable multi-graph convolution, which considers the joint space-time interaction between airports. The given figure illustrates the basic building block of STPN. The effects of geographic proximity, weather conditions, and traffic volume on delay propagation are incorporated into STPN.

Example commands for running our model

To use the code, please first obtain the datasets from Baidu drive(code: vz59). Then place China and US datasets in cdata and udata respectively. The original datasets are collected from U.S. Bureau of Transportation Statistics and Xiecheng.

We can train a U.S airport delay forecastor as following:

python training_u.py \
			--train_val_ratio 0.6 0.3 --use_se False \
			--heads 2

Then, we use 60% data as training data, 30% data as validation data, and 10% as test data. For the model configuration, we do not use SE-block for feature importance recalibration, and we only use 2 heads self-attention for temporal attention learning.

You can directly run

python training_u.py

This is the default training methods we used in our paper.

For testing

python test_u.py --in_len 6

You can change the length of input sequence, since we use a self-attention model to learn temporal dependencies. The length of the inputs does not significantly influence our model.

Additional results on forecasting traffic flow

STPN also is a competitive forecastor for general spatiotemporal forecasting task.

Methods SVR LSTM STGCN Gwave STFGNN AGCRN STPN
Datasets Metrics
MAE 21.07 21.33 17.49 19.85 16.77 15.98
PeMS03 MAPE 21.07 23.33 17.15 19.31 16.30 15.23
RMSE 35.29 35.11 30.12 19.31 28.34 28.25
MAE 28.70 27.14 22.70 25.45 19.83 19.83
PeMS04 MAPE 19.20 18.20 14.59 17.29 13.02 12.97
RMSE 44.56 41.59 35.55 39.70 31.88 32.30
MAE 32.49 29.98 25.38 26.85 22.07 22.37
PeMS07 MAPE 14.26 13.20 11.08 12.12 9.21 9.21
RMSE 50.22 45.84 38.78 42.78 35.80 36.55
MAE 23.25 22.20 18.02 19.13 16.64 15.95
PeMS08 MAPE 14.64 14.20 11.40 12.68 10.60 10.09
RMSE 36.16 34.06 27.83 31.05 26.22 25.22

stpn's People

Contributors

kaimaoge avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.