Time-series forecasting software

Computational Performance

The computational performance of the forecasting algorithms has been central in the design of all the forecasting methods in the library.

This is because conventional wisdom wants the forecasting algorithms to be slow or limited in scope (or complex to use). This has been true in the past since the vast majority of players in the field designed dinosaur-era software that was indeed complex to use and incredibly slow. The computational power available only ten years ago was a fraction of what is available now and this is another reason why the algorithms have always been designed as simple (and poor) as possible: just to use less computational power!

Now the advent of modern microprocessors has given a chance to all to use modern algorithms that were unfeasible only few years ago.

The computational benchmarks are clearly indicating that even the most complex algorithms are really fast and can be used even in the most demanding real-life applications or where there are millions of forecasts that need to be produced like in the modern supply chains.

These benchmarks have been carried out on a rather old 1.5GHz machine with 1G of memory (memory is used fractionally during the tests). The tests consist in running repeatedly the forecast algorithm on the same data series generated in a random fashion. The figure reported is the number of forecasts per second, so the higher the better.

Forecasting Algorithm   Number of Forecasts per Second
Simple Moving Average   1,121,979
Geometric Moving Average   344,331
Triangular Simple Moving Average   818,493
Parabolic Simple Moving Average   656,948
Double Moving Average   679,293
Exponential Moving Average   2,377,528
Double Exponential Moving Average   1,161,118
Holt Double Exponential Moving Average   1,121,979
Triple Exponential Moving Average   868,314
Adaptive Response Rate   798,849
Holt Winters Additive   601,543
Holt Winters Multiplicative   464,447
Holt Winters Multiple   189,840
Holt Winters Multiple2   212,913
Additive Decomposition   142,245
Multiplicative Decomposition   133,676
Linear Regression 1,   536,249
Trend And Additive Seasonality   34,975
Trend And Multiplicative Seasonality   34,138
Polynomial   44,086
Logarithmic   71,325
Wavelet Forecast   11,194

Forecasting Methods   Holt Winter’s, Series Decomposition and Wavelet Benchmarks
Time Series Forecasting   Use of the Moving Average in Time-series Forecasting
Forecasting Concepts   Denoising Techniques
Error Statistics   Computational Performance
Fast Fourier Transform   Moving Averages
Kernel Smoothing   Active Moving Average
Savitsky-Golay Smoothing   Fractal Projection
Downloading Financial Data from Yahoo   Multiple Regression
Digital Signal Processing   Principal Component Analysis
Curve Analysis   Options Pricing with Black-Scholes
Markowitz Optimal Portfolio   Time-series preprocessing