PM2.5-GNN

PM2.5-GNN: A Domain Knowledge Enhanced Graph Neural Network For PM2.5 Forecasting

https://github.com/shuowang-ai/PM2.5-GNN

Science Score: 59.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 7 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org, acm.org
  • Committers with academic emails
    1 of 2 committers (50.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.3%) to scientific vocabulary
Last synced: 7 months ago · JSON representation

Repository

PM2.5-GNN: A Domain Knowledge Enhanced Graph Neural Network For PM2.5 Forecasting

Basic Info
  • Host: GitHub
  • Owner: shuowang-ai
  • License: mit
  • Language: Python
  • Default Branch: main
  • Size: 9.14 MB
Statistics
  • Stars: 198
  • Watchers: 3
  • Forks: 66
  • Open Issues: 2
  • Releases: 0
Created over 5 years ago · Last pushed 10 months ago
Metadata Files
Readme License

README.md

PM2.5-GNN

PM2.5-GNN: A Domain Knowledge Enhanced Graph Neural Network For PM2.5 Forecasting

Dataset

KnowAir-V2

🚀 Dataset Update: Announcing KnowAir-V2! 🚀

We are excited to announce a major upgrade to the original KnowAir (PM2.5-GNN) dataset with the official release of KnowAir-V2! This is a brand-new, higher-quality benchmark dataset for air quality forecasting.

Key improvements in KnowAir-V2 include: - Longer Temporal Span: Data covers from 2016 to 2023. - Richer Variables: Includes not only PM2.5 but also O3 and more related meteorological variables. - Higher Data Quality: The data has undergone rigorous preprocessing and imputation, reaching an operational-level standard.

For all new research and projects, we strongly recommend using KnowAir-V2. This dataset is designed to provide a powerful benchmarking platform for more advanced spatio-temporal prediction models that integrate physical-chemical knowledge, such as PCDCNet.

How to Access and Cite Dataset Download (KnowAir-V2):

  • Wang, S., Cheng, Y., Meng, Q., Saukh, O., Zhang, J., Fan, J., Zhang, Y., Yuan, X., & Thiele, L. (2025). KnowAir-V2: A Benchmark Dataset for Air Quality Forecasting with PCDCNet [Data set]. Zenodo. https://doi.org/10.5281/zenodo.15614907

  • Related Paper (PCDCNet): Please refer to the paper: "PCDCNet: A Surrogate Model for Air Quality Forecasting with Physical-Chemical Dynamics and Constraints" (arXiv:2505.19842). https://www.arxiv.org/abs/2505.19842

Requirements

Python 3.7.3 PyTorch 1.7.0 PyG: https://github.com/rusty1s/pytorch_geometric#pytorch-170

bash pip install -r requirements.txt

Experiment Setup

open config.yaml, do the following setups.

  • set data path after your server name. Like mine.

```python filepath: GPU-Server: knowairfp: /data/wangshuo/haze/pm25gnn/KnowAir.npy resultsdir: /data/wangshuo/haze/pm25gnn/results

```

  • Uncomment the model you want to run.

```python

model: MLP

model: LSTM

model: GRU

model: GC_LSTM

model: nodesFC_GRU

model: PM25_GNN

model: PM25GNNnosub

```

  • Choose the sub-datast number in [1,2,3].

python dataset_num: 3

  • Set weather variables you wish to use. Following is the default setting in the paper. You can uncomment specific variables. Variables in dataset KnowAir is defined in metero_var.

```python meterouse: ['2mtemperature', 'boundarylayerheight', 'kindex', 'relativehumidity+950', 'surfacepressure', 'totalprecipitation', 'ucomponentofwind+950', 'vcomponentofwind+950',]

```

Run

bash python train.py

Reference

Paper: https://dl.acm.org/doi/10.1145/3397536.3422208

@inproceedings{10.1145/3397536.3422208, author = {Wang, Shuo and Li, Yanran and Zhang, Jiang and Meng, Qingye and Meng, Lingwei and Gao, Fei}, title = {PM2.5-GNN: A Domain Knowledge Enhanced Graph Neural Network For PM2.5 Forecasting}, year = {2020}, isbn = {9781450380195}, publisher = {Association for Computing Machinery}, address = {New York, NY, USA}, url = {https://doi.org/10.1145/3397536.3422208}, doi = {10.1145/3397536.3422208}, abstract = {When predicting PM2.5 concentrations, it is necessary to consider complex information sources since the concentrations are influenced by various factors within a long period. In this paper, we identify a set of critical domain knowledge for PM2.5 forecasting and develop a novel graph based model, PM2.5-GNN, being capable of capturing long-term dependencies. On a real-world dataset, we validate the effectiveness of the proposed model and examine its abilities of capturing both fine-grained and long-term influences in PM2.5 process. The proposed PM2.5-GNN has also been deployed online to provide free forecasting service.}, booktitle = {Proceedings of the 28th International Conference on Advances in Geographic Information Systems}, pages = {163–166}, numpages = {4}, keywords = {air quality prediction, graph neural network, spatio-temporal prediction}, location = {Seattle, WA, USA}, series = {SIGSPATIAL '20} }

Owner

  • Name: Shuo Wang
  • Login: shuowang-ai
  • Kind: user
  • Location: Beijing
  • Company: Beijing Normal University

Curiosity, Courage, Critical, Challenge, Concentration, Continuation, Confidence

GitHub Events

Total
  • Issues event: 1
  • Watch event: 31
  • Fork event: 10
Last Year
  • Issues event: 1
  • Watch event: 31
  • Fork event: 10

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 15
  • Total Committers: 2
  • Avg Commits per committer: 7.5
  • Development Distribution Score (DDS): 0.267
Past Year
  • Commits: 1
  • Committers: 1
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
shawnwang s****h@g****m 11
Shuo Wang w****s@m****n 4
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 21
  • Total pull requests: 0
  • Average time to close issues: 5 months
  • Average time to close pull requests: N/A
  • Total issue authors: 17
  • Total pull request authors: 0
  • Average comments per issue: 2.52
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 2
  • Pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • xie-kun (4)
  • a186232641 (2)
  • chenpiinxuan (1)
  • wanzhixiao (1)
  • YuBinWu (1)
  • hhhhZUOGU (1)
  • liufeng0612 (1)
  • TuozhenLiu (1)
  • MLforSW (1)
  • Ziyang-Yu (1)
  • ArynCC (1)
  • aaaaaaui (1)
  • G-H-Li (1)
  • LiuAoyu1998 (1)
  • Philosober (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

requirements.txt pypi
  • MetPy ==0.12.0
  • Pillow ==6.2.1
  • PyYAML ==5.1.2
  • arrow ==0.15.4
  • bresenham ==0.2.1
  • cdsapi ==0.2.3
  • geopy ==1.20.0
  • matplotlib ==3.1.1
  • networkx ==2.4
  • numpy ==1.17.3
  • pandas ==0.25.3
  • pyramid-arima ==0.8.1
  • python-dateutil ==2.8.1
  • pytz ==2019.3
  • scikit-image ==0.16.2
  • scikit-learn ==0.21.3
  • scipy ==1.3.1
  • tqdm ==4.38.0
  • xarray ==0.14.0