skforecast/skforecast

Python library for time series forecasting using scikit-learn compatible models, statistical methods, and foundation models

What it solves

Skforecast simplifies the process of time series forecasting by allowing users to leverage machine learning models, statistical methods, and foundation models within a unified framework. It bridges the gap between standard scikit-learn compatible estimators and the specific requirements of time series data, such as lag generation and recursive prediction strategies.

How it works

The library provides "Forecaster" objects that act as containers for training and prediction. It supports various strategies, including recursive and direct forecasting, and can handle single or multiple time series. It integrates seamlessly with any scikit-learn compatible estimator (such as LightGBM, XGBoost, or CatBoost) and also supports deep learning (RNN/LSTM), statistical models (ARIMA, ETS), and foundation models.

Who it’s for

It is designed for data scientists and machine learning engineers who need to build, validate, and deploy production-ready time series forecasting models using Python.

Highlights

  • Scikit-learn Compatibility: Works with any estimator that follows the scikit-learn API.
  • Diverse Forecaster Types: Offers specialized forecasters for recursive, direct, multivariate, and classification tasks.
  • Comprehensive Tooling: Includes built-in tools for feature engineering, hyperparameter tuning, and backtesting for realistic performance evaluation.
  • Flexible Modalities: Supports exogenous features, window features, and probabilistic predictions.