Skip to content

Resources for working with time series and sequence data

Notifications You must be signed in to change notification settings

zjcerwin/awesome-time-series

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

69 Commits
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“ˆ Time series resources ๐Ÿ“‰

A collection of resources for working with sequential and time series data

๐Ÿ“ฆ Packages

Python

  • adtk A Python toolkit for rule-based/unsupervised anomaly detection in time series.
  • alibi-detect Algorithms for outlier, adversarial and drift detection.
  • AutoTS A time series package for Python designed for rapidly deploying high-accuracy forecasts at scale.
  • Auto_TS Automatically build ARIMA, SARIMAX, VAR, FB Prophet and XGBoost Models on Time Series data sets with a Single Line of Code. Now updated with Dask to handle millions of rows.
  • catch22 CAnonical Time-series CHaracteristics, 22 high-performing time-series features in C, Python nad Julia.
  • cesium Open-Source Platform for Time Series Inference.
  • darts Time Series Made Easy in Python. A python library for easy manipulation and forecasting of time series.
  • deeptime Python library for analysis of time series data including dimensionality reduction, clustering, and Markov model estimation.
  • dtw-python Python port of R's Comprehensive Dynamic Time Warp algorithm package.
  • etna - ETNA is an easy-to-use time series forecasting framework.
  • gluon-ts Probabilistic time series modeling in Python from AWS.
  • gordo Building thousands of models with time series data to monitor systems.
  • greykite A flexible, intuitive and fast forecasting library from LinkedIn.
  • hmmlearn Hidden Markov Models in Python, with scikit-learn like API.
  • kats A kit to analyze time series data, a lightweight, easy-to-use, generalizable, and extendable framework to perform time series analysis, from understanding the key statistics and characteristics, detecting change points and anomalies, to forecasting future trends.
  • lifelines Survival analysis in Python.
  • luminaire A python package that provides ML driven solutions for monitoring time series data. Luminaire provides several anomaly detection and forecasting capabilities that incorporate correlational and seasonal patterns in the data over time as well as uncontrollable variations.
  • mass-ts Mueen's Algorithm for Similarity Search, a library used for searching time series sub- sequences under z-normalized Euclidean distance for similarity.
  • matrixprofile A Python library making time series data mining tasks, utilizing matrix profile algorithms, accessible to everyone.
  • Merlion A Python library for time series intelligence. It provides an end-to-end machine learning framework that includes loading and transforming data, building and training models, post-processing model outputs, and evaluating model performance.
  • orbit A package for Bayesian forecasting with object-oriented design and probabilistic models under the hood from Uber.
  • pastas An open-source Python framework for the analysis of hydrological time series.
  • pmdarima A statistical library designed to fill the void in Python's time series analysis capabilities, including the equivalent of R's auto.arima function.
  • prophet Tool for producing high quality forecasts for time series data that has multiple seasonality with linear or non-linear growth.
  • PyDLM Bayesian time series modeling package. Based on the Bayesian dynamic linear model (Harrison and West, 1999) and optimized for fast model fitting and inference.
  • PyFlux Open source time series library for Python.
  • Pyod A Python toolbox for scalable outlier detection (Anomaly Detection).
  • scalecast A scaleable forecasting approach for Timeseries in Python
  • scikit-hts Hierarchical Time Series Forecasting with a familiar API.
  • seglearn A python package for machine learning time series or sequences.
  • shyft Time-series for python and c++, including distributed storage and calculations Hydrologic Forecasting Toolbox, high-performance flexible stacks, including calibration Energy-market models and micro services.
  • similarity_measures Quantify the difference between two arbitrary curves.
  • sktime A scikit-learn compatible Python toolbox for learning with time series.
  • statsmodels.tsa Time Series Analysis (tsa) statsmodels.tsa contains model classes and functions that are useful for time series analysis.
  • stumpy A powerful and scalable Python library that can be used for a variety of time series data mining tasks.
  • TICC A python solver for efficiently segmenting and clustering a multivariate time series.
  • timemachines Continuously evaluated, functional, incremental, time-series forecasting.
  • TimeSynth A multipurpose library for synthetic time series in Python.
  • TimeSeers A hierarchical Bayesian Time Series model based on Prophet, written in PyMC3.
  • Time Series Generator Provides a solution for the direct multi-step outputs limitation in Keras.
  • tsai State-of-the-art Deep Learning library for Time Series and Sequences.
  • tsflex Flexible time series feature extraction & processing.
  • tslearn The machine learning toolkit for time series analysis in Python.
  • tsmoothie A python library for time-series smoothing and outlier detection in a vectorized way.

Date and Time

Libraries for working with dates and times.

  • astral Python calculations for the position of the sun and moon.
  • Arrow - A Python library that offers a sensible and human-friendly approach to creating, manipulating, formatting and converting dates, times and timestamps.
  • Chronyk - A Python 3 library for parsing human-written times and dates.
  • dateutil - Extensions to the standard Python datetime module.
  • delorean - A library for clearing up the inconvenient truths that arise dealing with datetimes.
  • maya - Datetimes for Humans.
  • moment - A Python library for dealing with dates/times. Inspired by Moment.js.
  • Pendulum - Python datetimes made easy.
  • PyTime - An easy-to-use Python module which aims to operate date/time/datetime by string.
  • pytz - World timezone definitions, modern and historical. Brings the tz database into Python.
  • when.py - Providing user-friendly functions to help perform common date and time actions.

Feature Engineering

  • featuretools An open source python library for automated feature engineering.
  • tsfel An intuitive library to extract features from time series.
  • tsfresh The package contains many feature extraction methods and a robust feature selection algorithm.

