Appendix B. Software

Table A.1: A list of indicative free or open-source packages, libraries, and toolboxes linking to the theory sections of this article. The authors assume no liability for the software listed below; interested users are strongly advised to read the respective documentations and licences terms.

Related section Software Package/Library/Toolbox Function(s) Comments
§2.2.1. Box-Cox transformations R forecast BoxCox; InvBoxCox; BoxCox.lambda; Functions to transform the input variable using a Box-Cox transformation, reverse the transformation and find optimal parameters.
§2.2.2. Box-Cox transformations Time series decomposition R stats decompose; stl Classical decomposition method (additive and multiplicative), and STL decomposition method.
R forecast seasadj; seasonal; mstl; msts; tbats.components Tools for extracting components, and multiple seasonal decomposition methods.
R tsutils decomp; seasplot Classical decomposition method, and functions for seasonal plots.
R stR AutoSTR; STR; heuristicSTR; plot.STR; seasadj.STR Seasonal-Trend decomposition based on Regression.
R seasonal seas Functions for X-11, SEATS, and X-13-ARIMA-SEATS decomposition methods.
Gretl buys_ballot Plot seasonal time series components.
Gretl season_plot set_season_plot Plot seasonal time-series components.
Gretl tsfcst decompcl Classical time series decomposition.
Gretl StrucTiSM STSM_components Decomposition using structural timeseries model.
§2.2.3. Anomaly detection and time series forecasting R anomalize time_decompose; anomalize; time_recompose A “tidy” workflow for detecting anomalies in data.
R oddstream find_odd_streams; extract_tsfeatures; set_outlier_threshold Early detection of anomalous series within a large collection of streaming time series data.
R tsoutliers tso; locate.outliers.oloop; remove.outliers Detection of outliers in time series such as Innovational outliers, additive outliers, level shifts, temporary changes and seasonal level shifts.
R stray find_HDoutliers; find_threshold; display_HDoutliers Anomaly detection in high dimensional and temporal data.
R forecast tsoutliers; tsclean Provides some simple heuristic methods for identifying and correcting outliers.
R OutliersO3 OutliersO3; O3plotM; O3plotT; O3prep Draws overview of outliers (O3) Plots.
R CRAN Task View Anomaly Detection with R Contains a list of R packages that can be used for anomaly detection.
Gretl tramolin Outlier detection/correction and missing data interpolation.
§2.2.4. Robust handling of outliers in time series forecasting R gets isat Function for running impulse and step indicator saturation.
§2.3.1. Exponential smoothing models R forecast ets; forecast.ets; ses; Functions for simple exponential smoothing and automatic exponential smoothing modelling.
R smooth es Function for automatic exponential smoothing modelling.
Gretl tsfcst expsmpars Simple exponential smoothing minimising the sum of squared errors.
§2.3.2. Time-series regression models R stats lm Fitting linear regression models.
R leaps regsubsets Functions for selecting linear regression models.
R relaimpo Relative importance of regressors in linear models.
R MASS stepAIC Choose a model by AIC in a stepwise algorithm.
Gretl ols, lad, midasreg Regression models with OLS, LAD, and MIDAS with functionality for forecasting.
§2.3.3. Theta method and models R forecast thetaf Returns forecasts and prediction intervals for a theta method forecast.
R forecTheta stheta; stm; otm; dstm; dotm Functions for forecasting univariate time series using Theta Models.
R tsutils theta Estimate Theta method.
Gretl tsfcst stheta Theta-method for univariate forecasting.
§2.3.4. Autoregressive integrated moving average (ARIMA) models R forecast auto.arima; Arima; arfima; arima.errors; arimaorder Functions for fitting and forecasting with ARIMA models.
R smooth auto.msarima; auto.ssarima; msarima; ssarima State-space and multiple seasonalities implementations of ARIMA models.
Gretl arima Functions for fitting and forecasting with SARIMAX models.
Gretl auto_arima Find best fitting SARIMAX model with functions for forecasting.
Gretl armax Automatically determine the best ARMAX model.
R aTSA adf.test Augmented Dickey-Fuller test.
R tseries kpss.test Kwiatkowski-Phillips-Schmidt-Shin (KPSS) test.
R forecast ndiffs; nsdiffs Estimates the number of (seasonal) differences required to make a given time series stationary.
Gretl adf; adf-gls; kpss; levinlin Various unit-root tests for time-series and panel data.
§2.3.4. Autoregressive integrated moving average (ARIMA) models (continued) Gretl DHF_test Package for Dickey-Hasza-Fuller seasonal Unit Root Test.
Gretl DP Package for testing for a double unit root.
Gretl GHegy Package Seasonal unit roots tests.
Gretl Kapetanios Package for Kapetanios’ unit root test with possible structural breaks.
Gretl PPtest Package for running Phillips-Perron unit root test.
Gretl VSG_test Package for test proposed by Ventosa-Santaulària and Gómez-Zaldívar.
§2.3.5. Forecasting for multiple seasonal cycles R smooth msarima; ssarima Functions for forecasting data with multiple seasonal cycles.
R fable model; forecast; fasster; ETS; ARIMA; TSLM Forecasting models for tidy time series.
R, Python prophet Facebook’s automatic forecasting procedure.
R tidymodels Collection of packages for modelling and machine learning using tidyverse principles.
R forecast tbats; dshw Functions for forecasting data with multiple seasonal cycles.
R fable.prophet prophet; forecast A tidy R interface to the prophet forecasting procedure using fable.
§2.3.6. State-space models Matlab SSpace General modelling of linear, non-linear and non-Gaussian State Space systems.
Matlab SSM General modelling of linear, non-linear and non-Gaussian State Space systems.
Matlab SSMMATLAB A Set of MATLAB Programs for the Statistical Analysis of State Space Models.
Matlab E4 A MATLAB toolbox for time series analysis in State Space form.
R UComp Automatic identification of Unobserved Components models in State Space form.
R statespacer State Space modelling, mainly ARIMA and Basic Structural Models.
R smooth Forecasting using single error State Space models.
R bssm Bayesian Inference of Non-Gaussian State Space Models.
R mssm Multivariate State Space models.
R KFAS Kalman Filter and Smoother for Exponential Family State Space Models.
§2.3.6. State-space models (continued) R TSSS Time Series Analysis with State Space Model, based on the methods in Kitagawa (1993).
R dlm Bayesian and Likelihood Analysis of Dynamic Linear Models (Gaussian State Space models).
Python statsmodels statespace Time Series Analysis by State Space Methods.
Gretl kfilter; ksmooth; kdsmooth; ksimul State Space Modeling functionality with function for forecasting.
Gretl StrucTiSM STSM_fcast Harvey-style Structural Time Series Models with function for forecasting.
§2.3.7. Models for population processes R dembase General-purpose tools for demographic analysis.
R demest Bayesian statistical methods for demography.
R demlife Creating and working with life tables.
R BayesPop Generating population projections for all countries of the world using several probabilistic components, such as total fertility rate and life expectancy.
R bayesTFR Making probabilistic projections of total fertility rate for all countries of the world, using a Bayesian hierarchical model.
R bayesLife Making probabilistic projections of life expectancy for all countries of the world, using a Bayesian hierarchical model.
Spreadsheet DAPPS Demographic Analysis and Population Projection System: Standalone spreadsheet-based software for demographic estimation and projections, prepared by the US Census Bureau.
§2.3.9. Forecasting with many variables R gets getsm, getsv, isat, isatvar Package that implements general to specific model selection, indicator saturation, with functionality for forecasting.
R vars Functions and routines for VAR Modelling.
Gretl var; system Fitting system-models with functionality for forecasting.
§2.3.10. Functional time series models R ftsa ftsm; farforecast; T_stationarity Functional time series analysis.
§2.3.11. ARCH/GARCH models R tseries garch Fit GARCH models to time series.
Python PyFlux Time series analysis and prediction tools that focus on autoregressive methods (ARIMA, ARCH, GARCH, etc).
Gretl arch, garch Fit (G)ARCH models to time series.
§2.3.11. ARCH/GARCH models (continued) Gretl gig gig_estimate; gig_var_fcast Estimate various types of GARCH models.
§2.3.12. Markov switching models R MSwM Fitting Markov switching models.
R NHMSAR Non-homogeneous Markov switching autoregressive models.
§2.3.13. Threshold models R TAR Bayesian modelling of autoregressive threshold time series models.
R TSA tar; star Functions for threshold models (and general time series analysis).
Gretl Threshold_Panel THRESH_SETUP Hansen’s panel threshold model.
Gretl SETAR Estimation of a SETAR model.
§2.3.15. Forecasting with DSGE models R BMR forecast Bayesian Macroeconometrics in R (BMR) is a package for estimating and forecasting Bayesian VAR and DSGE.
Matlab/GNU Octave Dynare Software platform for solving, estimating, and making forecasts with DSGE.
§2.3.18. Innovation diffusion models R DIMORA Estimation of Bass Model, Generalised Bass Model, GGM, UCRCD.
R diffusion diffusion Various diffusion models to forecast new product growth. Currently the package contains Bass, Gompertz and Gamma/Shifted Gompertz curves.
§2.3.19. The natural law of growth in competition R LS2Wstat scurve An S curve function between two constant values.
§2.3.21. Estimation and representation of uncertainty R hdrcde cde Conditional kernel density estimation to produce marginal distributions (uncertainty forecasts).
R gamlss gamlss Semi-parametric models for uncertainty forecasting.
R gamboostLSS mboostLSS Semi-parametric component-wise gradient boosting models for uncertainty forecasting.
Python scikit-learn GradientBoostingRegressor; RandomForestQuantileRegressor Machine learning models (gradient boosting trees and random forests) for quantile forecasting.
R quantreg rq; lprq; nlqr Estimation and inference methods for models of conditional quantiles.
R EnvStats FcnsByCatPredInts; pointwise Functions for computing prediction intervals and simultaneous prediction intervals.
R rmgarch dccfit-methods; dccforecast-methods Multivariate GARCH Models (e.g., forecasting covariance matrix).
§2.3.22. Forecasting under fat tails R FatTailsR Functions for Kiener distributions and fat tails.
§2.4.3. Bayesian forecasting with copulas R VineCopula Statistical analysis of vine copula models.
R cdcopula Covariate-dependent copula models.
§2.4.3. Bayesian forecasting with copulas (continued) R FactorCopula Factor Copula Models for Mixed Continuous and Discrete Data.
§2.5.1. Leading indicators and Granger causality R lmtest grangertest Test for Granger causality.
Gretl var; omit Standard Granger-causality test.
Gretl BreitungCandelonTest Breitung-Candelon test of frequency-wise Granger (non-)causality.
§2.5.3. Variable Selection R glmnet Generalised linear models with Lasso or elastic net regularisation.
Gretl omit Sequential removing of variables to a model.
Gretl addlist Sequential addition of variables to a model.
Gretl regls Add-on for regularised least squares such as Ridge, Lasso and Elastic-Net.
Gretl fsboost fsreg Forward-stagewise boosted regression estimates with functionality for forecasting.
§2.5.4. Model Selection R gets Functions for automatic general to specific model selection.
§2.5.5. Cross-validation for time-series data R forecast CVar k-fold Cross-Validation applied to an autoregressive model.
Gretl fcast Forecasting command with functionality for recursive-window forecasts.
§2.6.1. Forecast combination: a brief review of statistical approaches R forecastHybrid Functions for ensemble time series forecasts.
§2.7.2. Forecasting on distributed systems Database InfluxDB Scalable datastore for metrics, events, and real-time analytics.
Database OpenTSDB A scalable, distributed Time Series Database.
Database RRDtool A program for easily maintaining a database of time-series data.
Database Timely A time series database application that provides secure access to time series data.
Python, R & Spark darima Implementations of distributed ARIMA models on Spark platform.
§2.7.3. Agent-based models R SpaDES Spatially explicit discrete event simulation models.
§2.7.4. Feature-based time series forecasting R tsfeatures tsfeatures Methods for extracting various features from time series data.
Python tsfresh Calculates a large number of time series characteristics, the so called features. Further the package contains methods to evaluate the explaining power and importance of such characteristics for regression or classification tasks.
§2.7.4. Feature-based time series forecasting (continued) Matlab hctsa Code framework that enables the extraction of thousands of time-series features from a time series (or a time-series dataset). It also provides a range of tools for visualising and analysing the resulting time-series feature matrix.
Python pyopy Python binding for hctsa.
R fforma Tools for forecasting using a model combination approach. It can be used for model averaging or model selection. It works by training a ‘classifier’ that learns to select/combine different forecast models.
R gratis Efficient algorithms for generating time series with diverse and controllable characteristics, which can be used as the training data in feature-based time series forecasting.
R seer Implementations of a novel framework for forecast model selection using time series features; FFORMS (Feature-based FORecast Model Selection).
§2.7.5. Forecasting with bootstrap R bootstrap Various bootstrapping functions.
Gretl uniFCextensions uniFCboot Estimate an interval forecast without assuming Gaussian innovations.
§2.7.6. Bagging for time series forecasting R forecast baggedETS Returns forecasts and other information for bagged ETS models.
R tshacks baggedClusterETS; treatedETS Returns forecasts for bagged Cluster and Treated ETS models.
§2.7.8. Neural Networks Python, MXNet & PyTorch GluonTS Framework for building deep learning based models including a number of pre-built models such as feed-forward neural networks.
R nnfor mlp; elm Time Series Forecasting with Neural Networks.
Python neural prophet Reimplementation of prophet in PyTorch, and extensions to it.
Python RNNs for forecasting in Tensorflow.
R ANN2 neuralnetwork Artificial Neural Networks.
R nnet nnet Feed-Forward Neural Networks and Multinomial Log-Linear Models.
R forecast nnetar Auto-regressive Neural Network for time series forecasting.
§2.7.9. Deep Probabilistic models Python, MXNet & PyTorch GluonTS Framework for building deep learning based models including a number of pre-built models such as DeepAR, DeepState models and NBEATS.
Python, PyTorch PyTorchTS Clone of GluonTS in PyTorch.
§2.7.10. Machine learning R RSNNS mlp; rbf; dlvq; elman; jordan; som Neural Networks using the Stuttgart Neural Network Simulator (SNNS).
§2.7.10. Machine learning (continued) R rpart rpart; prune Recursive partitioning and regression trees.
R caret Classification and regression training.
R e1071 svm Misc ML functions of the Department of Statistics, Probability Theory Group.
R kernlab gausspr Gaussian processes for regression and classification.
R brnn brnn Bayesian Regularisation for Feed-Forward Neural Networks.
R grnn grnn General regression neural network.
R randomForest randomForest Breiman and Cutler’s Random Forests for Classification and Regression.
R gbm gbm Generalised Boosted regression models.
R neuralnet neuralnet Training of simple Neural Networks.
Python Tensorflow A framework, developed by Google, offering tools for designing, building, and deploying ML models.
Python Keras API A deep learning API built on top of Tensorflow. It provides high level blocks for building and training NN models.
R Tensorflow R Interface to Tensorflow (
R deepnet Deep learning toolkit.
R h2o R Interface for the ‘H2O’ Scalable Machine Learning Platform.
R Apache MXNet A flexible library for deep learning.
Python scikit-learn Ordinary Least Squares, Ridge regression, Lasso, Bayesian Regression, Generalized Linear Regression, Stochastic Gradient Descent and Polynomial regression, Support Vector Machines, Nearest Neighbors, Gaussian Processes, Decision Trees, Ensemble methods (Forests of randomised trees, AdaBoost and Gradient Tree Boosting), Multi-layer Perceptrons.
Python CNTK A framework, developed by Microsoft, that provides tools for building ML and DL models.
Python PyTorch A framework, developed by Facebook, for building ML and DL models.
§2.7.12. Clustering-based forecasting R tsfknn tsfknn Time Series Forecasting Using Nearest Neighbours.
§2.7.13. Hybrid methods Python ESRNN-GPU A GPU-enabled version of the hybrid model used by the winner of M4 competition.
§2.8.1. Parametric methods for intermittent demand forecasting R tsintermittent crost; tsb Parametric forecasting methods for intermitternt demand.
R forecast croston Forecasts for intermittent demand using Croston’s method.
§2.8.2. Non-parametric intermittent demand methods R tsintermittent imapa MAPA for intermittent demand data.
§2.8.3. Classification methods R tsintermittent idclass Time series categorisation for intermittent demand.
R tsutils abc; xyz; abcxyz Classification functions and routines.
§2.9.3. Forecasting with text information Python NLTK The Natural Language Toolkit in Python.
Python SpaCy An open source library for advanced Natural Language Processing in Python.
§2.10.1. Cross-sectional hierarchical forecasting R hts Functions and routines for hierarchical and grouped time series forecasting.
§2.10.2. Temporal aggregation R MAPA mapa; mapasimple Functions and wrappers for using the Multiple Aggregation Prediction Algorithm (MAPA) for time series forecasting.
R thief thief Temporal Hierarchical Forecasting.
R tsintermittent imapa MAPA for intermittent demand data with automatic model selection based on the PK classification.
§2.10.4. Ecological inference forecasting R ei ei Returns local and global forecasts of inner cells in \(2 \times 2\) tables.
R eiPack ei.MD.bayes; ei.reg; ei.reg.bayes Returns local and global forecasts of inner cells in R\(\times\)C tables under a Multinomial Dirichlet model or using ecological regression.
R lphom lphom; tslphom; nslphom Returns forecasts of inner cells of a R\(\times\)C table using linear programming optimisation.
R eiCompare ei_est_gen; ei_good; ei_rxc Returns forecasts of inner cells of a \(R \times C\) tables using iterative versions of \(2 \times 2\) methods and the Multinomial Dirichlet model.
§2.12.2. Point, interval, and pHDR forecast error measures R forecast accuracy Accuracy measures for a forecast model.
§2.12.4. Evaluating probabilistic forecasts R scoringRules Scoring rules for parametric and simulated distribution forecasts.
R verification crps Continuous ranked probability score.
§2.12.6. Statistical tests of forecast performance R forecast dm.test Diebold-Mariano test for predictive accuracy.
R tsutils nemenyi Nonparametric multiple comparisons (Nemenyi test).
§2.12.6. Statistical tests of forecast performance (continued) Gretl FEP doMZtest; doHPtest; doEKTtest; doPTtest; doDLtest; doDMtest; doGWtest; doCWtest Various statistical tests on forecast unbiasedness, efficiency, asymmetric loss and directional changes.
Gretl DiebMar Diebold-Mariano test.