π Time series resources π
A collection of resources for working with sequential and time series data
- π Time series resources π
π¦ Packages
Python
- adtk A Python toolkit for rule-based/unsupervised anomaly detection in time series.
- aeon A unified framework for machine learning with 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.
- 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.
- fost Forecasting open source tool aims to provide an easy-use tool for spatial-temporal forecasting.
- functime Time-series machine learning and embeddings at scale.
- 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. - HyperTS A Full-Pipeline Automated Time Series (AutoTS) Analysis Toolkit.
- 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.
- libmaxdiv Implementation of the Maximally Divergent Intervals algorithm for Anomaly Detection in multivariate spatio-temporal time-series.
- 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.
- neuralforecast Scalable and user friendly neural brain forecasting algorithms.
- nixtla Automated time series processing and forecasting.
- 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.
- pyaf PyAF is an Open Source Python library for Automatic Time Series Forecasting built on top of popular pydata modules.
- 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.
- pyFTS An open source library for Fuzzy Time Series in Python.
- Pyod A Python toolbox for scalable outlier detection (Anomaly Detection).
- PyPOTS A python toolbox/library for data mining on partially-observed time series (A.K.A. irregularly-sampled time series), supporting tasks of forecasting/imputation/classification/clustering on incomplete multivariate time series with missing values.
- pyspi Comparative analysis of pairwise interactions in multivariate time series.
- rrcf Implementation of the Robust Random Cut Forest algorithm for anomaly detection on streams.
- scalecast A scalable 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.
- skforecast Time series forecasting with scikit-learn models.
- sktime A
scikit-learn
compatible Python toolbox for learning with time series. - statsforecast Lightning β‘ fast forecasting with statistical and econometric models.
- 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.
- tick Module for statistical learning, with a particular emphasis on time-dependent modelling.
- 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.
- torchtime Time series data sets for PyTorch.
- TSDB Time-Series DataBase: A Python toolbox helping load time-series datasets easily.
- tsai State-of-the-art Deep Learning library for Time Series and Sequences.
- tscv Time Series Cross-Validation - an extension for scikit-learn.
- tsflex Flexible time series feature extraction & processing.
- tslearn The machine learning toolkit for time series analysis in Python.
- tslumen A library for Time Series Exploratory Data Analysis (EDA).
- 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
- AntroPy Time-efficient algorithms for computing the entropy and complexity of time-series.
- catch22 CAnonical Time-series CHaracteristics, 22 high-performing time-series features in C, Python and Julia.
- featuretools An open source python library for automated feature engineering.
- tsfeatures Calculates various features from time series data. Python implementation of the R package tsfeatures.
- tsfel An intuitive library to extract features from time series.
- tsflex Flexible & efficient time series feature extraction & processing package.
- 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.
- RBEAST Bayesian Change-Point Detection and Time Series Decomposition.
- 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.
- DeepEcho Synthetic Data Generation for mixed-type, multivariate time series.
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.
- plotly-resampler Wrapper for Plotly figures, making large sequential plots scalable.
- seaborn A data visualization library based on matplotlib that provides a high-level interface for drawing attractive and informative statistical graphics.
- tsdownsample Extremely fast time series downsampling for visualisation.
Benchmarking & Contests
- timeseries-elo-ratings computes Elo ratings.
- m6 Provides utilities for the M6-Competition
- Microprediction time-series competitions
- SKAB Skoltech Anomaly Benchmark. Time-series data for evaluating Anomaly Detection algorithms.
R
- bcp Bayesian Analysis of Change Point Problems.
- CausalImpact An R package for causal inference using Bayesian structural time-series models.
- changepoint Implements various mainstream and specialised changepoint methods for finding single and multiple changepoints within data.
- cpm Sequential and Batch Change Detection Using Parametric and Nonparametric Methods.
- EnvCpt Detection of Structural Changes in Climate and Environment Time Series.
- fable A tidyverts package for tidy time series forecasting.
- fasster A tidyverts package for forecasting with additive switching of seasonality, trend and exogenous regressors.
- feasts A tidyverts package for feature extraction and statistics for time series.
- fpop Segmentation using Optimal Partitioning and Function Pruning.
- greybox Regression model building and forecasting in R.
- modeltime Modeltime unlocks time series forecast models and machine learning in one framework.
- penaltyLearning Algorithms for supervised learning of penalty functions for change detection.
- Rcatch22 R package for calculation of 22 CAnonical Time-series CHaracteristics.
- smooth The set of smoothing functions used for time series analysis and in forecasting.
- theft R package for Tools for Handling Extraction of Features from Time series.
- timetk A
tidyverse
toolkit to visualize, wrangle, and transform time series data. - tsibble A tidyverts package with tidy temporal data frames and tools.
- tsrepr TSrepr: R package for time series representations.
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.
MATLAB
- hctsa Highly comparative time-series analysis.
ποΈ 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.
- SiriDB An highly-scalable, robust and super fast time series database.
- TimeScaleDB TimescaleDB is the leading open-source relational database with support forΒ time-series data.
- TDengine An open-source time-series database with high-performance, scalability and SQL support.
Managed database services
- Amazon Timestream A fast, scalable, and serverless time series database service for IoT and operational applications.
- Azure Database for PostgreSQL Fully managed, intelligent, and scalable PostgreSQL with support for TimeScaleDB.
- Azure time series insights Visualize IoT data in real time.
- InfluxDB Cloud Itβs a fast, elastic, serverless real-time monitoring platform, dashboarding engine, analytics service and event and metrics processor.
- TimeScaleDB Cloud Managed TimeScaleDB service.
- TDengine Cloud Serverless, fully managed cloud service for time series data
βοΈ 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
-
TS2Vec: Towards Universal Representation of Time Series, Zhihan Yue, Yujing Wang, Juanyong Duan, Tianmeng Yang, Congrui Huang, Yunhai Tong, Bixiong Xu, 2022
-
Conformal prediction interval for dynamic time-series, Chen Xu, Yao Xie, International Conference on Machine Learning 2021 (long presentation)
-
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.
-
Coherence-based Label Propagation over Time Series for Accelerated Active Learning, Yooju Shin, Susik Yoon, Sundong Kim, Hwanjun Song, Jae-Gil Lee, Byung Suk Lee, ICLR, 2022.
π» Repos with Models
- ESRNN-GPU PyTorch GPU implementation of the ES-RNN model for time series forecasting.
- LSTM-Neural-Network-for-Time-Series-Prediction LSTM built using Keras Python package to predict time series steps and sequences.
- ROCKET Exceptionally fast and accurate time series classification using random convolutional kernels.
- TensorFlow-Time-Series-Examples Time Series Prediction with
tf.contrib.timeseries
- TimeSeries Implementation of deep learning models for time series in PyTorch.
- UCR_Time_Series_Classification_Deep_Learning_Baseline Fully Convlutional Neural Networks for state-of-the-art time series classification.
- wtte-rnn WTTE-RNN a framework for churn and time to event prediction.
βοΈ Web Applications
- CompEngine A self-organizing database of time-series data, that allows you to upload time-series data and interactively visualize similar data that have been measured by others.
π Books
- Bayesian Time Series Models π² David Barber, A. Taylan Cemgil, Silvia Chiappa, Cambridge Academic Press 2011
- Codeless Time Series Analysis with KNIME π² Corey Weisinger, Maarit Widmann, and Daniele Tonini, Packt Publishing 2022
- Forecasting principles and practice (3rd ed) π Rob J Hyndman and George Athanasopoulos 2021
- Practical Time Series Analysis π² Avishek Pal, PKS Prakash, Packt 2017
- Practical Time Series Analysis: Prediction with Statistics and Machine Learning π² Aileen Nielsen, OβReilly 2019
- Machine Learning for Time-Series with Python π² Ben Auffarth, Packt Publishing 2021
- Time Series Analysis Handbook π Students of PhD in Data Science Batch 2023 at the Asian Institute of Management.
- Visualization of Time-Oriented Data π² Wolfgang Aigner, Silvia Miksch, Heidrun Schumann, Christian Tominski, Springer-Verlag 2011
π Courses
- Analytics Vidhya - Time Series Forecasting using Python
- Coursera - Intro to Time Series Analysis in R
- Coursera - Sequences, Time Series and Prediction
- Coursera - Practical Time Series Analysis
- Data For Science - Time Series for Everyone
- Kaggle - Time Series
- Udacity - Time Series Forecasting
Tutorials
π¬ Communities
- r/TimeSeries Subreddit for graphs of time series and predictions based on time series.
- sktime gitter
- microprediction slack invite.
- pycaret slack see time-series chat.
π 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
- cuge1995/awesome-time-series
- MaxBenChrist/awesome_time_series_in_python
- vinta/awesome-python
- xephonhq/awesome-time-series-database A curated list of awesome time series databases, benchmarks and papers.
- awesome python benchmarks Timeseries benchmarking mostly.
- Alro10/deep-learning-time-series List of state of the art papers focus on deep learning and resources, code and experiments using deep learning for time series forecasting.
- hctsa - time series resources A collection of good resources for time-series analysis (including in other programming languages like python and R).