https://github.com/blutjens/graphino
Code associated with the paper "The World as a Graph: Improving El Niño Forecasting with Graph Neural Networks". This paper is currently under review.
Science Score: 10.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
○DOI references
-
✓Academic publication links
Links to: arxiv.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.0%) to scientific vocabulary
Repository
Code associated with the paper "The World as a Graph: Improving El Niño Forecasting with Graph Neural Networks". This paper is currently under review.
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
The World as a Graph: Improved El Nino Forecasts with Graph Neural Networks
Link to paper (under review currently)
Deep learning-based models have recently outperformed state-of-the-art seasonal forecasting models, such as for predicting
El Ni~no-Southern Oscillation (ENSO).
However, current deep learning models are based on convolutional neural networks which are difficult to interpret and can fail to model large-scale atmospheric patterns. In comparison, graph neural networks (GNNs) are capable of modeling large-scale spatial dependencies and are more interpretable due to the explicit modeling of information flow through edge connections.
We propose the first application of graph neural networks to seasonal forecasting.
We design a novel graph connectivity learning module that enables our GNN model to learn large-scale spatial interactions jointly with the actual ENSO forecasting task.
Our model, \graphino, outperforms state-of-the-art deep learning-based
models for forecasts up to six months ahead.
Additionally, we show that our model is more interpretable as it learns sensible connectivity structures that correlate with the ENSO anomaly pattern.
Data setup
- Download the datasets from this link
- Place the downloaded data into this subfolder (which already has the correct substructure with subdirs SODA, GODAS, CMIP5_CNN).
Environment setup
Please follow the instructions in this file.
Models
All reported models (4 per #lead months) are provided in the out directory. To reload them & ensemble them as in the paper (and get the reported all season correlation skills), you may run the eval_gcn script for a given number of lead months/horizon.
Running the experiments
Please run the run_graphino script for the desired number of lead months h in {1,2, .., 23} (the horizon argument).
Eigenvector centrality analysis and Fig. 2
To produce Figure 2 in our paper, i.e. a heatmap of eigenvector centrality scores of the nodes for various of our GCN models for different lead times, please see this jupyter notebook.
Citation
Please consider citing the following paper if you find it, or the code, helpful. Thank you!
@article{cachay2021world,
title={The World as a Graph: Improving El Ni\~no Forecasts with Graph Neural Networks},
author={Salva Rhling Cachay and Emma Erickson and Arthur Fender C. Bucker and Ernest Pokropek and Willa Potosnak and Suyash Bire and Salomey Osei and Bjrn Ltjens},
year={2021},
eprint={2104.05089},
archivePrefix={arXiv},
primaryClass={cs.LG}
}
Owner
- Name: Björn Lütjens (he/him)
- Login: blutjens
- Kind: user
- Company: MIT
- Website: https://blutjens.github.io/
- Twitter: bjornlutjens
- Repositories: 31
- Profile: https://github.com/blutjens
Postdoctoral Associate in tackling climate change with AI @ MIT. Project overview at https://blutjens.github.io/
GitHub Events
Total
Last Year
Committers
Last synced: about 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| salva | s****g@g****m | 10 |
| Salva Rühling Cachay | 4****C | 2 |
| Ernest Pokropek | e****8@g****m | 1 |
Issues and Pull Requests
Last synced: about 2 years ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0