SkillAgentSearch skills...

PyPOTS

A Python toolkit/library for reality-centric machine/deep learning and data mining on partially-observed time series, including SOTA neural network models for scientific analysis tasks of imputation/classification/clustering/forecasting/anomaly detection/cleaning on incomplete industrial (irregularly-sampled) multivariate TS with NaN missing values

Install / Use

/learn @WenjieDu/PyPOTS

README

<img src="https://pypots.com/figs/icons/translate.svg" width="18"> 简体中文 | English

<a href="https://github.com/WenjieDu/PyPOTS"> <img src="https://pypots.com/figs/pypots_logos/PyPOTS/logo_FFBG.svg" width="200" align="right"> </a> <h3 align="center">Welcome to PyPOTS</h3> <p align="center"><i>a Python toolbox for machine learning on Partially-Observed Time Series</i></p> <p align="center"> <a href="https://docs.pypots.com/en/latest/install.html#reasons-of-version-limitations-on-dependencies"> <img alt="Python version" src="https://img.shields.io/badge/Python-v3.8+-F8C6B5?logo=python&logoColor=white"> </a> <a href="https://landscape.pytorch.org/?item=modeling--specialized--pypots"> <img alt="Pytorch landscape" src="https://img.shields.io/badge/PyTorch%20Landscape-EE4C2C?logo=pytorch&logoColor=white"> </a> <a href="https://github.com/WenjieDu/PyPOTS/blob/main/LICENSE"> <img alt="BSD-3 license" src="https://img.shields.io/badge/License-BSD--3-E9BB41?logo=opensourceinitiative&logoColor=white"> </a> <a href="https://github.com/WenjieDu/PyPOTS?tab=coc-ov-file"> <img alt="Code of Conduct" src="https://img.shields.io/badge/Contributor_Covenant-2.1-4baaaa"> </a> <a href="https://github.com/WenjieDu/PyPOTS#-community"> <img alt="Community" src="https://img.shields.io/badge/join_us-community!-C8A062"> </a> <a href="https://github.com/WenjieDu/PyPOTS/releases"> <img alt="the latest release version" src="https://img.shields.io/github/v/release/wenjiedu/pypots?color=EE781F&include_prereleases&label=Release&logo=github&logoColor=white"> </a> <a href="https://github.com/WenjieDu/PyPOTS/graphs/contributors"> <img alt="GitHub contributors" src="https://img.shields.io/github/contributors/wenjiedu/pypots?color=D8E699&label=Contributors&logo=GitHub"> </a> <a href="https://star-history.com/#wenjiedu/pypots"> <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/wenjiedu/pypots?logo=None&color=6BB392&label=%E2%98%85%20Stars"> </a> <a href="https://github.com/WenjieDu/PyPOTS/network/members"> <img alt="GitHub Repo forks" src="https://img.shields.io/github/forks/wenjiedu/pypots?logo=forgejo&logoColor=black&label=Forks"> </a> <a href="https://sonarcloud.io/component_measures?id=WenjieDu_PyPOTS&metric=sqale_rating&view=list"> <img alt="maintainability" src="https://sonarcloud.io/api/project_badges/measure?project=WenjieDu_PyPOTS&metric=sqale_rating"> </a> <a href="https://coveralls.io/github/WenjieDu/PyPOTS?branch=full_test"> <img alt="Coveralls coverage" src="https://img.shields.io/coverallsCoverage/github/WenjieDu/PyPOTS?branch=full_test&logo=coveralls&color=75C1C4&label=Coverage"> </a> <a href="https://github.com/WenjieDu/PyPOTS/actions/workflows/testing_ci.yml"> <img alt="GitHub Testing" src="https://img.shields.io/github/actions/workflow/status/wenjiedu/pypots/testing_ci.yml?logo=circleci&color=C8D8E1&label=CI"> </a> <a href="https://docs.pypots.com"> <img alt="Docs building" src="https://img.shields.io/readthedocs/pypots?logo=readthedocs&label=Docs&logoColor=white&color=395260"> </a> <a href="https://deepwiki.com/WenjieDu/PyPOTS"> <img alt="Ask DeepWiki" src="https://deepwiki.com/badge.svg"> </a> <a href="https://github.com/psf/black"> <img alt="Code Style" src="https://img.shields.io/badge/Code_Style-black-000000"> </a> <a href="https://anaconda.org/conda-forge/pypots"> <img alt="Conda downloads" src="https://pypots.com/figs/downloads_badges/conda_pypots_downloads.svg"> </a> <a href="https://pepy.tech/project/pypots"> <img alt="PyPI downloads" src="https://pypots.com/figs/downloads_badges/pypi_pypots_downloads.svg"> </a> <a href="https://arxiv.org/abs/2305.18811"> <img alt="arXiv DOI" src="https://img.shields.io/badge/DOI-10.48550/arXiv.2305.18811-F8F7F0"> </a> </p>

