/Spatio-temporal-Diffusion-Point-Processes

A diffusion-based framework for spatio-temporal point processes

Primary LanguagePython

Spatio-temporal Diffusion Point Processes

OverallFramework

This project was initially described in the full research track paper Spatio-temporal Diffusion Point Processes at KDD 2023 in Long Beach, CA. Contributors to this project are from the Future Intelligence laB (FIB) at Tsinghua University.

The code is tested under a Linux desktop with torch 1.7 and Python 3.7.10.

Installation

Environment

  • Tested OS: Linux
  • Python >= 3.7
  • PyTorch == 1.7.1
  • Tensorboard

Dependencies

  1. Install PyTorch 1.7.1 with the correct CUDA version.
  2. Use the pip install -r requirements. txt command to install all of the Python modules and packages used in this project.

Model Training

Use the following command to train DSTPP on Earthquake dataset:

python app.py --dataset Earthquake --mode train --timesteps 200 --samplingsteps 200 --batch_size 64 --total_epochs 2000

To train DSTPP on other datasets:

python app.py --dataset COVID19 --mode train --timesteps 200 --samplingsteps 200 --batch_size 64 --total_epochs 2000

python app.py --dataset Pinwheel --mode train --timesteps 200 --samplingsteps 200 --batch_size 256 --total_epochs 2000

python app.py --dataset HawkesGMM --mode train --timesteps 200 --samplingsteps 200 --batch_size 256 --total_epochs 2000

python app.py --dataset Mobility --mode train --timesteps 200 --samplingsteps 200 --batch_size 128 --total_epochs 2000

python app.py --dataset Citibike --mode train --timesteps 200 --samplingsteps 200 --batch_size 128 --total_epochs 2000

python app.py --dataset Independent --mode train --timesteps 200 --samplingsteps 200 --batch_size 128 --total_epochs 2000

The trained models are saved in ModelSave/.

The logs are saved in logs/.

Note

The implemention is based on DDPM.

If you found this library useful in your research, please consider citing:

Coming soon...