
ForeTiS: A Forecasting Time Series Framework
ForeTiS is a Python framework that enables the rigorous training, comparison and analysis of predictions for a variety of different models. It is designed for seasonal time-series data. ForeTiS includes multiple state-of-the-art prediction models or machine learning methods, respectively. These range from classical models, such as regularized linear regression over ensemble learners, e.g. XGBoost, to deep learning-based architectures, such as Multilayer Perceptron (MLP). To enable automatic hyperparameter optimization, we leverage state-of-the-art and efficient Bayesian optimization techniques. Besides the named features, the forecasting models can adapt to changing trends and patterns in the data by being regularly updated in different periods with new data by so-called periodical refitting. Doing so can simulate a potential scenario for a productive operation. The subsequent scheme gives an overview of the structure of ForeTiS: In preparation, we summarize the fully automated and configurable data preprocessing and feature engineering. We already integrated several time series forecasting models in model from which the user can choose. Furthermore, the design of this module enables a straightforward integration of new prediction models. For automated hyperparameter optimization, we leverage state-of-the-art Bayesian optimization using the Python package Optuna. With the module testing, we allow the user to test different refitting procedures. Finally, we provide several methods to analyze results in evaluation. To start the optimization pipeline, users only need to supply a CSV file containing the data and a configuration file that enables pipeline customization. This design allows end users to apply time series forecasting with only a single-line command. In addition, we support researchers aiming to develop new forecasting methods with quick integration in a reliable framework and benchmarking against existing approaches.

In addition, our framework is designed to allow an easy and straightforward integration of further prediction models.
For more information, installation guides, tutorials and much more, see our documentation: https://ForeTiS.readthedocs.io/
Feel free to use the Docker workflow as described in our documentation: https://ForeTiS.readthedocs.io/en/latest/tutorials.html#howto-run-ForeTiS-using-docker
Contributors
This pipeline is developed and maintained by members of the Bioinformatics lab lead by Prof. Dr. Dominik Grimm:
Citation
When using ForeTiS, please cite our publication:
- Installation Guide
- Quickstart Guide
- Tutorials
- Data Guide
- Prediction Models
- API Documentation
ForeTiS.Config
ForeTiS.evaluation
ForeTiS.model
ForeTiS.model._additionalmodels
ForeTiS.model._base_model
ForeTiS.model._baseline_model
ForeTiS.model._model_classes
ForeTiS.model._model_functions
ForeTiS.model._sklearn_model
ForeTiS.model._stat_model
ForeTiS.model._template_sklearn_model
ForeTiS.model._template_stat_model
ForeTiS.model._template_tensorflow_model
ForeTiS.model._template_torch_model
ForeTiS.model._tensorflow_model
ForeTiS.model._torch_model
ForeTiS.model.ard
ForeTiS.model.arima
ForeTiS.model.arimax
ForeTiS.model.averagehistorical
ForeTiS.model.averagemoving
ForeTiS.model.averageseasonal
ForeTiS.model.averageseasonallag
ForeTiS.model.bayesridge
ForeTiS.model.elasticnet
ForeTiS.model.es
ForeTiS.model.gprtf
ForeTiS.model.lasso
ForeTiS.model.lstm
ForeTiS.model.lstmbayes
ForeTiS.model.mlp
ForeTiS.model.mlpbayes
ForeTiS.model.ridge
ForeTiS.model.sarima
ForeTiS.model.sarimax
ForeTiS.model.xgboost
ForeTiS.optimization
ForeTiS.postprocess
ForeTiS.preprocess
ForeTiS.tutorial_data
ForeTiS.utils
ForeTiS.optim_pipeline