Time series analysis involves examining data points collected over time, with the goal of identifying patterns and trends that can inform future predictions. Here’s a list of all relevant libraries for Time Series Forecasting. Good to have these gems in your bucket:
📚skforecast
Skforecast is a Python library that eases using scikit-learn regressors as single and multi-step forecasters. It also works with any regressor compatible with the scikit-learn API (LightGBM, XGBoost, CatBoost)
📚 PyCaret
PyCaret replaces hundreds of lines of code with few lines only. Its time-series forecasting is in pre-release mode with –pre tag with 30+ algorithms. It includes automated hyperparameter tuning, experiment logging and deployment on cloud.
📚 Darts
Darts contains many models ranging from ARIMA to deep neural networks. It also lets users combine predictions from several models and external regressors, which makes it easier to backtest models.
📚 Flow forecast
Flow forecast is a deep learning for time series forecasting framework. It provides the latest models (transformers, attention models, GRUs) and cutting edge concepts with interpretability metrics. It is the only true end-to-end deep learning for time series forecasting framework.
📚 Auto_TS
Auto_TS train multiple time series models with just one line of code and is a part of AutoML.
📚 sktime
Sktime an extension to scikit-learn includes machine learning time-series for regression, prediction, and classification. This library has the most features with interfaces scikit-learn, statsmodels, TSFresh and PyOD.
📚 Pmdarima
Pmdarima is a wrapper over ARIMA with automatic Hyperparameter tuning for analyzing, forecasting, and visualizing time series data including transformers and feature creation, including Box-Cox and Fourier transformations and a seasonal decomposition tool.
📚 TSFresh
TSFresh is not a forecasting library, per se, but automates feature extraction and selection from time series. It has Dimensionality reduction, Outlier detection and missing values.
📚 Pyflux
Pyflux builds a probabilistic model, very advantageous for tasks where a more complete picture of uncertainty is needed, and the latent variables are treated as random variables through a joint probability.
📚 Prophet
Facebook’s Prophet is a forecasting tool for CSV format and is suitable for strong seasonal data and robust to missing data and outliers.
📚 Statsforecast
Statsforecast offers a collection of univariate time series. It includes ADIDA, HistoricAverage, CrostonClassic, CrostonSBA, CrostonOptimized, SeasonalNaive, IMAPA Naive, RandomWalkWithDrift, TSB, AutoARIMA and ETS.
Impressive fact: It is 20x faster than pmdarima , 500x faster than Prophet,100x faster than NeuralProphet, 4x faster than statsmodels.
📚 NeuralProphet
NeuralProphet is a Neural Network based Time-Series model, inspired by Facebook Prophet and AR-Net, built on PyTorch.
Want to learn more?
Sources
[1] https://moez-62905.medium.com/top-python-libraries-for-time-series-analysis-in-2022-eebe95913085and
[2] https://towardsdatascience.com/5-unexplored-python-libraries-for-time-series-analysis-e9375962fbb2