Time Series Segmentation & Change Point Detection

  • bayesian_changepoint_detection Methods to get the probability of a change point in a time series. Both online and offline methods are available.
  • changepy Change point detection in time series in pure python.
  • ruptures A Python library for off-line change point detection. This package provides methods for the analysis and segmentation of non-stationary signals.
  • TCPDBench Turing Change Point Detection Benchmark, a benchmark evaluation of change point detection algorithms.

Time Series Augmentation

  • deltapy Tabular Data Augmentation & Feature Engineering.
  • tsaug A Python package for time series augmentation.
  • time_series_augmentation An example of time series augmentation methods with Keras.

Visualization

  • atlair Declarative statistical visualization library for Python.
  • matplotlib A comprehensive library for creating static, animated, and interactive visualizations in Python.
  • plotly A graphing library makes interactive, publication-quality graphs.
  • seaborn A data visualization library based on matplotlib that provides a high-level interface for drawing attractive and informative statistical graphics.

Benchmarking & Contests

R

  • CausalImpact An R package for causal inference using Bayesian structural time-series models.
  • fable A tidyverts package for tidy time series forecasting.
  • feasts A tidyverts package for feature extraction and statistics for time series.
  • modeltime Modeltime unlocks time series forecast models and machine learning in one framework.
  • timetk A tidyverse toolkit to visualize, wrangle, and transform time series data.
  • tsibble A tidyverts package with tidy temporal data frames and tools.
  • fasster A tidyverts package for forecasting with additive switching of seasonality, trend and exogenous regressors.

Java

  • SFA Scalable Time Series Data Analytics.
  • tsml Java time series machine learning tools in a Weka compatible toolkit.

JavaScript

Visualization

  • cubism A D3 plugin for visualizing time series. Use Cubism to construct better realtime dashboards, pulling data from Graphite, Cube and other sources.
  • echarts A free, powerful charting and visualization library offering an easy way of adding intuitive, interactive, and highly customizable charts to your commercial products.
  • fusiontime Helps you visualize time-series and stock data in JavaScript, with just a few lines of code.
  • highcharts A JavaScript charting library based on SVG, with fallbacks to VML and canvas for old browsers.
  • synchro-charts A front-end component library that provides a collection of components to visualize time-series data.

Spark

  • flint A Time Series Library for Apache Spark.

๐Ÿ—„๏ธ Databases

  • atlas In-memory dimensional time series database from Netflix.
  • cassandra Apache Cassandra is an open source NoSQL distributed database trusted by thousands of companies for scalability and high availability without compromising performance.
  • ClickHouse An open-source, high performance columnar OLAP database management system for real-time analytics using SQL.
  • cratedb The SQL database for complex, large scale time series workloads in industrial IoT.
  • druid A high performance real-time analytics database.
  • fauna Fauna is a flexible, developer-friendly, transactional database delivered as a secure and scalable cloud API with native GraphQL.
  • InfluxDB Is the essential time series toolkit - dashboards, queries, tasks and agents all in one place.
  • KairosDB Fast Time Series Database on Cassandra.
  • opendTSDB The Scalable Time Series Database.
  • prometheus An open-source systems monitoring and alerting toolkit originally built at SoundCloud.
  • QuestDB An open source SQL database designed to process time series data, faster.
  • TimeScaleDB TimescaleDB is the leading open-source relational database with support forย time-series data.

Managed database services

โœ๏ธ Annotation and Labeling

  • AnnotateChange - A simple flask application to collect annotations for the Turing Change Point Dataset, a benchmark dataset for change point detection algorithms.
  • Curve - An open-source tool to help label anomalies on time-series data
  • TagAnomaly - Anomaly detection analysis and labeling tool, specifically for multiple time series (one time series per category)
  • time-series-annotator - Time Series Annotation Library implements classification tasks for time series.
  • WDK - The Wearables Development Toolkit (WDK) is a set of tools to facilitate the development of activity recognition applications with wearable devices.

๐Ÿ“ Papers with code

  • Deep learning for time series classification: a review, H. I. Fawaz, G. Forestier, J. Weber, L. Idoumghar, P-A. Muller, Data Mining and Knowledge Discovery 2019

  • Greedy Gaussian Segmentation of Multivariate Time Series, D. Hallac, P. Nystrup, and S. Boyd, Advances in Data Analysis and Classification, 13(3), 727โ€“751, 2019.

  • U-Time: A Fully Convolutional Network for Time Series Segmentation Applied to Sleep Staging, Mathias Perslev, Michael Jensen, Sune Darkner, Poul Jรธrgen Jennum, Christian Igel, NeurIPS, 2019.

  • A Better Alternative to Piecewise Linear Time Series Segmentation, Daniel Lemire, SIAM Data Mining, 2007.

  • Time-series Generative Adversarial Networks, Jinsung Yoon, Daniel Jarrett, Mihaela van der Schaar, NeurIPS, 2019.

  • Learning to Diagnose with LSTM Recurrent Neural Networks, Zachary C. Lipton, David C. Kale, Charles Elkan, Randall Wetzel, arXiv:1511.03677, 2015.

๐Ÿ’ป Repos with Models

๐Ÿ“š Books

๐ŸŽ“ Courses

๐Ÿ’ฌ Communities

๐Ÿ—ƒ Organizations

๐Ÿ’ผ Commercial Platforms

  • HAKOM TSM Platform Comprehensive functionality for pre-processing and storing time series from different sources in different formats for all analytical and operational purposes.

๐Ÿ•ถ๏ธ More Awesomeness

About

Resources for working with time series and sequence data

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published