Giter Site home page Giter Site logo

awesome_time_series_in_python's Introduction

Using python to work with time series data

The python ecosystem contains different packages that can be used to process time series.

The following list is by no means exhaustive, feel free to edit the list (will propose a file change via PR) if you miss anything.

Machine learning, statistics, analytics

Libraries

Project Name Description
Arrow A sensible, human-friendly approach to creating, manipulating, formatting and converting dates, times, and timestamps
bta-lib Technical Analysis library in pandas for backtesting algotrading and quantitative analysis
cesium Time series platform with feature extraction aiming for non uniformly sampled signals
Darts A library making it very easy to produce forecasts using a wide range of models, from ARIMA to deep learning. Also does ensembling, model selection and more.
ETNA A python library for time series forecasting and analysis with temporal data structure always in mind. Includes a variety of predictive models with unified interface along with EDA and validation methods
GENDIS Shapelet discovery by genetic algorithms
glm-sklearn scikit-learn compatible wrapper around the GLM module in statsmodels
Featuretools Time series feature extraction, with possible conditionality on other variables with a pandas compatible relational-database-like data container
fecon235 Computational tools for financial economics
ffn financial function library
flint A Time Series Library for Apache Spark
Flow Forecast Flow Forecast is a deep learning for time series forecasting, classification, and anomaly detection framework built in PyTorch
hctsa Matlab based feature extraction which can be controlled from python
HMMLearn Hidden Markov Models with scikit-learn compatible API
khiva-python A Time Series library with accelerated analytics on GPUS, it provides feature extraction and motif discovery among other functionalities.
matrixprofile-ts Python implementation of the Matrix Profile algorithm which offers anomaly detection and pattern (or “motif”) discovery at the same time.
Nitime Timeseries analysis for neuroscience data
Orbit Orbit is a Python package for Bayesian time series forecasting and inference
Pandas TA An easy to use Python 3 Pandas Extension with 130+ Technical Analysis Indicators
Pastas Timeseries analysis for hydrological data
prophet Time series forecasting for time series data that has multiple seasonality with linear or non-linear growth
pyDSE ARMA models for Dynamic System Estimation
pyFTS Fuzzy set rule-based models for time series forecasting, including multi-step, point, interval and probabilistic forecasting
PyFlux Classical time series forecasting models
pysf A scikit-learn compatible machine learning library for supervised/panel forecasting
pyramid port of R's auto.arima method to Python
pytorch-forecasting A time series forecasting library using PyTorch with various state-of-the-art network architectures.
pyts Contains time series preprocessing, transformation as well as classification techniques
ruptures Provides methods to find change points in time series such as shifts in the mean or scale of the signal as well as more complex changes in the probability distribution or frequency.
seglearn Extends the scikit-learn pipeline concept to sequence data
sktime A scikit-learn compatible library for learning with time series/panel data including time series classification/regression and (supervised/panel) forecasting
statsmodels Contains a submodule for classical time series models and hypothesis tests
stumpy Calculates matrix profile for time series subsequence all-pairs-similarity-search
TensorFlow-Time-Series-Examples Time Series Prediction with tf.contrib.timeseries
tensorflow_probability.sts Bayesian Structural Time Series model in Tensorflow Probability
timemachines Functional interface to prophet and other packages, with Elo ratings
Traces A library for unevenly-spaced time series analysis
ta-lib Calculate technical indicators for financial time series (python wrapper around TA-Lib)
tsai State-of-the-art Deep Learning with Time Series and Sequences in Pytorch / fastai
ta Calculate technical indicators for financial time series
TIMEX Library for creating time-series-forecasting-as-a-service platforms/websites, with a fully automated data ingestion, pre-processing, prediction and results visualization pipeline.
tsflex A toolkit for flexible time series processing and feature extraction.
tsfresh Extracts and filters features from time series, allowing supervised classificators and regressor to be applied to time series data
tslearn Direct time series classifiers and regressors
tspreprocess Preprocess time series (resampling, denoising etc.), still WIP
tsmoothie A python library for time-series smoothing and outlier detection in a vectorized way

Examples or singular models

Project Name Description
ES-RNN forecasting algorithm Python implementation of the winning forecasting method of the M4 competition combining exponential smoothing with a recurrent neural network using PyTorch
Deep learning methods for time series classification A collection of common deep learning architectures for time series classification
LSTM-Neural-Network-for-Time-Series-Prediction LSTM based forecasting model
LSTM_tsc An LSTM based time-series classification neural network
shapelets-python Shapelet Classifier based on a multi layer neural network
M4 competition Collection of statistical and machine learning forecasting methods
UCR_Time_Series_Classification_Deep_Learning_Baseline Fully Convolutional Neural Networks for state-of-the-art time series classification
WTTE-RNN Time to Event forecast by RNN based Weibull density estimation

Time series data container

Project name Description
Featuretools Time series feature extraction, with possible conditionality on other variables with a pandas compatible relational-database-like data container
pysf A scikit-learn compatible library for supervised forecasting
xarray Labelled, multi-dimensional data structures as long as they have a shared time index
xpandas Labelled 1D and 2D data container for storing type-heterogeneous tabular data of any type, including time series, and encapsulates feature extraction and transformation modelling in an sklearn-compatible transformer interface, work in progress.

