Skip to content

Commit

Permalink
Merge pull request #340 from WenjieDu/dev
Browse files Browse the repository at this point in the history
Fix USGAN loss function, and update the docs
  • Loading branch information
WenjieDu authored Apr 8, 2024
2 parents 590d7be + 4d780ac commit 6e7982c
Show file tree
Hide file tree
Showing 46 changed files with 251 additions and 290 deletions.
2 changes: 1 addition & 1 deletion docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ Imputation Neural Net Informer (Beyond Efficient Trans
Imputation Neural Net Autoformer (Decomposition Transformers with Auto-Correlation for Long-Term Series Forecasting) 2021 :cite:`wu2021autoformer`
Imputation Neural Net US-GAN (Unsupervised GAN for Multivariate Time Series Imputation) 2021 :cite:`miao2021SSGAN`
Imputation Neural Net CSDI (Conditional Score-based Diffusion Models for Probabilistic Time Series Imputation) 2021 :cite:`tashiro2021csdi`
Imputation Neural Net GP-VAE (Gaussian Process Variational Autoencoder) 2020 :cite:`fortuin2020GPVAEDeep`
Imputation Neural Net GP-VAE (Gaussian Process Variational Autoencoder) 2020 :cite:`fortuin2020gpvae`
Imputation, Classification Neural Net BRITS (Bidirectional Recurrent Imputation for Time Series) 2018 :cite:`cao2018BRITS`
Imputation Neural Net M-RNN (Multi-directional Recurrent Neural Network) 2019 :cite:`yoon2019MRNN`
Imputation Naive LOCF/NOCB(Last Observation Carried Forward/Next Observation Carried Backward) / /
Expand Down
39 changes: 14 additions & 25 deletions docs/references.bib
Original file line number Diff line number Diff line change
Expand Up @@ -123,18 +123,14 @@ @article{du2023SAITS
url = {https://arxiv.org/abs/2202.08516},
author = {Wenjie Du and David Cote and Yan Liu},
}
@article{fortuin2020GPVAEDeep,
title = {{{GP-VAE}}: {{Deep Probabilistic Time Series Imputation}}},
author = {Fortuin, Vincent and Baranchuk, Dmitry and R{\"a}tsch, Gunnar and Mandt, Stephan},
year = {2020},
month = feb,
journal = {arXiv:1907.04155 [cs, stat]},
eprint = {1907.04155},
eprinttype = {arxiv},
primaryclass = {cs, stat},
url = {http://arxiv.org/abs/1907.04155},
archiveprefix = {arXiv},
keywords = {Computer Science - Machine Learning,Statistics - Machine Learning}

@inproceedings{fortuin2020gpvae,
title={{GP-VAE: Deep probabilistic time series imputation}},
author={Fortuin, Vincent and Baranchuk, Dmitry and R{\"a}tsch, Gunnar and Mandt, Stephan},
booktitle={International conference on artificial intelligence and statistics},
pages={1651--1661},
year={2020},
organization={PMLR}
}

@article{horn2019SeFT,
Expand Down Expand Up @@ -382,21 +378,14 @@ @article{yuan2019E2GAN
url = {https://www.ijcai.org/Proceedings/2019/429}
}

@article{zhang2022Raindrop,
title = {Graph-{{Guided Network}} for {{Irregularly Sampled Multivariate Time Series}}},
author = {Zhang, Xiang and Zeman, Marko and Tsiligkaridis, Theodoros and Zitnik, Marinka},
year = {2022},
month = mar,
journal = {arXiv:2110.05357 [cs]},
eprint = {2110.05357},
eprinttype = {arxiv},
primaryclass = {cs},
url = {http://arxiv.org/abs/2110.05357},
archiveprefix = {arXiv},
keywords = {Computer Science - Artificial Intelligence,Computer Science - Machine Learning}
@inproceedings{zhang2022Raindrop,
title={Graph-Guided Network for Irregularly Sampled Multivariate Time Series},
author={Xiang Zhang and Marko Zeman and Theodoros Tsiligkaridis and Marinka Zitnik},
booktitle={International Conference on Learning Representations},
year={2022},
url={https://openreview.net/forum?id=Kwm8I7dU-l5}
}


@inproceedings{reddi2018OnTheConvergence,
title={On the Convergence of Adam and Beyond},
author={Sashank J. Reddi and Satyen Kale and Sanjiv Kumar},
Expand Down
7 changes: 5 additions & 2 deletions pypots/classification/brits/__init__.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
"""
The package of the partially-observed time-series classification model BRITS.
Refer to the paper "Cao, W., Wang, D., Li, J., Zhou, H., Li, L., & Li, Y. (2018).
BRITS: Bidirectional Recurrent Imputation for Time Series. NeurIPS 2018."
Refer to the paper
`Wei Cao, Dong Wang, Jian Li, Hao Zhou, Lei Li, and Yitan Li.
BRITS: Bidirectional recurrent imputation for time series.
In Advances in Neural Information Processing Systems, volume 31. Curran Associates, Inc., 2018.
<https://papers.nips.cc/paper_files/paper/2018/file/734e6bfcd358e25ac1db0a4241b95651-Paper.pdf>`_
"""

Expand Down
16 changes: 5 additions & 11 deletions pypots/classification/brits/model.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
"""
The implementation of BRITS for the partially-observed time-series classification task.
Refer to the paper "Cao, W., Wang, D., Li, J., Zhou, H., Li, L., & Li, Y. (2018).
BRITS: Bidirectional Recurrent Imputation for Time Series. NeurIPS 2018."
Refer to the paper "Wei Cao, Dong Wang, Jian Li, Hao Zhou, Lei Li, and Yitan Li.
BRITS: Bidirectional recurrent imputation for time series.
In Advances in Neural Information Processing Systems, volume 31. Curran Associates, Inc., 2018."
Notes
-----
Partial implementation uses code from https://github.com/caow13/BRITS. The bugs in the original implementation
are fixed here.
Partial implementation uses code from https://github.com/caow13/BRITS.
The bugs in the original implementation are fixed here.
"""

Expand Down Expand Up @@ -90,13 +91,6 @@ class BRITS(BaseNNClassifier):
better than in previous epochs.
The "all" strategy will save every model after each epoch training.
References
----------
.. [1] `Cao, Wei, Dong Wang, Jian Li, Hao Zhou, Lei Li, and Yitan Li.
"Brits: Bidirectional recurrent imputation for time series."
Advances in neural information processing systems 31 (2018).
<https://arxiv.org/pdf/1805.10572>`_
"""

def __init__(
Expand Down
7 changes: 5 additions & 2 deletions pypots/classification/grud/__init__.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
"""
The package of the partially-observed time-series classification model GRU-D.
Refer to the paper "Che, Z., Purushotham, S., Cho, K., Sontag, D.A., & Liu, Y. (2018).
Recurrent Neural Networks for Multivariate Time Series with Missing Values. Scientific Reports."
Refer to the paper
`Zhengping Che, Sanjay Purushotham, Kyunghyun Cho, David Sontag, and Yan Liu.
Recurrent Neural Networks for Multivariate Time Series with Missing Values.
Scientific Reports, 8(1):6085, April 2018.
<https://www.nature.com/articles/s41598-018-24271-9.pdf>`_
"""

Expand Down
12 changes: 3 additions & 9 deletions pypots/classification/grud/model.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
"""
The implementation of GRU-D for the partially-observed time-series imputation task.
Refer to the paper "Che, Z., Purushotham, S., Cho, K., Sontag, D.A., & Liu, Y. (2018).
Recurrent Neural Networks for Multivariate Time Series with Missing Values. Scientific Reports."
Refer to the paper "Zhengping Che, Sanjay Purushotham, Kyunghyun Cho, David Sontag, and Yan Liu.
Recurrent Neural Networks for Multivariate Time Series with Missing Values.
Scientific Reports, 8(1):6085, April 2018."
"""

Expand Down Expand Up @@ -80,13 +81,6 @@ class GRUD(BaseNNClassifier):
better than in previous epochs.
The "all" strategy will save every model after each epoch training.
References
----------
.. [1] `Che, Zhengping, Sanjay Purushotham, Kyunghyun Cho, David Sontag, and Yan Liu.
"Recurrent neural networks for multivariate time series with missing values."
Scientific reports 8, no. 1 (2018): 6085.
<https://www.nature.com/articles/s41598-018-24271-9.pdf>`_
"""

def __init__(
Expand Down
7 changes: 5 additions & 2 deletions pypots/classification/raindrop/__init__.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
"""
The package of the partially-observed time-series classification model Raindrop.
Refer to the paper "Zhang, X., Zeman, M., Tsiligkaridis, T., & Zitnik, M. (2022).
Graph-Guided Network for Irregularly Sampled Multivariate Time Series. ICLR 2022."
Refer to the paper
`Xiang Zhang, Marko Zeman, Theodoros Tsiligkaridis, and Marinka Zitnik.
Graph-guided network for irregularly sampled multivariate time series.
In ICLR, 2022.
<https://openreview.net/forum?id=Kwm8I7dU-l5>`_
"""

Expand Down
11 changes: 3 additions & 8 deletions pypots/classification/raindrop/model.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
"""
The implementation of Raindrop for the partially-observed time-series classification task.
Refer to the paper "Zhang, X., Zeman, M., Tsiligkaridis, T., & Zitnik, M. (2022).
Graph-Guided Network for Irregularly Sampled Multivariate Time Series. ICLR 2022."
Refer to the paper "Xiang Zhang, Marko Zeman, Theodoros Tsiligkaridis, and Marinka Zitnik.
Graph-guided network for irregularly sampled multivariate time series.
In ICLR, 2022."
"""

Expand Down Expand Up @@ -106,12 +107,6 @@ class Raindrop(BaseNNClassifier):
better than in previous epochs.
The "all" strategy will save every model after each epoch training.
References
----------
.. [1] `Zhang, Xiang, Marko Zeman, Theodoros Tsiligkaridis, and Marinka Zitnik.
"Graph-guided network for irregularly sampled multivariate time series."
International Conference on Learning Representations (ICLR). 2022.
<https://openreview.net/forum?id=Kwm8I7dU-l5>`_
"""

def __init__(
Expand Down
8 changes: 6 additions & 2 deletions pypots/clustering/crli/__init__.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
"""
The package of the partially-observed time-series clustering model CRLI.
Refer to the paper "Ma, Q., Chen, C., Li, S., & Cottrell, G. W. (2021).
Learning Representations for Incomplete Time Series Clustering. AAAI 2021."
Refer to the paper
`Qianli Ma, Chuxin Chen, Sen Li, and Garrison W. Cottrell.
Learning Representations for Incomplete Time Series Clustering.
In AAAI, 35(10):8837–8846, May 2021.
<https://ojs.aaai.org/index.php/AAAI/article/view/17070>`_
"""

Expand Down
13 changes: 3 additions & 10 deletions pypots/clustering/crli/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@
The implementation of CRLI (Clustering Representation Learning on Incomplete time-series data) for
the partially-observed time-series clustering task.
Refer to the paper "Ma, Q., Chen, C., Li, S., & Cottrell, G. W. (2021).
Learning Representations for Incomplete Time Series Clustering. AAAI 2021."
Refer to the paper "Qianli Ma, Chuxin Chen, Sen Li, and Garrison W. Cottrell.
Learning Representations for Incomplete Time Series Clustering.
In AAAI, 35(10):8837–8846, May 2021."
"""

Expand Down Expand Up @@ -109,14 +110,6 @@ class CRLI(BaseNNClusterer):
better than in previous epochs.
The "all" strategy will save every model after each epoch training.
References
----------
.. [1] `Ma, Qianli, Chuxin Chen, Sen Li, and Garrison W. Cottrell. 2021.
"Learning Representations for Incomplete Time Series Clustering".
Proceedings of the AAAI Conference on Artificial Intelligence 35 (10):8837-46.
https://doi.org/10.1609/aaai.v35i10.17070.
<https://ojs.aaai.org/index.php/AAAI/article/view/17070>`_
"""

def __init__(
Expand Down
9 changes: 6 additions & 3 deletions pypots/clustering/vader/__init__.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
"""
The package of the partially-observed time-series clustering model VaDER.
Refer to the paper "Jong, J.D., Emon, M.A., Wu, P., Karki, R., Sood, M., Godard, P., Ahmad, A., Vrooman, H.A.,
Hofmann-Apitius, M., & Fröhlich, H. (2019).
Deep learning for clustering of multivariate clinical patient trajectories with missing values. GigaScience."
Refer to the paper
`Johann de Jong, Mohammad Asif Emon, Ping Wu, Reagon Karki, Meemansa Sood, Patrice Godard, Ashar Ahmad, Henri Vrooman,
Martin Hofmann-Apitius, and Holger Fröhlich.
Deep learning for clustering of multivariate clinical patient trajectories with missing values.
GigaScience, 8(11):giz134, November 2019.
<https://academic.oup.com/gigascience/article-pdf/8/11/giz134/30797160/giz134.pdf>`_
"""

Expand Down
17 changes: 4 additions & 13 deletions pypots/clustering/vader/model.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
"""
The implementation of VaDER for the partially-observed time-series clustering task.
Refer to the paper "Jong, J.D., Emon, M.A., Wu, P., Karki, R., Sood, M., Godard, P., Ahmad, A., Vrooman, H.A.,
Hofmann-Apitius, M., & Fröhlich, H. (2019).
Deep learning for clustering of multivariate clinical patient trajectories with missing values. GigaScience."
Refer to the paper "Johann de Jong, Mohammad Asif Emon, Ping Wu, Reagon Karki, Meemansa Sood, Patrice Godard,
Ashar Ahmad, Henri Vrooman, Martin Hofmann-Apitius, and Holger Fröhlich.
Deep learning for clustering of multivariate clinical patient trajectories with missing values.
GigaScience, 8(11):giz134, November 2019."
"""

Expand Down Expand Up @@ -92,16 +93,6 @@ class VaDER(BaseNNClusterer):
better than in previous epochs.
The "all" strategy will save every model after each epoch training.
References
----------
.. [1] `de Jong, Johann, Mohammad Asif Emon, Ping Wu, Reagon Karki, Meemansa Sood, Patrice Godard,
Ashar Ahmad, Henri Vrooman, Martin Hofmann-Apitius, and Holger Fröhlich.
"Deep learning for clustering of multivariate clinical patient trajectories with missing values."
GigaScience 8, no. 11 (2019): giz134.
<https://academic.oup.com/gigascience/article-pdf/8/11/giz134/30797160/giz134.pdf>`_
"""

def __init__(
Expand Down
6 changes: 4 additions & 2 deletions pypots/forecasting/bttf/__init__.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
"""
The package of the partially-observed time-series forecasting model BTTF.
Refer to the paper "Chen, X., & Sun, L. (2021).
Refer to the paper
`Xinyu Chen and Lijun Sun.
Bayesian Temporal Factorization for Multidimensional Time Series Prediction.
IEEE transactions on pattern analysis and machine intelligence."
IEEE Transactions on Pattern Analysis and Machine Intelligence, pages 1–1, 2021.
<https://arxiv.org/pdf/1910.06366>`_
"""

Expand Down
11 changes: 2 additions & 9 deletions pypots/forecasting/bttf/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
The implementation of BTTF (Bayesian Temporal Tensor Factorization) for the partially-observed time-series
forecasting task.
Refer to the paper "Chen, X., & Sun, L. (2021).
Refer to the paper "Xinyu Chen and Lijun Sun.
Bayesian Temporal Factorization for Multidimensional Time Series Prediction.
IEEE transactions on pattern analysis and machine intelligence."
IEEE Transactions on Pattern Analysis and Machine Intelligence, pages 1–1, 2021."
Notes
-----
Expand Down Expand Up @@ -69,13 +69,6 @@ class BTTF(BaseForecaster):
2). ``n_steps - pred_step`` must be larger than ``max(time_lags)``;
References
----------
.. [1] `Chen, Xinyu, and Lijun Sun.
"Bayesian temporal factorization for multidimensional time series prediction."
IEEE Transactions on Pattern Analysis and Machine Intelligence 44, no. 9 (2021): 4659-4673.
<https://arxiv.org/pdf/1910.06366>`_
"""

def __init__(
Expand Down
7 changes: 5 additions & 2 deletions pypots/imputation/autoformer/__init__.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
"""
The package of the partially-observed time-series imputation model Autoformer.
Refer to the paper "Wu, H., Xu, J., Wang, J., & Long, M. (2021).
Autoformer: Decomposition transformers with auto-correlation for long-term series forecasting. NeurIPS 2021.".
Refer to the paper
`Haixu Wu, Jiehui Xu, Jianmin Wang, and Mingsheng Long.
Autoformer: Decomposition transformers with autocorrelation for long-term series forecasting.
In Advances in Neural Information Processing Systems, volume 34, pages 22419–22430. Curran Associates, Inc., 2021.
<https://proceedings.neurips.cc/paper/2021/file/bcc0d400288793e8bdcd7c19a8ac0c2b-Paper.pdf>`_
"""

Expand Down
14 changes: 4 additions & 10 deletions pypots/imputation/autoformer/model.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
"""
The implementation of Autoformer for the partially-observed time-series imputation task.
Refer to the paper "Wu, H., Xu, J., Wang, J., & Long, M. (2021).
Autoformer: Decomposition transformers with auto-correlation for long-term series forecasting. NeurIPS 2021.".
Refer to the paper "Haixu Wu, Jiehui Xu, Jianmin Wang, and Mingsheng Long.
Autoformer: Decomposition transformers with autocorrelation for long-term series forecasting.
In Advances in Neural Information Processing Systems, volume 34, pages 22419–22430. Curran Associates, Inc., 2021."
Notes
-----
Partial implementation uses code from https://github.com/thuml/Time-Series-Library
Partial implementation uses code from https://github.com/thuml/Autoformer
"""

Expand Down Expand Up @@ -101,13 +102,6 @@ class Autoformer(BaseNNImputer):
better than in previous epochs.
The "all" strategy will save every model after each epoch training.
References
----------
.. [1] `Wu, Haixu, Jiehui Xu, Jianmin Wang, and Mingsheng Long.
"Autoformer: Decomposition transformers with auto-correlation for long-term series forecasting".
Advances in neural information processing systems 34 (2021): 22419-22430.
<https://proceedings.neurips.cc/paper/2021/file/bcc0d400288793e8bdcd7c19a8ac0c2b-Paper.pdf>`_
"""

def __init__(
Expand Down
7 changes: 5 additions & 2 deletions pypots/imputation/brits/__init__.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
"""
The package of the partially-observed time-series imputation model BRITS.
Refer to the paper "Cao, W., Wang, D., Li, J., Zhou, H., Li, L., & Li, Y. (2018).
BRITS: Bidirectional Recurrent Imputation for Time Series. NeurIPS 2018."
Refer to the paper
`Wei Cao, Dong Wang, Jian Li, Hao Zhou, Lei Li, and Yitan Li.
BRITS: Bidirectional recurrent imputation for time series.
In Advances in Neural Information Processing Systems, volume 31. Curran Associates, Inc., 2018.
<https://papers.nips.cc/paper_files/paper/2018/file/734e6bfcd358e25ac1db0a4241b95651-Paper.pdf>`_
"""

Expand Down
Loading

0 comments on commit 6e7982c

Please sign in to comment.