Package: skforecast
PackageMetaTestingDonationAbout The ProjectSkforecastis 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, ...).Why use skforecast?The fields of statistics and machine learning have developed many excellent regression algorithms that can be useful for forecasting, but applying them effectively to time series analysis can still be a challenge. To address this issue, the skforecast library provides a comprehensive set of tools for training, validation and prediction in a variety of scenarios commonly encountered when working with time series. The library is built using the widely used scikit-learn API, making it easy to integrate into existing workflows. With skforecast, users have access to a wide range of functionalities such as feature engineering, model selection, hyperparameter tuning and many others. This allows users to focus on the essential aspects of their projects and leave the intricacies of time series analysis to skforecast. In addition, skforecast is developed according to the following priorities:Fast and robust prototyping. :zap:Validation and backtesting methods to have a realistic assessment of model performance. :mag:Models must be deployed in production. :hammer:Models must be interpretable. :crystal_ball:Share Your Thoughts with UsThank you for choosing skforecast! We value your suggestions, bug reports and recommendations as they help us identify areas for improvement and ensure that skforecast meets the needs of the community. Please consider sharing your experiences, reporting bugs, making suggestions or even contributing to the codebase on GitHub. Together, let's make time series forecasting more accessible and accurate for everyone.DocumentationFor detailed information on how to use and leverage the full potential ofskforecastplease refer to the comprehensive documentation available at:https://skforecast.org:books:InstallationThe default installation of skforecast only installs hard dependencies.pipinstallskforecastSpecific version:pipinstallskforecast==0.11.0Latest (unstable):pipinstallgit+https://github.com/JoaquinAmatRodrigo/skforecast#masterInstall the full version (all dependencies):pipinstallskforecast[full]Install optional dependencies:pipinstallskforecast[sarimax]pipinstallskforecast[plotting]DependenciesPython >= 3.8Hard dependenciesnumpy>=1.20, <1.27pandas>=1.2, <2.2tqdm>=4.57.0, <4.67scikit-learn>=1.0, <1.4optuna>=2.10.0, <3.5joblib>=1.1.0, <1.4Optional dependenciesmatplotlib>=3.3, <3.9seaborn>=0.11, <0.14statsmodels>=0.12, <0.15pmdarima>=2.0, <2.1What is new in skforecast 0.11?Visit therelease notesto view all notable changes.CreateForecasterBaseline.ForecasterEquivalentDate, a Forecaster to create simple model that serves as a basic reference for evaluating the performance of more complex models.Newpredict_quantilesmethod in all Autoreg Forecasters to calculate the specified quantiles for each step.Addedskforecast.datasetsmodule. It contains functions to load data for our examples and user guides.Enhance the management of internal copying in skforecast to minimize the number of copies, thereby accelerating data processing.Bug fixes and performance improvements.ForecastersAForecasterobject in the skforecast library is a comprehensive container that provides essential functionality and methods for training a forecasting model and generating predictions for future points in time.Theskforecastlibrary offers a variety of forecaster types, each tailored to specific requirements such as single or multiple time series, direct or recursive strategies, or custom predictors. Regardless of the specific forecaster type, all instances share the same API.ForecasterSingle seriesMultiple seriesRecursive strategyDirect strategyProbabilistic predictionTime series differentiationExogenous featuresCustom featuresForecasterAutoreg:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:ForecasterAutoregCustom:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:ForecasterAutoregDirect:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:ForecasterMultiSeries:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:ForecasterMultiSeriesCustom:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:ForecasterMultiVariate:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:ForecasterSarimax:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:Main User GuidesIntroduction to time series and forecastingRecursive multi-step forecastingDirect multi-step forecastingIndependent multi-series forecastingDependent multi-series forecasting (Multivariate forecasting)Backtesting (validation) of forecasting modelsHyperparameter tuning and lags selection of forecasting modelsProbabilistic forecastingUsing forecasters in productionExamples and tutorialsEnglishSkforecast: time series forecasting with Python and Scikit-learnARIMA and SARIMAX modelsForecasting with gradient boosting: skforecast, XGBoost, LightGBM and CatBoostModelling time series trend with tree based modelsForecasting electricity demand with PythonForecasting web traffic with machine learning and PythonBitcoin price prediction with PythonPrediction intervals in forecasting modelsMulti-series forecastingReducing the influence of Covid-19 on time series forecasting modelsForecasting time series with missing valuesIntermittent demand forecastingEspañolSkforecast: forecasting series temporales con Python y Scikit-learnModelos ARIMA y SARIMAXForecasting con gradient boosting: skforecast, XGBoost, LightGBM y CatBoostModelar series temporales con tendencia utilizando modelos de árbolesForecasting de la demanda eléctricaForecasting de las visitas a una página webPredicción del precio de Bitcoin con PythonWorkshop predicción de series temporales con machine learning Universidad de Deusto / Deustuko UnibertsitateaIntervalos de predicción en modelos de forecastingMulti-series forecastingPredicción de demanda intermitenteHow to contributePrimarily, skforecast development consists of adding and creating newForecasters, new validation strategies, or improving the performance of the current code. However, there are many other ways to contribute:Submit a bug report or feature request onGitHub Issues.Contribute a Jupyter notebook to ourexamples.Writeunit or integration testsfor our project.Answer questions on our issues, Stack Overflow, and elsewhere.Translate our documentation into another language.Write a blog post, tweet, or share our project with others.For more information on how to contribute to skforecast, see ourContribution Guide.Visit ourauthors sectionto meet all the contributors to skforecast.CitationIf you use skforecast for a scientific publication, we would appreciate citations to the published software.ZenodoAmat Rodrigo, Joaquin, & Escobar Ortiz, Javier. (2023). skforecast (v0.11.0). Zenodo. https://doi.org/10.5281/zenodo.8382788APA:Amat Rodrigo, J., & Escobar Ortiz, J. (2023). skforecast (Version 0.11.0) [Computer software]. https://doi.org/10.5281/zenodo.8382788BibTeX:@software{skforecast,
author = {Amat Rodrigo, Joaquin and Escobar Ortiz, Javier},
title = {skforecast},
version = {0.11.0},
month = {11},
year = {2023},
license = {BSD-3-Clause},
url = {https://skforecast.org/},
doi = {10.5281/zenodo.8382788}
}View thecitation file.DonatingIf you found skforecast useful, you can support us with a donation. Your contribution will help to continue developing and improving this project. Many thanks!LicenseBSD-3-Clause License