Leaderboards

residual-k_002univariate-k_002residual-k_003univariate-k_034residual-k_001univariate-k_021residual-k_021univariate-k_008univariate-k_003univariate-k_013residual-k_008univariate-k_005residual-k_034residual-k_013residual-k_005univariate-k_001

Accuracy of Python Time-Series Forecasting Packages

The Elo Ratings in this table are produced transparently by timeseries-elo-ratings and based on k-step ahead prediction duels using live time series data taken from www.microprediction.com. Since there are many ways to use those packages the title is somewhat misleading, even if we have included algorithms with factory default settings from packages claiming that little or no user estimation should be required.

All algorithms utilized here can be found in 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. If you have a suggestion please file a issue or, even better, add a skater and make a pull request. There is a guide for contributors willing to make autonomous univariate time series prediction functions, and lots of suggestions in the listing of popular time-series packages.

Wins and losses (and the occasional draw) are based on RMSE using 50 data points. Prior to that 400 data points are provided to warm up the models. The table named univariate-k_002 refers to 2-step ahead prediction, and so forth. Residual leaderboards use streams of data that represent the residuals of competitive community prediction (as explained in An Introduction to Z-Streams).

Some of these methods are used in real-time to predict live data. That live data can in turn be published by anyone. See the example crawlers folder for examples of live algorithms. See the knowledge center or contributor guide for instructions on publishing live data that can influence these ratings. Further motivation for the project is explained at microprediction.com.

NameRatingGamesActiveSecondsDependencies
thinking_slow_and_fast1975.0124yes-1.0timemachines
tsa_p3_d0_q01917.071yes-1.0statsmodel , timemachines
tsa_p1_d0_q11900.079yes-1.0statsmodel , timemachines
tsa_p3_d0_q11862.070yes-1.0statsmodel , timemachines
slow_aggressive_ema_ensemble1857.059yes-1.0timemachines
precision_ema_ensemble1856.0132yes-1.0timemachines
tsa_p2_d0_q01843.076yes12.9statsmodel , timemachines
tsa_p2_d0_q11810.063yes-1.0statsmodel , timemachines
slow_precision_ema_ensemble1799.063yes-1.0timemachines
aggressive_ema_ensemble1782.0146yes-1.0timemachines
thinking_fast_and_slow1762.0126yes-1.0timemachines
slow_balanced_ema_ensemble1760.066yes-1.0timemachines
thinking_slow_and_slow1758.0122yes0.0timemachines
fbprophet_cautious_hypocratic1757.081no-1.0prophet , timemachines
divine_univariate_hypocratic_fast1754.076no-1.0divinity , timemachines
dlm_univariate_a1719.061no-1.0pydlm , timemachines
slowly_moving_average1712.0191yes0.0timemachines
balanced_ema_ensemble1709.0125yes0.0timemachines
quick_aggressive_ema_ensemble1702.082yes-1.0timemachines
quickly_moving_average1692.0157yes0.0timemachines
nprophet_p2_hypocratic1675.020no-1.0neuralprophet , timemachines
quick_precision_ema_ensemble1669.078yes0.1timemachines
quick_balanced_ema_ensemble1662.065yes0.1timemachines
nprophet_p11630.018no-1.0neuralprophet , timemachines
sluggish_moving_average1626.0145yes0.0timemachines
tsa_precision_theta_ensemble1617.01yes3.0statsmodels , timemachines
divine_univariate_hypocratic_slow1601.079no-1.0divinity , timemachines
tsa_balanced_theta_ensemble16000yes-1.0statsmodels , timemachines
tsa_aggressive_theta_ensemble16000yes-1.0statsmodels , timemachines
tsa_precision_combined_ensemble16000yes-1.0statsmodels , timemachines
tsa_balanced_combined_ensemble16000yes-1.0statsmodels , timemachines
tsa_aggressive_combined_ensemble16000yes-1.0statsmodels , timemachines
tsa_precision_d0_ensemble16000yes-1.0statsmodel , timemachines
tsa_balanced_d0_ensemble16000yes-1.0statsmodel , timemachines
tsa_aggressive_d0_ensemble16000yes-1.0statsmodel , timemachines
tsa_slowly_hypocratic_d0_ensemble16000yes-1.0statsmodel , timemachines
tsa_quickly_hypocratic_d0_ensemble16000yes-1.0statsmodel , timemachines
regress_change_on_first_known16000no-1.0timemachines
tsa_p1_d1_q016000no-1.0statsmodel , timemachines
tsa_p2_d1_q016000no-1.0statsmodel , timemachines
tsa_p3_d1_q016000no-1.0statsmodel , timemachines
fbprophet_chaser16000no-1.0prophet , timemachines
divine_univariate1564.0131no-1.0divinity , timemachines
fbprophet_univariate_hypocratic1548.081no-1.0prophet , timemachines
tsa_p1_d0_q01548.067yes-1.0statsmodel , timemachines
nprophet_p5_hypocratic1530.032no-1.0neuralprophet , timemachines
thinking_fast_and_fast1523.0117yes-1.0timemachines
fbprophet_cautious1520.0130no-1.0prophet , timemachines
fbprophet_recursive1512.0135no-1.0prophet , timemachines
nprophet_p1_hypocratic1495.025no-1.0neuralprophet , timemachines
nprophet_p31493.037yes-1.0neuralprophet , timemachines
nprophet_p51479.019no-1.0neuralprophet , timemachines
pmd_exogenous_hypocratic1467.093no-1.0pmdarima , timemachines
nprophet_p81437.029yes-1.0neuralprophet , timemachines
fbprophet_exogenous_hypocratic1435.093no-1.0prophet , timemachines
nprophet_p3_hypocratic1428.032no-1.0neuralprophet , timemachines
fbprophet_univariate_univariate_hypocratic1418.077no-1.0prophet , timemachines
dlm_univariate_b1399.045no-1.0pydlm , timemachines
fbprophet_known1390.0144no-1.0prophet , timemachines
fbprophet_exogenous1380.0136no-1.0prophet , timemachines
pmd_univariate1354.091no-1.0pmdarima , timemachines
rapidly_moving_average1339.0143yes-1.0timemachines
nprophet_p8_hypocratic1338.022no-1.0neuralprophet , timemachines
fbprophet_univariate1338.0140no-1.0prophet , timemachines
nprophet_p21311.026no-1.0neuralprophet , timemachines
fbprophet_exogenous_exogenous1201.084no-1.0prophet , timemachines
empirical_last_value1177.0180yes0.0timemachines