Installation
You can installStatsForecast with:
Quick Start
Minimal ExampleWhy?
Current Python alternatives for statistical models are slow, inaccurate and don’t scale well. So we created a library that can be used to forecast in production environments or as benchmarks.StatsForecast includes an extensive battery of models that can efficiently fit millions of time series.
Features
- Fastest and most accurate implementations of
AutoARIMA,AutoETS,AutoCES,MSTLandThetain Python. - Out-of-the-box compatibility with Spark, Dask, and Ray.
- Probabilistic Forecasting and Confidence Intervals.
- Support for exogenous Variables and static covariates.
- Anomaly Detection.
- Familiar sklearn syntax:
.fitand.predict.
Highlights
- Inclusion of
exogenous variablesandprediction intervalsfor ARIMA. - 20x faster than
pmdarima. - 1.5x faster than
R. - 500x faster than
Prophet. - 4x faster than
statsmodels. - 1,000,000 series in 30 min with ray.
- Replace FB-Prophet in two lines of code and gain speed and accuracy. Check the experiments here.
- Fit 10 benchmark models on 1,000,000 series in under 5 min.
Examples and Guides
📚 End to End Walkthrough: Model training, evaluation and selection for multiple time series 🔎 Anomaly Detection: detect anomalies for time series using in-sample prediction intervals. 👩🔬 Cross Validation: robust model’s performance evaluation. ❄️ Multiple Seasonalities: how to forecast data with multiple seasonalities using an MSTL. 🔌 Predict Demand Peaks: electricity load forecasting for detecting daily peaks and reducing electric bills. 📈 Intermittent Demand: forecast series with very few non-zero observations. 🌡️ Exogenous Regressors: like weather or pricesModels
Automatic Forecasting
Automatic forecasting tools search for the best parameters and select the best possible model for a group of time series. These tools are useful for large collections of univariate time series.ARIMA Family
These models exploit the existing autocorrelations in the time series.Theta Family
Fit two theta lines to a deseasonalized time series, using different techniques to obtain and combine the two theta lines to produce the final forecasts.Multiple Seasonalities
Suited for signals with more than one clear seasonality. Useful for low-frequency data like electricity and logs.GARCH and ARCH Models
Suited for modeling time series that exhibit non-constant volatility over time. The ARCH model is a particular case of GARCH.Baseline Models
Classical models for establishing baseline.Exponential Smoothing
Uses a weighted average of all past observations where the weights decrease exponentially into the past. Suitable for data with clear trend and/or seasonality. Use theSimpleExponential family for data with no clear trend or seasonality.

