Prediction Models

ForeTiS includes various time series forecasting models, both classical forecasting models as well as machine and deep learning-based methods. In the following pages, we will give some details for all of the currently implemented models. We further included a subpage explaining the Bayesian optimization that we use for our automatic hyperparameter search.

We provide both a workflow running ForeTiS with a command line interface using Docker and as a pip package, see the following tutorials for more details:

In both cases, you need to select the prediction model you want to run - or also multiple ones within the same optimization run. A specific prediction model can be selected by giving the name of the .py file in which it is implemented (without the .py suffix). For instance, if you want to run Extreme Gradient Boost implemented in xgboost.py, you need to specify xgboost.

In the following table, we give the keys for all prediction models as well as links to detailed descriptions and the source code:

Time Series Forecasting Models

Model

Key in ForeTiS

Description

Source Code

Automatic Relevance Determination Regression

ard

Bayesian Regression

ard.py

SARIMA

sarima

SARIMA(X)

sarima.py

SARIMAX

sarimax

SARIMA(X)

sarimax.py

Average Historical

averagehsitorical

Baseline Models

averagehistorical.py

Average Moving

averagemoving

Baseline Models

averagemoving.py

Average Seasonal

averageseasonal

Baseline Models

averageseasonal.py

Average Seasonal Lag

averageseasonallag

Baseline Models

averageseasonallag.py

Bayesian Ridge Regression

bayesridge

Bayesian Regression

bayesridge.py

Exponential Smoothing

es

Exponential Smoothing

es.py

EVARS-GPR

evars-gpr

Gaussian Process Regression

evars-gpr.py

Gaussian Process Regression (TensorFlow Implemetation)

gprtf

Gaussian Process Regression

gprtf.py

Lasso Regression

lasso

Linear Regression

lasso.py

Long Short-Term Memory (LSTM) Network

lstm

LSTM Network

lstm.py

Bayesian Long Short-Term Memory (LSTM) Network

lstmbayes

LSTM Network

lstmbayes.py

Elastic Net Regression

elasticnet

Linear Regression

elasticnet.py

Multilayer Perceptron

mlp

Multilayer Perceptron

mlp.py

Bayesian Multilayer Perceptron

mlpbayes

Multilayer Perceptron

bayesmlp.py

Ridge Regression

ridge

Linear Regression

ridge.py

XGBoost

xgboost

XGBoost

xgboost.py

Also, ForeTiS contains the follwing additional models. These are easy to integrate by just copy and pasting them to the models folder. They do not get support or updates anymore by the authors, as we decided to use other framework for the algorithms, but they still should work.

Additional Time Series Forecasting Models

Model

Key in ForeTiS

Description

Source Code

Gaussian Process Regression (with sklearn framework)

gpr_sklearn

Gaussian Process Regression

gpr_sklearn.py

Bayesian Multilayer Perceptron (with IntelLabs BayesianTorch framework)

mlpbayes_intel

Multilayer Perceptron

mlpbayes_intel.py

Bayesian Long Short-Term Memory (LSTM) Network (with IntelLabs BayesianTorch framework)

lstmbayes_intel

LSTM Network

lstmbayes_intel.py

If you are interested in adjusting an existing model or its hyperparameters: HowTo: Adjust existing prediction models and their hyperparameters.

If you want to integrate your own prediction model: HowTo: Integrate your own prediction model.