- Auto Forecast: Automatic forecasting tools search for the best parameters and select the best possible model for a series of time series. These tools are useful for large collections of univariate time series. Includes automatic versions of: Arima, ETS, Theta, CES.
-
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 the
SimpleExponentialfamily for data with no clear trend or seasonality. Examples: SES, Holt’s Winters, SSO. - Benchmark models: classical models for establishing baselines. Examples: Mean, Naive, Random Walk
- Intermittent or Sparse models: suited for series with very few non-zero observations. Examples: CROSTON, ADIDA, IMAPA
- Multiple Seasonalities: suited for signals with more than one clear seasonality. Useful for low-frequency data like electricity and logs. Examples: MSTL and TBATS.
- Theta Models: 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. Examples: Theta, DynamicTheta
- GARCH Model: suited for modeling time series that exhibit non-constant volatility over time. Commonly used in finance to model stock prices, exchange rates, interest rates, and other financial instruments. The ARCH model is a particular case of GARCH.
Automatic Forecasting
AutoARIMA
source
AutoARIMA
*AutoARIMA model. Automatically selects the best ARIMA (AutoRegressive Integrated Moving Average) model using an information criterion. Default is Akaike Information Criterion (AICc).*
source
AutoARIMA.fit
*Fit the AutoARIMA model. Fit an AutoARIMA to a time series (numpy array)
y and optionally
exogenous variables (numpy array) X.*
source
AutoARIMA.predict
Predict with fitted AutoArima.
source
AutoARIMA.predict_in_sample
Access fitted AutoArima insample predictions.
source
AutoARIMA.forecast
*Memory Efficient AutoARIMA predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
source
AutoARIMA.forward
Apply fitted ARIMA model to a new time series.
AutoETS
source
AutoETS
*Automatic Exponential Smoothing model. Automatically selects the best ETS (Error, Trend, Seasonality) model using an information criterion. Default is Akaike Information Criterion (AICc), while particular models are estimated using maximum likelihood. The state-space equations can be determined based on their multiplicative, additive, optimized or ommited components. The
model string parameter defines the ETS equations: E in
[], T in [], and S in [].
For example when model=‘ANN’ (additive error, no trend, and no
seasonality), ETS will explore only a simple exponential smoothing.
If the component is selected as ‘Z’, it operates as a placeholder to ask
the AutoETS model to figure out the best parameter.*
source
AutoETS.fit
*Fit the Exponential Smoothing model. Fit an Exponential Smoothing model to a time series (numpy array)
y
and optionally exogenous variables (numpy array) X.*
source
AutoETS.predict
Predict with fitted Exponential Smoothing.
source
AutoETS.predict_in_sample
Access fitted Exponential Smoothing insample predictions.
source
AutoETS.forecast
*Memory Efficient Exponential Smoothing predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
source
AutoETS.forward
Apply fitted Exponential Smoothing model to a new time series.
AutoCES
source
AutoCES
*Complex Exponential Smoothing model. Automatically selects the best Complex Exponential Smoothing model using an information criterion. Default is Akaike Information Criterion (AICc), while particular models are estimated using maximum likelihood. The state-space equations can be determined based on their simple, parial, optimized or ommited components. The
model string
parameter defines the kind of CES model: for simple CES (withous
seasonality), for simple seasonality (lagged CES), for partial
seasonality (without complex part), for full seasonality (lagged CES
with real and complex seasonal parts).
If the component is selected as ‘Z’, it operates as a placeholder to ask
the AutoCES model to figure out the best parameter.*
source
AutoCES.fit
*Fit the Complex Exponential Smoothing model. Fit the Complex Exponential Smoothing model to a time series (numpy array)
y and optionally exogenous variables (numpy array) X.*
source
AutoCES.predict
Predict with fitted Exponential Smoothing.
source
AutoCES.predict_in_sample
Access fitted Exponential Smoothing insample predictions.
source
AutoCES.forecast
*Memory Efficient Complex Exponential Smoothing predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
source
AutoCES.forward
Apply fitted Complex Exponential Smoothing to a new time series.
AutoTheta
source
AutoTheta
*AutoTheta model. Automatically selects the best Theta (Standard Theta Model (‘STM’), Optimized Theta Model (‘OTM’), Dynamic Standard Theta Model (‘DSTM’), Dynamic Optimized Theta Model (‘DOTM’)) model using mse.*
source
AutoTheta.fit
*Fit the AutoTheta model. Fit an AutoTheta model to a time series (numpy array)
y and optionally
exogenous variables (numpy array) X.*
source
AutoTheta.predict
Predict with fitted AutoTheta.
source
AutoTheta.predict_in_sample
Access fitted AutoTheta insample predictions.
source
AutoTheta.forecast
*Memory Efficient AutoTheta predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
source
AutoTheta.forward
Apply fitted AutoTheta to a new time series.
AutoMFLES
source
AutoMFLES
AutoMFLES
source
AutoMFLES.fit
Fit the model
source
AutoMFLES.predict
Predict with fitted AutoMFLES.
source
AutoMFLES.predict_in_sample
Access fitted AutoMFLES insample predictions.
source
AutoMFLES.forecast
*Memory Efficient AutoMFLES predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
AutoTBATS
source
AutoTBATS
*AutoTBATS model. Automatically selects the best TBATS model from all feasible combinations of the parameters use_boxcox, use_trend, use_damped_trend, and use_arma_errors. Selection is made using the AIC. Default value for use_arma_errors is True since this enables the evaluation of models with and without ARMA errors.*
source
AutoTBATS.fit
*Fit TBATS model. Fit TBATS model to a time series (numpy array)
y.*
source
AutoTBATS.predict
Predict with fitted TBATS model.
source
AutoTBATS.predict_in_sample
Access fitted TBATS model predictions.
source
AutoTBATS.forecast
*Memory Efficient TBATS model. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
ARIMA family
ARIMA
source
ARIMA
*ARIMA model. AutoRegressive Integrated Moving Average model.*
source
ARIMA.fit
Fit the model to a time series (numpy array)
y and optionally
exogenous variables (numpy array) X.
source
ARIMA.predict
Predict with fitted model.
source
ARIMA.predict_in_sample
Access fitted insample predictions.
source
ARIMA.forecast
*Memory efficient predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
source
ARIMA.forward
Apply fitted model to a new time series.
AutoRegressive
source
AutoRegressive
Simple Autoregressive model.
source
AutoRegressive.fit
Fit the model to a time series (numpy array)
y and optionally
exogenous variables (numpy array) X.
source
AutoRegressive.predict
Predict with fitted model.
source
AutoRegressive.predict_in_sample
Access fitted insample predictions.
source
AutoRegressive.forecast
*Memory efficient predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
source
AutoRegressive.forward
Apply fitted model to a new time series.
ExponentialSmoothing
SimpleSmooth
source
SimpleExponentialSmoothing
*SimpleExponentialSmoothing model. Uses a weighted average of all past observations where the weights decrease exponentially into the past. Suitable for data with no clear trend or seasonality. Assuming there are observations, the one-step forecast is given by: The rate at which the weights decrease is called the smoothing parameter. When , SES is equal to the naive method.*
source
SimpleExponentialSmoothing.forecast
*Memory Efficient SimpleExponentialSmoothing predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
source
SimpleExponentialSmoothing.fit
*Fit the SimpleExponentialSmoothing model. Fit an SimpleExponentialSmoothing to a time series (numpy array)
y and
optionally exogenous variables (numpy array) X.*
source
SimpleExponentialSmoothing.predict
Predict with fitted SimpleExponentialSmoothing.
source
SimpleExponentialSmoothing.predict_in_sample
Access fitted SimpleExponentialSmoothing insample predictions.
SimpleSmoothOptimized
source
SimpleExponentialSmoothingOptimized
*SimpleExponentialSmoothing model. Uses a weighted average of all past observations where the weights decrease exponentially into the past. Suitable for data with no clear trend or seasonality. Assuming there are observations, the one-step forecast is given by: The smoothing parameter is optimized by square error minimization.*
source
SimpleExponentialSmoothingOptimized.fit
*Fit the SimpleExponentialSmoothingOptimized model. Fit an SimpleExponentialSmoothingOptimized to a time series (numpy array)
y and optionally exogenous variables (numpy array) X.*
source
SimpleExponentialSmoothingOptimized.predict
Predict with fitted SimpleExponentialSmoothingOptimized.
source
SimpleExponentialSmoothingOptimized.predict_in_sample
Access fitted SimpleExponentialSmoothingOptimized insample predictions.
source
SimpleExponentialSmoothingOptimized.forecast
*Memory Efficient SimpleExponentialSmoothingOptimized predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
SeasonalSmooth
source
SeasonalExponentialSmoothing
*SeasonalExponentialSmoothing model. Uses a weighted average of all past observations where the weights decrease exponentially into the past. Suitable for data with no clear trend or seasonality. Assuming there are observations and season , the one-step forecast is given by: *
source
SeasonalExponentialSmoothing.fit
*Fit the SeasonalExponentialSmoothing model. Fit an SeasonalExponentialSmoothing to a time series (numpy array)
y
and optionally exogenous variables (numpy array) X.*
source
SeasonalExponentialSmoothing.predict
Predict with fitted SeasonalExponentialSmoothing.
source
SeasonalExponentialSmoothing.predict_in_sample
Access fitted SeasonalExponentialSmoothing insample predictions.
source
SeasonalExponentialSmoothing.forecast
*Memory Efficient SeasonalExponentialSmoothing predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
SeasonalSmoothOptimized
source
SeasonalExponentialSmoothingOptimized
*SeasonalExponentialSmoothingOptimized model. Uses a weighted average of all past observations where the weights decrease exponentially into the past. Suitable for data with no clear trend or seasonality. Assuming there are observations and season , the one-step forecast is given by: The smoothing parameter is optimized by square error minimization.*
source
SeasonalExponentialSmoothingOptimized.forecast
*Memory Efficient SeasonalExponentialSmoothingOptimized predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
source
SeasonalExponentialSmoothingOptimized.fit
*Fit the SeasonalExponentialSmoothingOptimized model. Fit an SeasonalExponentialSmoothingOptimized to a time series (numpy array)
y and optionally exogenous variables (numpy array) X.*
source
SeasonalExponentialSmoothingOptimized.predict
Predict with fitted SeasonalExponentialSmoothingOptimized.
source
SeasonalExponentialSmoothingOptimized.predict_in_sample
Access fitted SeasonalExponentialSmoothingOptimized insample predictions.
Holt’s method
source
Holt
*Holt’s method. Also known as double exponential smoothing, Holt’s method is an extension of exponential smoothing for series with a trend. This implementation returns the corresponding
ETS model with additive (A)
or multiplicative (M) errors (so either ‘AAN’ or ‘MAN’).*
source
Holt.forecast
*Memory Efficient Exponential Smoothing predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
source
Holt.fit
*Fit the Exponential Smoothing model. Fit an Exponential Smoothing model to a time series (numpy array)
y
and optionally exogenous variables (numpy array) X.*
source
Holt.predict
Predict with fitted Exponential Smoothing.
source
Holt.predict_in_sample
Access fitted Exponential Smoothing insample predictions.
source
Holt.forward
Apply fitted Exponential Smoothing model to a new time series.
Holt-Winters’ method
source
HoltWinters
*Holt-Winters’ method. Also known as triple exponential smoothing, Holt-Winters’ method is an extension of exponential smoothing for series that contain both trend and seasonality. This implementation returns the corresponding
ETS
model with additive (A) or multiplicative (M) errors (so either ‘AAA’ or
‘MAM’).*
source
HoltWinters.forecast
*Memory Efficient Exponential Smoothing predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
source
HoltWinters.fit
*Fit the Exponential Smoothing model. Fit an Exponential Smoothing model to a time series (numpy array)
y
and optionally exogenous variables (numpy array) X.*
source
HoltWinters.predict
Predict with fitted Exponential Smoothing.
source
HoltWinters.predict_in_sample
Access fitted Exponential Smoothing insample predictions.
source
HoltWinters.forward
Apply fitted Exponential Smoothing model to a new time series.
Baseline Models
HistoricAverage
source
HistoricAverage
*HistoricAverage model. Also known as mean method. Uses a simple average of all past observations. Assuming there are observations, the one-step forecast is given by: *
source
HistoricAverage.forecast
*Memory Efficient HistoricAverage predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
source
HistoricAverage.fit
*Fit the HistoricAverage model. Fit an HistoricAverage to a time series (numpy array)
y.*
source
HistoricAverage.predict
Predict with fitted HistoricAverage.
source
HistoricAverage.predict_in_sample
Access fitted HistoricAverage insample predictions.
Naive
source
Naive
*Naive model. All forecasts have the value of the last observation:
for all *
source
Naive.forecast
*Memory Efficient Naive predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
source
Naive.fit
*Fit the Naive model. Fit an Naive to a time series (numpy.array)
y.*
source
Naive.predict
Predict with fitted Naive.
source
Naive.predict_in_sample
Access fitted Naive insample predictions.
RandomWalkWithDrift
source
RandomWalkWithDrift
*RandomWalkWithDrift model. A variation of the naive method allows the forecasts to change over time. The amout of change, called drift, is the average change seen in the historical data. From the previous equation, we can see that this is equivalent to extrapolating a line between the first and the last observation.*
source
RandomWalkWithDrift.forecast
*Memory Efficient RandomWalkWithDrift predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
source
RandomWalkWithDrift.fit
*Fit the RandomWalkWithDrift model. Fit an RandomWalkWithDrift to a time series (numpy array)
y.*
source
RandomWalkWithDrift.predict
Predict with fitted RandomWalkWithDrift.
source
RandomWalkWithDrift.predict_in_sample
Access fitted RandomWalkWithDrift insample predictions.
SeasonalNaive
source
SeasonalNaive
*Seasonal naive model. A method similar to the naive, but uses the last known observation of the same period (e.g. the same month of the previous year) in order to capture seasonal variations.*
source
SeasonalNaive.forecast
*Memory Efficient SeasonalNaive predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
source
SeasonalNaive.fit
*Fit the SeasonalNaive model. Fit an SeasonalNaive to a time series (numpy array)
y.*
source
SeasonalNaive.predict
Predict with fitted Naive.
source
SeasonalNaive.predict_in_sample
Access fitted SeasonalNaive insample predictions.
WindowAverage
source
WindowAverage
*WindowAverage model. Uses the average of the last observations, with the length of the window. Wider windows will capture global trends, while narrow windows will reveal local trends. The length of the window selected should take into account the importance of past observations and how fast the series changes.*
source
WindowAverage.forecast
*Memory Efficient WindowAverage predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
source
WindowAverage.fit
*Fit the WindowAverage model. Fit an WindowAverage to a time series (numpy array)
y and optionally
exogenous variables (numpy array) X.*
source
WindowAverage.predict
Predict with fitted WindowAverage.
SeasonalWindowAverage
source
SeasonalWindowAverage
*SeasonalWindowAverage model. An average of the last observations of the same period, with the length of the window.*
source
SeasonalWindowAverage.forecast
*Memory Efficient SeasonalWindowAverage predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
source
SeasonalWindowAverage.fit
*Fit the SeasonalWindowAverage model. Fit an SeasonalWindowAverage to a time series (numpy array)
y and
optionally exogenous variables (numpy array) X.*
source
SeasonalWindowAverage.predict
Predict with fitted SeasonalWindowAverage.
Sparse or Intermittent
ADIDA
source
ADIDA
*ADIDA model. Aggregate-Dissagregate Intermittent Demand Approach: Uses temporal aggregation to reduce the number of zero observations. Once the data has been agregated, it uses the optimized SES to generate the forecasts at the new level. It then breaks down the forecast to the original level using equal weights. ADIDA specializes on sparse or intermittent series are series with very few non-zero observations. They are notoriously hard to forecast, and so, different methods have been developed especifically for them.*
source
ADIDA.forecast
*Memory Efficient ADIDA predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
source
ADIDA.fit
*Fit the ADIDA model. Fit an ADIDA to a time series (numpy array)
y.*
source
ADIDA.predict
Predict with fitted ADIDA.
CrostonClassic
source
CrostonClassic
*CrostonClassic model. A method to forecast time series that exhibit intermittent demand. It decomposes the original time series into a non-zero demand size and inter-demand intervals . Then the forecast is given by: where and are forecasted using SES. The smoothing parameter of both components is set equal to 0.1*
source
CrostonClassic.forecast
*Memory Efficient CrostonClassic predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
source
CrostonClassic.fit
*Fit the CrostonClassic model. Fit an CrostonClassic to a time series (numpy array)
y.*
source
CrostonClassic.predict
Predict with fitted CrostonClassic.
CrostonOptimized
source
CrostonOptimized
*CrostonOptimized model. A method to forecast time series that exhibit intermittent demand. It decomposes the original time series into a non-zero demand size and inter-demand intervals . Then the forecast is given by: A variation of the classic Croston’s method where the smooting paramater is optimally selected from the range . Both the non-zero demand and the inter-demand intervals are smoothed separately, so their smoothing parameters can be different.*
source
CrostonOptimized.forecast
*Memory Efficient CrostonOptimized predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
source
CrostonOptimized.fit
*Fit the CrostonOptimized model. Fit an CrostonOptimized to a time series (numpy array)
y.*
source
CrostonOptimized.predict
Predict with fitted CrostonOptimized.
CrostonSBA
source
CrostonSBA
*CrostonSBA model. A method to forecast time series that exhibit intermittent demand. It decomposes the original time series into a non-zero demand size and inter-demand intervals . Then the forecast is given by: A variation of the classic Croston’s method that uses a debiasing factor, so that the forecast is given by: *
source
CrostonSBA.forecast
*Memory Efficient CrostonSBA predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
source
CrostonSBA.fit
*Fit the CrostonSBA model. Fit an CrostonSBA to a time series (numpy array)
y.*
source
CrostonSBA.predict
Predict with fitted CrostonSBA.
IMAPA
source
IMAPA
*IMAPA model. Intermittent Multiple Aggregation Prediction Algorithm: Similar to ADIDA, but instead of using a single aggregation level, it considers multiple in order to capture different dynamics of the data. Uses the optimized SES to generate the forecasts at the new levels and then combines them using a simple average.*
source
IMAPA.forecast
*Memory Efficient IMAPA predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
source
IMAPA.fit
*Fit the IMAPA model. Fit an IMAPA to a time series (numpy array)
y.*
source
IMAPA.predict
Predict with fitted IMAPA.
TSB
source
TSB
*TSB model. Teunter-Syntetos-Babai: A modification of Croston’s method that replaces the inter-demand intervals with the demand probability , which is defined as follows. Hence, the forecast is given by Both and are forecasted using SES. The smooting paramaters of each may differ, like in the optimized Croston’s method.*
source
TSB.forecast
*Memory Efficient TSB predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
source
TSB.fit
*Fit the TSB model. Fit an TSB to a time series (numpy array)
y.*
source
TSB.predict
Predict with fitted TSB.
Multiple Seasonalities
MSTL
source
MSTL
*MSTL model. The MSTL (Multiple Seasonal-Trend decomposition using LOESS) decomposes the time series in multiple seasonalities using LOESS. Then forecasts the trend using a custom non-seaonal model and each seasonality using a SeasonalNaive model.*
source
MSTL.fit
*Fit the MSTL model. Fit MSTL to a time series (numpy array)
y.*
source
MSTL.predict
Predict with fitted MSTL.
source
MSTL.predict_in_sample
Access fitted MSTL insample predictions.
source
MSTL.forecast
*Memory Efficient MSTL predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
source
MSTL.forward
Apply fitted MSTL model to a new time series.
MFLES
source
MFLES
*MFLES model. A method to forecast time series based on Gradient Boosted Time Series Decomposition which treats traditional decomposition as the base estimator in the boosting process. Unlike normal gradient boosting, slight learning rates are applied at the component level (trend/seasonality/exogenous). The method derives its name from some of the underlying estimators that can enter into the boosting procedure, specifically: a simple Median, Fourier functions for seasonality, a simple/piecewise Linear trend, and Exponential Smoothing.*
source
MFLES.fit
Fit the model
source
MFLES.predict
Predict with fitted MFLES.
source
MFLES.predict_in_sample
Access fitted SklearnModel insample predictions.
source
MFLES.forecast
*Memory Efficient MFLES predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
TBATS
source
TBATS
*Trigonometric Box-Cox transform, ARMA errors, Trend and Seasonal components (TBATS) model. TBATS is an innovations state space model framework used for forecasting time series with multiple seasonalities. It uses a Box-Cox tranformation, ARMA errors, and a trigonometric representation of the seasonal patterns based on Fourier series. The name TBATS is an acronym for the key features of the model: Trigonometric, Box-Cox transform, ARMA errors, Trend, and Seasonal components.*
source
TBATS.fit
*Fit TBATS model. Fit TBATS model to a time series (numpy array)
y.*
source
TBATS.predict
Predict with fitted TBATS model.
source
TBATS.predict_in_sample
Access fitted TBATS model predictions.
source
TBATS.forecast
*Memory Efficient TBATS model. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
Theta Family
Standard Theta Method
source
Theta
Standard Theta Method.
source
Theta.forecast
*Memory Efficient AutoTheta predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
source
Theta.fit
*Fit the AutoTheta model. Fit an AutoTheta model to a time series (numpy array)
y and optionally
exogenous variables (numpy array) X.*
source
Theta.predict
Predict with fitted AutoTheta.
source
Theta.predict_in_sample
Access fitted AutoTheta insample predictions.
source
Theta.forward
Apply fitted AutoTheta to a new time series.
Optimized Theta Method
source
OptimizedTheta
Optimized Theta Method.
source
OptimizedTheta.forecast
*Memory Efficient AutoTheta predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
source
OptimizedTheta.fit
*Fit the AutoTheta model. Fit an AutoTheta model to a time series (numpy array)
y and optionally
exogenous variables (numpy array) X.*
source
OptimizedTheta.predict
Predict with fitted AutoTheta.
source
OptimizedTheta.predict_in_sample
Access fitted AutoTheta insample predictions.
source
OptimizedTheta.forward
Apply fitted AutoTheta to a new time series.
Dynamic Standard Theta Method
source
DynamicTheta
Dynamic Standard Theta Method.
source
DynamicTheta.forecast
*Memory Efficient AutoTheta predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
source
DynamicTheta.fit
*Fit the AutoTheta model. Fit an AutoTheta model to a time series (numpy array)
y and optionally
exogenous variables (numpy array) X.*
source
DynamicTheta.predict
Predict with fitted AutoTheta.
source
DynamicTheta.predict_in_sample
Access fitted AutoTheta insample predictions.
source
DynamicTheta.forward
Apply fitted AutoTheta to a new time series.
Dynamic Optimized Theta Method
source
DynamicOptimizedTheta
Dynamic Optimized Theta Method.
source
DynamicOptimizedTheta.forecast
*Memory Efficient AutoTheta predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
source
DynamicOptimizedTheta.fit
*Fit the AutoTheta model. Fit an AutoTheta model to a time series (numpy array)
y and optionally
exogenous variables (numpy array) X.*
source
DynamicOptimizedTheta.predict
Predict with fitted AutoTheta.
source
DynamicOptimizedTheta.predict_in_sample
Access fitted AutoTheta insample predictions.
source
DynamicOptimizedTheta.forward
Apply fitted AutoTheta to a new time series.
ARCH Family
Garch model
source
GARCH
*Generalized Autoregressive Conditional Heteroskedasticity (GARCH) model. A method for modeling time series that exhibit non-constant volatility over time. The GARCH model assumes that at time , is given by: with . Here is a sequence of iid random variables with zero mean and unit variance. The coefficients , , , and , must satisfy the following conditions:
- and for all and .
- . Here it is assumed that for and for .
source
GARCH.fit
*Fit GARCH model. Fit GARCH model to a time series (numpy array)
y.*
source
GARCH.predict
Predict with fitted GARCH model.
source
GARCH.predict_in_sample
Access fitted GARCH model predictions.
source
GARCH.forecast
*Memory Efficient GARCH model. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
ARCH model
source
ARCH
*Autoregressive Conditional Heteroskedasticity (ARCH) model. A particular case of the GARCH(p,q) model where . It assumes that at time , is given by: with . Here is a sequence of iid random variables with zero mean and unit variance. The coefficients and , must be nonnegative and .*
source
ARCH.fit
*Fit GARCH model. Fit GARCH model to a time series (numpy array)
y.*
source
ARCH.predict
Predict with fitted GARCH model.
source
ARCH.predict_in_sample
Access fitted GARCH model predictions.
source
ARCH.forecast
*Memory Efficient GARCH model. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
Machine Learning models
SklearnModel
source
SklearnModel
scikit-learn model wrapper
source
SklearnModel.fit
Fit the model.
source
SklearnModel.predict
Predict with fitted SklearnModel.
source
SklearnModel.predict_in_sample
Access fitted SklearnModel insample predictions.
source
SklearnModel.forecast
*Memory Efficient SklearnModel predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
Fallback Models
ConstantModel
source
ConstantModel
*Constant Model. Returns Constant values.*
source
ConstantModel.forecast
*Memory Efficient Constant Model predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
source
ConstantModel.fit
*Fit the Constant model. Fit an Constant Model to a time series (numpy.array)
y.*
source
ConstantModel.predict
Predict with fitted ConstantModel.
source
ConstantModel.predict_in_sample
Access fitted Constant Model insample predictions.
source
ConstantModel.forward
Apply Constant model predictions to a new/updated time series.
ZeroModel
source
ZeroModel
*Returns Zero forecasts. Returns Zero values.*
source
ZeroModel.forecast
*Memory Efficient Constant Model predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
source
ZeroModel.fit
*Fit the Constant model. Fit an Constant Model to a time series (numpy.array)
y.*
source
ZeroModel.predict
Predict with fitted ConstantModel.
source
ZeroModel.predict_in_sample
Access fitted Constant Model insample predictions.
source
ZeroModel.forward
Apply Constant model predictions to a new/updated time series.
NaNModel
source
NaNModel
*NaN Model. Returns NaN values.*
source
NaNModel.forecast
*Memory Efficient Constant Model predictions. This method avoids memory burden due from object storage. It is analogous to
fit_predict without storing information. It assumes you
know the forecast horizon in advance.*
source
NaNModel.fit
*Fit the Constant model. Fit an Constant Model to a time series (numpy.array)
y.*
source
NaNModel.predict
Predict with fitted ConstantModel.
source
NaNModel.predict_in_sample
Access fitted Constant Model insample predictions.
References
General
- Hyndman, R.J., & Athanasopoulos, G. (2021). “Forecasting: principles and practice, 3rd edition”. OTexts: Melbourne, Australia. OTexts.com/fpp3 Accessed on July 2022.
- Shmueli, G., & Lichtendahl Jr, K. C. (2016). “Practical time series forecasting with R: A hands-on guide”. Axelrod Schnall Publishers.
Automatic Forecasting
Exponential Smoothing
- Charles. C. Holt (1957). “Forecasting seasonals and trends by exponentially weighted moving averages”, ONR Research Memorandum, Carnegie Institute of Technology 52.
- Peter R. Winters (1960). “Forecasting sales by exponentially weighted moving averages”. Management Science.
- Hyndman, Rob, et al (2008). “Forecasting with exponential smoothing: the state space approach”.
- Rob J. Hyndman and George Athanasopoulos (2018). “Forecasting principles and practice, Methods with trend”.
- Rob J. Hyndman and George Athanasopoulos (2018). “Forecasting principles and practice, Methods with seasonality”.
Simple Methods
Sparse Intermittent
- Croston, J. D. (1972). “Forecasting and stock control for intermittent demands”. Journal of the Operational Research Society, 23(3), 289-303.
- Nikolopoulos, K., Syntetos, A. A., Boylan, J. E., Petropoulos, F., & Assimakopoulos, V. (2011). “An aggregate–disaggregate intermittent demand approach (ADIDA) to forecasting: an empirical proposition and analysis”. Journal of the Operational Research Society, 62(3), 544-554.
- Syntetos, A. A., & Boylan, J. E. (2005). “The accuracy of intermittent demand estimates”. International Journal of forecasting, 21(2), 303-314.
- Syntetos, A. A., & Boylan, J. E. (2021). “Intermittent demand forecasting: Context, methods and applications”. John Wiley & Sons.
- Teunter, R. H., Syntetos, A. A., & Babai, M. Z. (2011). “Intermittent demand: Linking forecasting to inventory obsolescence”. European Journal of Operational Research, 214(3), 606-615.
Multiple Seasonalities
Theta Family
GARCH Model
- Engle, R. F. (1982). Autoregressive conditional heteroscedasticity with estimates of the variance of United Kingdom inflation. Econometrica: Journal of the econometric society, 987-1007.
- Bollerslev, T. (1986). Generalized autoregressive conditional heteroskedasticity. Journal of econometrics, 31(3), 307-327.
- Hamilton, J. D. (1994). Time series analysis. Princeton university press.
TBATS Model
- De Livera, A. M., Hyndman, R. J., & Snyder, R. D. (2011). Forecasting time series with complex seasonal patterns using exponential smoothing. Journal of the American statistical association, 106(496), 1513-1527.
- De Livera, Alysha M (2017). Modeling time series with complex seasonal patterns using exponential smoothing. Monash University. Thesis.

