PM2.5-GNN: A Domain Knowledge Enhanced Graph Neural Network For PM2.5 Forecasting
- Download dataset KnowAir from Google Drive or Baiduyun with code
ni44
.
Python 3.7.3
PyTorch 1.7.0
PyG: https://github.com/rusty1s/pytorch_geometric#pytorch-170
pip install -r requirements.txt
open config.yaml
, do the following setups.
- set data path after your server name. Like mine.
filepath:
GPU-Server:
knowair_fp: /data/wangshuo/haze/pm25gnn/KnowAir.npy
results_dir: /data/wangshuo/haze/pm25gnn/results
- Uncomment the model you want to run.
# model: MLP
# model: LSTM
# model: GRU
# model: GC_LSTM
# model: nodesFC_GRU
model: PM25_GNN
# model: PM25_GNN_nosub
- Choose the sub-datast number in [1,2,3].
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
.
metero_use: ['2m_temperature',
'boundary_layer_height',
'k_index',
'relative_humidity+950',
'surface_pressure',
'total_precipitation',
'u_component_of_wind+950',
'v_component_of_wind+950',]
python train.py
Shuo Wang, Yanran Li, Jiang Zhang, Qingye Meng, Lingwei Meng, and Fei Gao. 2020. PM2.5-GNN: A Domain Knowledge Enhanced Graph Neural Network For PM2.5 Forecasting. In 28th International Conference on Advances in Geographic Information Systems (SIGSPATIAL โ20), November 3โ6, 2020, Seattle, WA, USA. ACM, New York, NY, USA, 4 pages. https://doi.org/10.1145/3397536.3422208