⦿ Motivation: Due to all kinds of reasons like failure of collection sensors, communication error, and unexpected malfunction, missing values are common to see in time series from the real-world environment. This makes partially-observed time series (POTS) a pervasive problem in open-world modeling and prevents advanced data analysis. Although this problem is important, the area of machine learning on POTS still lacks a dedicated toolkit. PyPOTS is created to fill in this blank.

⦿ Mission: PyPOTS (pronounced "Pie Pots") is born to become a handy toolbox that is going to make machine learning on POTS easy rather than tedious, to help engineers and researchers focus more on the core problems in their hands rather than on how to deal with the missing parts in their data. PyPOTS will keep integrating classical and the latest state-of-the-art machine learning algorithms for partially-observed multivariate time series. For sure, besides various algorithms, PyPOTS is going to have unified APIs together with detailed documentation and interactive examples across algorithms as tutorials.

🤗 Please star this repo to help others notice PyPOTS if you think it is a useful toolkit. Please kindly cite PyPOTS in your publications if it helps with your research. This really means a lot to our open-source research. Thank you!

The rest of this readme file is organized as follows: ❖ Available Algorithms, ❖ PyPOTS Ecosystem, ❖ Installation, ❖ Usage, ❖ Citing PyPOTS, ❖ Contribution, ❖ Community.

❖ Available Algorithms

PyPOTS supports imputation, classification, clustering, forecasting, and anomaly detection tasks on multivariate partially-observed time series with missing values. The table below shows the availability of each algorithm (sorted by Year) in PyPOTS for different tasks. The symbol indicates the algorithm is available for the corresponding task (note that models will be continuously updated in the future to handle tasks that are not currently supported. Stay tuned❗️).

🌟 Since v0.2, all neural-network models in PyPOTS has got hyperparameter-optimization support. This functionality is implemented with the Microsoft NNI framework. You may want to refer to our time-series imputation survey and benchmark repo Awesome_Imputation to see how to config and tune the hyperparameters.

🔥 Note that all models whose name with 🧑‍🔧 in the table (e.g. Transformer, iTransformer, Informer etc.) are not originally proposed as algorithms for POTS data in their papers, and they cannot directly accept time series with missing values as input, let alone imputation. To make them applicable to POTS data, we specifically apply the embedding strategy and training approach (ORT+MIT) the same as we did in the SAITS paper[^1].

The task types are abbreviated as follows: IMPU: Imputation; FORE: Forecasting; CLAS: Classification; CLUS: Clustering; ANOD: Anomaly Detection. In addition to the 5 tasks, PyPOTS also provides TS2Vec[^48] for time series representation learning and vectorization. The paper references and links are all listed at the bottom of this file.

| Type | Algo | IMPU | FORE | CLAS | CLUS | ANOD | Year - Venue | |:--------------|:------------------------------------------------------------------------------------------------------------------------------------------------|:--------:|:--------:|:--------:|:--------:|:--------:|:---------------------------------------------------------------------------------------------------------| | LLM&TSFM | <a href="https://time-series.ai"><img src="https://pypots.com/figs/timeseriesai/logo.png" width="26px" align="center">Time-Series.AI</a> [^36] | ✅ | ✅ | ✅ | ✅ | ✅ | <a href="https://docs.google.com/forms/d/1Ff2ndYUFQEL3tIcwtcR8lWeopQ2vTXX6D_x8WGFKH6E">Join waitlist</a> | | Neural Net | MixLinear🧑‍🔧[^52] | | ✅ | | | | 2026 - ICLR | | Neural Net | TEFN🧑‍🔧[^39] | ✅ | ✅ | ✅ | | ✅ | 2025 - TPAMI | | Neural Net | TimeMixer++[^49] | ✅ | ✅ | | | ✅ | 2025 - ICLR | | LLM | Time-LLM🧑‍🔧[^45] | ✅ | ✅ | | | | 2024 - ICLR | | TSFM | MOMENT[^47] | ✅ | ✅ | |

Related Skills

View on GitHub
GitHub Stars2.0k
CategoryData
Updated2d ago
Forks182

Languages

Python

Security Score

100/100

Audited on Mar 21, 2026

No findings