Important

April 12, 2026 ยท View on GitHub

๐Ÿš€ This is the official repo of "Non-stationary Diffusion For Probabilistic Time Series Forecasting"

Important

The metrics in Table 6 about MAE/MSE is reversed. Please note this information when you are reproducing our results. I can change the arxiv paper, but I can not change publication text in the official ICML conference.

Contacts

News

๐Ÿ“Œ [2025-05-01] ๐ŸŽ‰๐ŸŽ‰๐ŸŽ‰๐ŸŽ‰๐ŸŽ‰ NsDiff is accepted as a Spotlight poster at ICML 2025 โ€” Oral decision pending ๐Ÿ”Ž

1 NsDiff

NsDiff is a new diffusion-based theoretical framework for probalistic forecasting. Specifically designed for non-stationary scenarios.

2 install requirements

pip install -r ./requirements.txt

3 run

โš ๏ธโš ๏ธโš ๏ธโš ๏ธThe dataset will be downloaded automatically. Just run the following scripts.

see ./scripts/ for more examples.

  1. pretrain and run
#  pretraining
bash ./scripts/pretrain_F/ETTh1.sh
# run 
export PYTHONPATH=./
CUDA_DEVICE_ORDER=PCI_BUS_ID \
python3 ./src/experiments/NsDiff.py \
   --dataset_type="ETTh1" \
   --device="cuda:0" \
   --batch_size=32 \
   --horizon=1 \
   --pred_len=192 \
   --windows=168 \
   --load_pretrain=True \
   runs --seeds='[1232132, 3]'

  1. run without pretraining
# run without pretraining
export PYTHONPATH=./
CUDA_DEVICE_ORDER=PCI_BUS_ID \
python3 ./src/experiments/NsDiff.py \
   --dataset_type="ETTh1" \
   --device="cuda:0" \
   --batch_size=32 \
   --horizon=1 \
   --pred_len=192 \
   --windows=168 \
   runs --seeds='[1232132, 3]'