/temporal-mgn

Repo containing the code for the Temporal Multiresolution Graph Network

Primary LanguagePythonMIT LicenseMIT

Data

COVID-19 Dataset

Source

We borrow the COVID-19 dataset from the original Transfer Graph Neural Networks for Pandemic Forecasting paper. If you find the datasets useful in your research, please consider adding the following citation from the source paper:

@inproceedings{panagopoulos2020transfer,
  title={{Transfer Graph Neural Networks for Pandemic Forecasting}},
  author={Panagopoulos, George and Nikolentzos, Giannis and Vazirgiannis, Michalis},
  booktitle={Proceedings of the 35th AAAI Conference on Artificial Intelligence},
  year={2021},
}

Labels

Gathered is the ground truth for number of confirmed cases per region through open data for Italy, England, France and Spain. The data have been preprocessed and the final versions are in each country's subfolder in the data folder.

Graphs

The graphs are formed using the movement data from Meta's Data for Good Disease Prevention maps. More specifically, the data used is the total number of people moving daily from one region to another, using the Movement between Administrative Regions datasets. The authors of the original paper can share an aggregated and diminished version which was used for their and our experiments. These can be found inside the "graphs" folder of each country. These include the mobility maps between administrative regions that we use in our experiments until 12/5/2020, starting from 13/3 for England, 12/3 for Spain, 10/3 for France and 24/2 for Italy. The mapplots require the gadm1_nuts3_counties_sf_format.Rds file which can be found at the Social Connectedness Index data.

Hungary Chickenpox Dataset

A dataset of county level chickenpox cases in Hungary between 2004 and 2014. The dataset was made public during the development of PyTorch Geometric Temporal. The underlying graph is static - vertices are counties and edges are neighbourhoods. Vertex features are lagged weekly counts of the chickenpox cases (4 lags included). The target is the weekly number of cases for the upcoming week (signed integers). The dataset consist of more than 500 snapshots (weeks).

Code Execution

Requirements

To run this code you will need the following python and R packages:

Run

COVID datasets TMGNN

To run the experiments with the default settings:

cd covid/code
python experiments_multiresolution.py

To run the baseline models:

cd covid/code
python experiments.py

Use the script gather_for_map.py to aggregate data in the output folder to produce the map plots and the tl_base.py for the TL_BASE baseline. Use the error_case_maps.R to plot the maps of England (adjust it for the other countries).

Hungary Chickenpox Dataset TMGN

To run the experiments with the default settings:

cd chickenpox
python experiments_hungary.py

Experiments

  • experiments_multiresolution: Testing source Multiresolution Graph Network model from paper Multiresolution Equivariant Graph Variational Autoencoder and the enhanced temporal model Temporal MGN on COVID data of four countries, predicting the number of cases at each location the next day. Underlying graphs are topologially static, with changing node features (past number of cases at each node) and edge features. TMGN code is written in the style of the original code from Panagopoulos et al., 2020.
  • experiments_hungary: Testing Temporal MGN model on Hungary Chickenpox dataset, given that the underlying graph is topologically static (only changing node features: number of cases from a predetermined past time window). Model predicts the number of cases at each node in the graph for the following day, 10 days, 20 days, and 40 days.

Contributors

Citations

@article{Panagopoulos_Nikolentzos_Vazirgiannis_2021, 
  title={Transfer Graph Neural Networks for Pandemic Forecasting}, 
  volume={35}, 
  url={https://ojs.aaai.org/index.php/AAAI/article/view/16616}, 
  number={6}, 
  journal={Proceedings of the AAAI Conference on Artificial Intelligence}, 
  author={Panagopoulos, George and Nikolentzos, Giannis and Vazirgiannis, Michalis}, 
  year={2021}, 
  month={May}, 
  pages={4838-4845} }
@misc{https://doi.org/10.48550/arxiv.2102.08100,
  doi = {10.48550/ARXIV.2102.08100},
  url = {https://arxiv.org/abs/2102.08100},
  author = {Rozemberczki, Benedek and Scherer, Paul and Kiss, Oliver and Sarkar, Rik and Ferenci, Tamas},
  keywords = {Machine Learning (cs.LG), Artificial Intelligence (cs.AI), FOS: Computer and information sciences, FOS: Computer and information sciences},
  title = {Chickenpox Cases in Hungary: a Benchmark Dataset for Spatiotemporal Signal Processing with Graph Neural Networks},
  publisher = {arXiv},
  year = {2021},
  copyright = {arXiv.org perpetual, non-exclusive license}
}