WenjieDu/PyPOTS

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

What it solves

Real-world time series data is often "partially-observed" (POTS), meaning it contains gaps due to sensor failures, communication errors, or equipment malfunctions. These missing values make standard machine learning models difficult to apply. PyPOTS provides a unified, easy-to-use toolkit to handle these missing values and perform downstream analysis.

How it works

PyPOTS offers a standardized API for a wide range of machine learning algorithms, including classical methods and state-of-the-art neural networks. It supports five primary tasks: data imputation (filling in missing values), forecasting, classification, clustering, and anomaly detection. For models not originally designed for missing data, the library applies specific embedding strategies and training approaches (such as ORT+MIT) to ensure they can process partially-observed inputs effectively.

Who it’s for

This project is designed for data scientists, engineers, and researchers working with multivariate time series data who need to perform analysis without getting bogged down by the complexities of data preprocessing and missing-value handling.

Highlights

  • Supports a comprehensive list of algorithms for imputation, forecasting, classification, clustering, and anomaly detection.
  • Provides unified APIs that allow users to switch between different models with minimal code changes.
  • Includes hyperparameter optimization support via the Optuna framework.
  • Part of a broader ecosystem that includes tools for loading datasets (TSDB) and simulating missing data patterns (PyGrinder).

Related

  • Project
  • Project
  • Project
  • Project
  • Project