DA-STDK: Data-adaptive spatio-temporal distributional prediction (cluster-adaptive bases, conformal calibration)
Project description
DA-STDK
Reference code for cluster-aware conformal calibration in spatio-temporal distributional prediction.
- Cluster-adaptive spatial bases — centers and scales initialized from sampling density, so capacity follows heterogeneous observation patterns instead of a fixed grid.
- Cluster-aware conformal calibration — interval widths are calibrated within spatial clusters, with a global fallback when local samples are scarce.
Benchmarks in this repo use the KAUST spatio-temporal datasets (scenarios 2a/2b).
Architecture
Cluster-adaptive spatial basis, temporal basis, and covariates are concatenated and passed through a shared MLP trunk. Quantile heads predict multiple levels; cluster-aware CQR produces calibrated prediction intervals.
Install
Python 3.10+ and Poetry are enough for most use:
poetry install --with dev
Optional: Conda env via bash envs/conda/build_conda_env.sh then conda activate st-dadk.
pip install da-stdk # after a PyPI release
# or locally:
pip install -e .
import da_stdk
from da_stdk.models import STDKMLP, create_model
from da_stdk.data.kaust_loader import load_kaust_csv_single
Run
Single training run
poetry run python scripts/train_default.py
KAUST benchmark (multiple scenarios / models)
make kaust
# or (train only, then analyze manually):
poetry run python scripts/run_kaust_data.py --config configs/config_default.yaml
poetry run python scripts/analyze_kaust_results.py --results_dir results/kaust_data_<timestamp>
make kaust runs all scenario×model combos and calls analyze_kaust_results.py when finished (--analyze). Use make kaust-dry to preview commands.
More scripts and flags: scripts/README.md.
Layout
| Path | Contents |
|---|---|
da_stdk/ |
Models, training, data I/O, conformal utils, viz |
scripts/ |
Training and experiment drivers |
configs/ |
YAML configs |
data/ |
KAUST CSVs (large; not on PyPI) |
Dev
make test # pytest
make lint # black, isort, mypy
pre-commit run --all-files
Citation
If you use this code, please cite:
Cluster-Aware Conformal Calibration for Spatio-Temporal Distributional Prediction Gooyoung Kim, Chae Young Lim, Wen-Ting Wang, Hao-Yun Huang, Wei-Ying Wu arXiv preprint (link forthcoming)
@misc{kim2026cluster,
title = {Cluster-Aware Conformal Calibration for Spatio-Temporal Distributional Prediction},
author = {Kim, Gooyoung and Lim, Chae Young and Wang, Wen-Ting and Huang, Hao-Yun and Wu, Wei-Ying},
year = {2026},
note = {arXiv preprint, forthcoming},
}
When the arXiv entry is available, add eprint, archivePrefix, and primaryClass (or url) to the BibTeX above.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file da_stdk-1.0.1.tar.gz.
File metadata
- Download URL: da_stdk-1.0.1.tar.gz
- Upload date:
- Size: 50.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
63eecd08312cf7337445a88c4f30adc1281efff3148a2eccb007a926a9995eb7
|
|
| MD5 |
e802a8df71b9ff1bd261d7c90bfaf74d
|
|
| BLAKE2b-256 |
edc700962181d84c4267aa58fede04511ff8a5e997c4b554c273a2a99689576f
|
File details
Details for the file da_stdk-1.0.1-py3-none-any.whl.
File metadata
- Download URL: da_stdk-1.0.1-py3-none-any.whl
- Upload date:
- Size: 60.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee4040b96f94a4e596b1a702ec8c7430833c66cfbb2ab49c3af8625132b778b4
|
|
| MD5 |
d3145eea7763d6cb1f052ecd2aad1d4f
|
|
| BLAKE2b-256 |
e88417763ffaa59d0c5472f403390d4e4a27867986172d2faa1d07c50bc9e4f4
|