Awesome
(ICML 2024 Spotlight) BayOTIDE: Bayesian Online Multivariate Time Series Imputation with Functional Decomposition
<div align=center> <img src="illu_fig.png" width = 100%/> </div> (This repo is still on update)This authors' official PyTorch implementation for paper:"Bayesian Online Multivariate Time Series Imputation with Functional Decomposition"[OpenReview][Arxiv] [η₯δΉ] (ICML 2024).
Citing BayOTIDE
π If you find this resource helpful, please consider to star this repository and cite our research:
@inproceedings{fang2024tsi,
title={BayOTIDE: Bayesian Online Multivariate Time series Imputation with functional decomposition},
author={Shikai Fang and Qingsong Wen and Yingtao Luo and Shandian Zhe and Liang Sun},
booktitle={International Conference on Machine Learning (ICML 2024)},
year={2024}
}
In case of any questions, bugs, suggestions or improvements, please feel free to open an issue.
Key Idea
Decompose Multivariate Time as Latent Functions Factors + Online Filtering
<!-- <!-- <div align=center> <img src="./figs/FunBat-eq.PNG" width = 100%/> </div> --> <div align=center> <img src="notebook/figs/fig_simu_impute.png" width = 100%/> </div><!-- Example of latent functions of spatial and temporal modes learned from real-world data. <div align=center> <img src="./figs/FunBat.PNG" width = 100%/> </div> <div align=center> <img src="./figs/FunBat-time.PNG" width = 50%/> </div> -->
Requirements:
The project is mainly built with pytorch 2.3.0 under python 3.10. The detailed package info can be found in requirement.txt
.
Instructions:
- Clone this repository.
- To play with the model quickly, we offer several notebooks at
notebook
(on synthetic & real data) - To run the real-world datasets with scripts, see
run_script.sh
for example. (download the processed data of Solar-Power and Uber-Move from the link below first) - To tune the (hyper)parametrs of model, modify the
.yaml
files inconfig
folder - To apply the model on your own dataset, please follow the process_script to process the raw data into appropriate format.
- GPU choice: the models are run on CPU by default, but you can change the device to CPU by modifying the
device
ascpu
of.yaml
files in theconfig
folder.
Data
We offer the raw data, processed data and processed scripts for all three datasets used in paper. Given the large size of Solar-Power and Uber-Move, we put them in the google drive.
-
Traffic-Guangzhou: raw data, processed scripts, and processed data
-
Solar-Power: raw data, processed scripts, and processed data
-
Uber-Move: raw data, processed scripts, and processed data
The code for generating the synthetic data is also provided in the notebook.
If you wanna customize your own data to play the model, please follow the notebooks in data/process_script/
.
Further Reading
1, Deep Learning for Multivariate Time Series Imputation: A Survey, in arXiv 2024. [paper] [Website]
2, AI for Time Series (AI4TS) Papers, Tutorials, and Surveys. [Website]