Data sets

Project Name Description
awesome-public-datasets This huge list of public datasets also has a section on time series datasets
ecmwf_models Readers and converters for climate reanalysis data
M4 competition Forecasting competition on 100,000 time series
pandas-datareader Pulls financial data from different sources (e.g. yahoo, google, Quandl)
Timeseriesclassification.com An extensive repository for time series classification datasets

Databases, frameworks

Project Name Description
artic High performance datastore for time series and tick data
automl_service Fully automated time series classification pipeline, deployed as a web service
cesium Time series platform with feature extraction aming for non uniformly sampled signals
thunder scalable analysis of image and time series data in python based on spark
whisper File-based time-series database format

Free courses

Project Name Description
Time Series Forecasting Udacity free course to learn about how to build and apply time series analysis/forecasting in business contexts

Discussion

We would like to trigger a homogenization of the formats which are used in the python time series community, please see the concept page

awesome_time_series_in_python's People

Contributors

0asa avatar alexmv12 avatar animator avatar deepcharles avatar filipefilardi avatar gokkulnath avatar hrzn avatar ikintosh avatar isaacmg avatar jdb78 avatar jescobedo avatar jonasvdd avatar junpenglao avatar maxbenchrist avatar microprediction avatar mloning avatar mo-saif avatar ogaday avatar petroniocandido avatar raoulcollenteur avatar rlshuhart avatar twopirllc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome_time_series_in_python's Issues

Add Arrow library

Arrow would also fit quite nicely here, in the general timestamps & dates handling category. From the docs:

Arrow is a Python library that offers a sensible, human-friendly approach to creating, manipulating, formatting and converting dates, times, and timestamps. It implements and updates the datetime type, plugging gaps in functionality, and provides an intelligent module API that supports many common creation scenarios. Simply put, it helps you work with dates and times with fewer imports and a lot less code.

where to find repo for multivariate time series classification or regression

great material thanks
may you clarify :
where to find repo for multivariate time series classification or regression
1
where all values are continues values
2
or even will it work for multivariate time series where values are mixture of continues and categorical values
for example 2 dimensions have continues values and 3 dimensions are categorical values

color        weight     gender  height  age  

1 black 56 m 160 34
2 white 77 f 170 54
3 yellow 87 m 167 43
4 white 55 m 198 72
5 white 88 f 176 32

Add matrixprofile-ts to list

Thanks for the great list.!

I think you should add the following: matrixprofile-ts[https://github.com/target/matrixprofile-ts]

Helps find the matrixprofile of time series, which then can be used to quickly find other information (like motifs).

Add traces library

First of all, looks like a great resource - definitely some libraries I haven't seen before, thanks.

I think traces would fit very well here. From the docs:

A Python library for unevenly-spaced time series analysis.

Updated time series software list

Hi, I took the liberty to update your list of time series related software and copy it into our wiki here, hope that's okay, of course feel free to include any of my changes into your list (I'm happy to work on this list together, but PRs seemed a little too complicated for that).

Recommend!!! HyperTS: A Full-Pipeline Automated Time Series Analysis Toolkit.

Hi,
Recommend an automatic time series toolkit HyperTS.
Github: https://github.com/DataCanvasIO/HyperTS

Easy-to-use, powerful, unified full pipeline automated time series toolkit. Supports forecasting, classification and regression.

HyperTS is a Python package that provides an end-to-end time series (TS) analysis toolkit. It covers complete and flexible AutoML workflows for TS, including data clearning, preprocessing, feature engineering, model selection, hyperparamter optimization, result evaluation, and visualization.

Multi-mode drive, light-heavy combination is the highlighted features of HyperTS. Therefore, statistical models (STATS), deep learning (DL), and neural architecture search (NAS) can be switched arbitrarily to get a powerful TS estimator.

pyFTS: Fuzzy Time Series for Python

Hi,

I would humbly like to ask you to include my library pyFTS on your awesome list. pyFTS is a free and open-source library for Fuzzy Time Series in Python programming language. Here follow some materials about it:

Part II: High order, weighted and multivariate methods and a case study of solar energy forecasting. (https://towardsdatascience.com/a-short-tutorial-on-fuzzy-time-series-part-ii-with-an-case-study-on-solar-energy-bda362ecca6d )

Part III: Interval and probabilistic forecasting, non-stationary time series, concept drifts and time variant models. (https://towardsdatascience.com/a-short-tutorial-on-fuzzy-time-series-part-iii-69445dff83fb)

More example codes: https://github.com/PYFTS/notebooks

Please do not hesitate to get in touch and ask any questions. Thanks in advance.

FB Prophet against others

Sorry to ask a question using issue.
You have a tremendous article on time series analysis. Please, may you suggest a tool/python library preferably that works well for predicting a number of cars on the street at hourly level.
Right now I am using FbProphet, the predictions are off by 20% (MAPE). Trying to predict one week into the future.

Find generators for synthetic time series data sets

Thanks a lot for this awesome repo ;)
I only found a few data sets that include time series data.
Do you know a way to artificially generate time series data?
That'd be incredibly helpful.
Thanks a lot!
Willi

Include tsmoothie

I recommend you insert tsmoothie: A python library for time-series smoothing and outlier detection in a vectorized way

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.