PyPOTS  by WenjieDu

PyPOTS: Python toolkit for partially-observed time series ML

created 3 years ago
1,630 stars

Top 26.3% on sourcepulse

GitHubView on GitHub
Project Summary

PyPOTS is a Python toolkit designed for machine learning on partially-observed time series (POTS). It addresses the pervasive issue of missing data in real-world time series by providing a unified platform for imputation, classification, clustering, forecasting, and anomaly detection. The library targets engineers and researchers working with industrial or scientific data, aiming to simplify the handling of missing values and enable focus on core analytical tasks.

How It Works

PyPOTS integrates a wide array of classical and state-of-the-art neural network models, including Transformers, TCNs, and LLMs, specifically adapted for POTS. A key innovation is the ORT+MIT training strategy and embedding approach, which enables models not originally designed for missing data to effectively process and impute POTS. This approach allows for consistent application of advanced architectures to real-world, incomplete datasets.

Quick Start & Requirements

  • Installation: pip install pypots (or conda install conda-forge::pypots, or via Docker).
  • Prerequisites: Python. Specific models may have additional dependencies detailed in their respective documentation.
  • Ecosystem: Includes TSDB for dataset loading, PyGrinder for simulating missingness, and BenchPOTS for benchmarking.
  • Documentation: docs.pypots.com
  • Tutorials: BrewPOTS and a Google Colab notebook.

Highlighted Details

  • Supports 5 core tasks: Imputation, Forecasting, Classification, Clustering, and Anomaly Detection.
  • Features hyperparameter optimization support for neural network models via Microsoft NNI.
  • Includes TS2Vec for time series representation learning.
  • Offers a comprehensive ecosystem for data handling, simulation, and evaluation.

Maintenance & Community

The project is actively maintained and encourages community contributions. Discussions and Q&A are hosted on Slack, with announcements on LinkedIn. The project has seen significant download growth on PyPI.

Licensing & Compatibility

The project appears to be primarily licensed under the MIT License, facilitating commercial use and integration into closed-source projects.

Limitations & Caveats

Some models marked with 🧑‍🔧 were not originally designed for POTS and require specific adaptations (ORT+MIT embedding) to function within PyPOTS, which might introduce nuances in their behavior compared to their original implementations. The project is continuously updating its model support.

Health Check
Last commit

2 days ago

Responsiveness

1+ week

Pull Requests (30d)
12
Issues (30d)
8
Star History
240 stars in the last 90 days

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of AI Engineering, Designing Machine Learning Systems), Didier Lopes Didier Lopes(Founder of OpenBB), and
1 more.

qlib by microsoft

0.7%
28k
AI platform for quantitative investment research and production
created 5 years ago
updated 5 days ago
Feedback? Help us improve.