Forecasting#

The sktime.forecasting module contains algorithms and composition tools for forecasting.

Base#

ForecastingHorizon(values, list, …)

Forecasting horizon.

Naive#

NaiveForecaster([strategy, window_length, sp])

Forecast based on naive assumptions about past trends continuing.

NaiveVariance(forecaster[, verbose])

Compute the prediction variance based on a naive strategy.

Trend#

TrendForecaster([regressor])

Trend based forecasts of time series data.

PolynomialTrendForecaster([regressor, …])

Forecast time series data with a polynomial trend.

STLForecaster([sp, seasonal, trend, …])

Implements STLForecaster based on statsmodels.tsa.seasonal.STL implementation.

Exponential Smoothing#

ExponentialSmoothing([trend, damped_trend, …])

Holt-Winters exponential smoothing forecaster.

AutoETS([error, trend, damped_trend, …])

ETS models with both manual and automatic fitting capabilities.

ARIMA#

AutoARIMA([start_p, d, start_q, max_p, …])

Automatically discover the optimal order for an ARIMA model.

ARIMA([order, seasonal_order, start_params, …])

An ARIMA estimator.

StatsForecast#

StatsForecastAutoARIMA(start_p, d, start_q, …)

StatsForecast AutoARIMA estimator.

Theta#

ThetaForecaster([initial_level, …])

Theta method for forecasting.

BATS/TBATS#

BATS([use_box_cox, box_cox_bounds, …])

BATS forecaster for time series with multiple seasonality.

TBATS([use_box_cox, box_cox_bounds, …])

TBATS forecaster for time series with multiple seasonality.

Croston#

Croston([smoothing])

Croston’s method for forecasting intermittent time series.

Prophet#

Prophet([freq, add_seasonality, …])

Prophet forecaster by wrapping Facebook’s prophet algorithm [R995275cbd543-1].

Unobserved Components#

UnobservedComponents([level, trend, …])

Wrapper class of the UnobservedComponents model from statsmodels.

Composition#

ColumnEnsembleForecaster(forecasters)

Forecast each series with separate forecaster.

EnsembleForecaster(forecasters[, n_jobs, …])

Ensemble of forecasters.

AutoEnsembleForecaster(forecasters[, …])

Automatically find best weights for the ensembled forecasters.

StackingForecaster(forecasters[, regressor, …])

StackingForecaster.

TransformedTargetForecaster(steps)

Meta-estimator for forecasting transformed time series.

ForecastingPipeline(steps)

Pipeline for forecasting with exogenous data.

DirectTabularRegressionForecaster(estimator)

Direct reduction from forecasting to tabular regression.

DirectTimeSeriesRegressionForecaster(estimator)

Direct reduction from forecasting to time-series regression.

MultioutputTabularRegressionForecaster(estimator)

Multioutput reduction from forecasting to tabular regression.

MultioutputTimeSeriesRegressionForecaster(…)

Multioutput reduction from forecasting to time series regression.

RecursiveTabularRegressionForecaster(estimator)

Recursive reduction from forecasting to tabular regression.

RecursiveTimeSeriesRegressionForecaster(…)

Recursive reduction from forecasting to time series regression.

DirRecTabularRegressionForecaster(estimator)

Dir-rec reduction from forecasting to tabular regression.

DirRecTimeSeriesRegressionForecaster(estimator)

Dir-rec reduction from forecasting to time-series regression.

MultiplexForecaster(forecasters[, …])

MultiplexForecaster for selecting among different models.

make_reduction(estimator[, strategy, …])

Make forecaster based on reduction to tabular or time-series regression.

Online Forecasting#

OnlineEnsembleForecaster(forecasters[, …])

Online Updating Ensemble of forecasters.

NormalHedgeEnsemble([n_estimators, a, loss_func])

Parameter free hedging algorithm.

NNLSEnsemble([n_estimators, loss_func])

Ensemble forecasts with Non-negative least squares based weighting.

Model Selection#

CutoffSplitter(cutoffs, …)

Cutoff window splitter.

SingleWindowSplitter(fh, list, …)

Single window splitter.

SlidingWindowSplitter(fh, list, …)

Sliding window splitter.

ExpandingWindowSplitter(fh, list, …)

Expanding window splitter.

ForecastingGridSearchCV(forecaster, cv, …)

Perform grid-search cross-validation to find optimal model parameters.

ForecastingRandomizedSearchCV(forecaster, …)

Perform randomized-search cross-validation to find optimal model parameters.

temporal_train_test_split(y[, X, test_size, …])

Split arrays or matrices into sequential train and test subsets.

Model Evaluation (Backtesting)#

evaluate(forecaster, cv, y[, X, strategy, …])

Evaluate forecaster using timeseries cross-validation.

VAR (Vector Autoregression)#

VAR([maxlags, method, verbose, trend, …])

A VAR model is a generalisation of the univariate autoregressive.

SARIMAX#

SARIMAX([order, seasonal_order, trend, …])

SARIMAX forecaster.