Leaderboards

fasterfastestoverallresidual-k_001residual-k_002residual-k_003residual-k_005residual-k_008residual-k_013residual-k_021residual-k_034univariate-k_001univariate-k_003univariate-k_005univariate-k_008univariate-k_013univariate-k_021univariate-k_034

Accuracy and Speed of Some Short Term Automated Time-Series Forecasting Approaches (Python Packages only)

The Elo Ratings in this table are produced transparently in the repo timeseries-elo-ratings and based on k-step ahead prediction duels using live time series data. See METHODOLOGY.md for interpretation of Elo ratings. The table named univariate-k_002 refers to 2-step ahead prediction, and so forth. Residual leaderboards use so-called z-streams (as explained in An Introduction to Z-Streams).

There is some motivation in the blog post Fast Python Time-Series Forecasting. All algorithms utilized here can be called the same way using the TimeMachines Python package. However, as indicated in the table, some of these draw an important part of their functionality (if not all) from other packages such as Facebook Prophet, Statsmodels TSA, Flux, PmdArima, Uber Orbit and more. Take relative performance with with a grain of salt, since many packages don't intend completely autonomous use and some are aimed at longer term seasonal forecasts. If you have a suggestion for a package or technique that should be included, please file an issue or, even better, add a skater and make a pull request. There is a guide for contributors and a long list of popular time-series packages.

Some of these methods are used in real-time to provide free prediction to anyone who publishes public data using a community API explained at microprediction.com. See the example crawlers folder for examples of algorithms calling the timemachines package. See the knowledge center or contributor guide for instructions on publishing live data that can influence these ratings.

NameRatingGamesActiveSecondsDependencies
elo_fastest_univariate_precision_ensemble1878.018111yes0.6timemachines
elo_fastest_residual_precision_ensemble1854.016957yes0.6timemachines
elo_fastest_univariate_balanced_ensemble1850.014796yes0.7timemachines
elo_fastest_residual_aggressive_ensemble1833.014994yes0.8timemachines
elo_fastest_residual_balanced_ensemble1827.014094yes0.9timemachines
slow_aggressive_ema_ensemble1808.014808yes0.1timemachines
slow_precision_ema_ensemble1772.013196yes0.1timemachines
elo_fastest_univariate_aggressive_ensemble1769.012925yes0.7timemachines
quick_precision_ema_ensemble1763.014181yes0.1timemachines
precision_ema_ensemble1758.018147yes0.1timemachines
thinking_slow_and_fast1755.013374yes0.0timemachines
balanced_ema_ensemble1746.016382yes0.1timemachines
slow_balanced_ema_ensemble1744.017633yes0.1timemachines
aggressive_ema_ensemble1740.015197yes0.1timemachines
thinking_slow_and_slow1738.014086yes0.0timemachines
slowly_moving_average1737.018719yes0.0timemachines
sluggish_moving_average1737.018173yes0.0timemachines
quick_aggressive_ema_ensemble1724.024178yes0.1timemachines
thinking_fast_and_slow1716.014115yes0.0timemachines
quick_balanced_ema_ensemble1695.013437yes0.1timemachines
rvr_quickly_hypocratic1623.09306yes0.2river , timemachines
rvr_slowly_hypocratic1608.06684yes0.2river , timemachines
sk_theta1547.013672yes0.6sktime , timemachines
quickly_moving_average1538.017459yes0.0timemachines
thinking_fast_and_fast1480.013733yes0.0timemachines
darts_fft1370.0369yes0.7darts , timemachines
rvr_balanced_ensemble1351.08731yes0.2river , timemachines
rapidly_moving_average1329.016396yes0.0timemachines
rvr_p1_d0_q01199.09809yes0.0river , timemachines
rvr_p2_d0_q01163.012411yes0.0river , timemachines
rvr_p5_d0_q01055.08302yes0.0river , timemachines
rvr_p8_d0_q01020.07088yes0.0river , timemachines
empirical_last_value984.010971yes0.0timemachines