Originally posted on analyticsindiamag.

Time series is a sequence of numerical data points in successive order and time series analysis is the technique of analysing the available data to predict the future outcome of an application. At present, time series analysis has been utilised in a number of applications, including stock market analysis, economic forecasting, pattern recognition, and sales forecasting.

Here is a list of top ten Python tools, in no particular order, for Time Series Analysis.

1| Arrow

About: Arrow is a Python library that offers a human-friendly approach to creating, manipulating, formatting and converting dates, times and timestamps. The library implements and updates the datetime type, plugging gaps in functionality and providing an intelligent module API that supports many common creation scenarios. Features include:

  • Fully-implemented, drop-in replacement for datetime
  • Timezone-aware and UTC by default
  • Support for Python 3.6+
  • Shift method with support for relative offsets, including weeks
  • Full support for PEP 484-style type hints

Know more here.

2| Cesium

About: Cesium is an open source library that allows users to extract features from raw time series data, build machine learning models from these features, as well as generate predictions for new data. The cesium library also powers computations within the cesium web interface, which allows similar time series analyses to be performed entirely within the browser.

Know more here.

3| Featuretools

About: Featuretools is an open source Python library for automated feature engineering. The framework excels at transforming temporal and relational datasets into feature matrices for machine learning. Featuretools references generated features through the feature name. In order to make features easier to understand, Featuretools offers two additional tools, featuretools.graph_feature() and featuretools.describe_feature(), to help explain what a feature is and the steps Featuretools took to generate it.

Know more here.


About: TSFRESH or Time Series Feature extraction based on scalable hypothesis tests is a Python package with various feature extraction methods and a robust feature selection algorithm. The package automatically calculates a large number of time series characteristics and contains methods to evaluate the explaining power and importance of such characteristics for regression or classification tasks. Advantages include:

  • It is compatible with sklearn, pandas and numpy
  • It allows anyone to easily add their favorite features
  • It both runs on the local machine or even on a cluster

Know more here.

5| Pastas

About: Pastas is an open-source Python framework designed for processing, simulation and analysis of hydrogeological time series models. Introduced by Raoul A. Collenteur, Mark Bakker, Ruben Calje, Stijn A. Klop and Frans Schaars, this framework has built-in tools for statistically analysing, visualising and optimising time series models. The two major objectives of this library are:

  • To provide a scientific software package for the development and testing of new hydrogeological methods using few lines of Python code
  • To provide an efficient and easy-to-handle library for groundwater practitioners.

Know more here.

6| PyFlux

About: PyFlux is an open source library for time series analysis and prediction. In this library, users can choose from a flexible range of modelling and inference options, and use the output for forecasting and retrospection. The library allows for a probabilistic approach to time series modelling. The latest release version of PyFlux is available on PyPi. Python 2.7 and Python 3.5 are supported, but development occurs primarily on 3.5.

Know more here.

7| TimeSynth

About: TimeSynth is an open source library for generating synthetic time series for model testing. The library can generate regular and irregular time series. The architecture of this library allows the user to match different signals with different architectures allowing a vast array of signals to be generated. At present, the library supports only Python 3.6+ versions.

8| Sktime

About: Sktime is a unified python framework that provides API for machine learning with time series data. The framework also provides scikit-learn compatible tools to build, tune and validate time series models for multiple learning problems, including time series classification, time series regression and forecasting.

Know more here.

9| Darts

About: Darts is a python library for easy manipulation and forecasting of time series. It contains a variety of models, from classics such as ARIMA to neural networks.  Darts supports both univariate and multivariate time series and models, and the neural networks can be trained multiple time series.

Know more here.

10| Orbit

About: Orbit is a Python framework created by Uber for Bayesian time series forecasting and inference. The framework is built on probabilistic programming packages like PyStan and Uber’s own Pyro. At present, Orbit supports the implementations of a few forecasting models, such as Damped Local Trend (DLT), Exponential Smoothing (ETS) and Local Global Trend (LGT).

Know more here.

Source: analyticsindiamag