There is a newer version of the record available.

Published January 1, 2024 | Version v0.3
Software Open

PyPOTS: A Python Toolbox for Data Mining on Partially-Observed Time Series

Authors/Creators

Description

Happy New Year, dear friends! 🥳

New features and updated APIs in PyPOTS are brought to you here! In v0.3, we

  1. added TimesNet as an imputation model;
  2. simplified the structure of val_set. In previous versions, you had to give indicating_mask in the dictionary val_set that tells PyPOTS to use which values to validate the model. Now you only need to give X_ori (i.e. X_intact before) and X, both leaving their missing data as NaNs. PyPOTS will handle everything left to evaluate the model for you;
  3. enabled PyPOTS to tune hyperparameters for external models (implemented with the PyPOTS framework but haven't been integrated into PyPOTS);
  4. updated the package pypots.data.saving. Separated the functions for pickle saving and h5py saving, and added load_dict_from_h5 that can inverse (deserialize) the process of save_dict_into_h5;
  5. fixed some bugs (#255, #263, #266, #280, #282, #286, #289);

What's Changed

  • Code refactor by @WenjieDu in https://github.com/WenjieDu/PyPOTS/pull/251
  • Adding TimesNet as an imputation model by @WenjieDu in https://github.com/WenjieDu/PyPOTS/pull/252
  • Adding TimesNet, refactoring code, and updating docs by @WenjieDu in https://github.com/WenjieDu/PyPOTS/pull/253
  • Fixing CSDI gtmask bug by @WenjieDu in https://github.com/WenjieDu/PyPOTS/pull/255
  • Fixing CSDI gt_mask issue, and setting a fixed random seed for testing cases by @WenjieDu in https://github.com/WenjieDu/PyPOTS/pull/256
  • Making CSDI return all n_sampling_times imputation samples by @WenjieDu in https://github.com/WenjieDu/PyPOTS/pull/258
  • Adding get_random_seed(), and adding func calc_quantile_crps() by @WenjieDu in https://github.com/WenjieDu/PyPOTS/pull/260
  • Making CSDI val process same as the original by @WenjieDu in https://github.com/WenjieDu/PyPOTS/pull/262
  • Fix missing argument attn_dropout in imputation Transformer by @WenjieDu in https://github.com/WenjieDu/PyPOTS/pull/263
  • Adding visualization functions by @AugustJW in https://github.com/WenjieDu/PyPOTS/pull/267
  • Add cluster plotting functions in pypots.utils.visualization by @vemuribv in https://github.com/WenjieDu/PyPOTS/pull/182
  • Fixing unstable nonstationary norm, adding utils.visual, and doing some code refactoring by @WenjieDu in https://github.com/WenjieDu/PyPOTS/pull/266
  • Updating package pypots.data.saving by @WenjieDu in https://github.com/WenjieDu/PyPOTS/pull/268
  • Enabling to tune hyperparameters for outside models implemented with PyPOTS framework by @WenjieDu in https://github.com/WenjieDu/PyPOTS/pull/269
  • Simplifying the structure of val_set, and using a consistent strategy when lazy-loading val_set by @WenjieDu in https://github.com/WenjieDu/PyPOTS/pull/272
  • Renaming X_intact into X_ori, and adding matplotlib as a dependency by @WenjieDu in https://github.com/WenjieDu/PyPOTS/pull/274
  • Simplifying val_set, renaming X_intact, and adding unit tests for the visual package by @WenjieDu in https://github.com/WenjieDu/PyPOTS/pull/275
  • Update GP-VAE by @WenjieDu in https://github.com/WenjieDu/PyPOTS/pull/277
  • Updating GP-VAE, adding load_dict_from_h5, etc. by @WenjieDu in https://github.com/WenjieDu/PyPOTS/pull/278
  • Adding _check_inputs() for error calculation functions by @WenjieDu in https://github.com/WenjieDu/PyPOTS/pull/279
  • Fixing CSDI, adding placeholder for epoch num in logging by @WenjieDu in https://github.com/WenjieDu/PyPOTS/pull/280
  • Fixing the infinite loop in LOCF by @WenjieDu in https://github.com/WenjieDu/PyPOTS/pull/282
  • Update docs by @WenjieDu in https://github.com/WenjieDu/PyPOTS/pull/285
  • Updating docs, fixing CSDI&LOCF&MRNN, and adding the strategy to save all models by @WenjieDu in https://github.com/WenjieDu/PyPOTS/pull/284
  • Making PyPOTS able to save all models during training, checking if d_model=n_heads*d_k for SAITS and Transformer by @WenjieDu in https://github.com/WenjieDu/PyPOTS/pull/287
  • Fixing MRNN by @WenjieDu in https://github.com/WenjieDu/PyPOTS/pull/286
  • Fix issues in MRNN and update the hyperparameter tuning functionality by @WenjieDu in https://github.com/WenjieDu/PyPOTS/pull/288
  • Fixing the type error of random_seed in pypots.cli.tuning and updating the docs by @WenjieDu in https://github.com/WenjieDu/PyPOTS/pull/289
  • Updating load_dict_from_h5() by @WenjieDu in https://github.com/WenjieDu/PyPOTS/pull/290

Full Changelog: https://github.com/WenjieDu/PyPOTS/compare/v0.2.1...v0.3

Notes

If you use PyPOTS, please cite it as below.

Files

WenjieDu/PyPOTS-v0.3.zip

Files (352.1 kB)

Name Size Download all
md5:b135af1bcfb897a4c6847e6dd3e157ed
352.1 kB Preview Download

Additional details

Related works

Is supplement to
Software: https://github.com/WenjieDu/PyPOTS/tree/v0.3 (URL)