You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
"> AutoArima is faster and more accurate than FB-Prophet in most cases. Replace it with two lines of code."
9
+
],
10
+
"id": "a1b2c3d4"
11
+
},
12
+
{
13
+
"cell_type": "markdown",
14
+
"metadata": {},
15
+
"source": [
16
+
"We benchmarked on more than 100K series and show that you can improve _MAPE_ and _sMAPE_ forecast accuracy by _17%_ and _15%_ with _37x_ less computational time.\n",
17
+
"\n",
18
+
"Now you can replace Prophet with two lines of code and verify it for yourself.\n",
19
+
"\n",
20
+
"### Install StatsForecast\n",
21
+
"```bash\n",
22
+
"pip install statsforecast\n",
23
+
"```\n",
24
+
"\n",
25
+
"### Replace FB-Prophet to make your forecast a lot faster\n",
"[FB-Prophet](https://github.com/facebook/prophet) is one of the world's most used time series forecasting models. Its GitHub repository has more than 14 thousand stars, and more than a hundred repositories depend on it. However, in many scenarios, [FB-Prophet does not offer good performance in terms of time and accuracy.](https://analyticsindiamag.com/why-are-people-bashing-facebook-prophet/) This lacking performance suggests that the FB-Prophet's success can be explained mainly by its usability. For example, [adding exogenous and calendar variables is almost trivial.](https://facebook.github.io/prophet/docs/seasonality,_holiday_effects,_and_regressors.html)\n",
49
+
"\n",
50
+
"To contribute to the forecasting community, we created a _FB-Prophet API adapter_ that lets you use Prophet's useful methods without accuracy and computational downsides. Just import this AutoARIMAProphet adapter and replace the Prophet class to start using AutoARIMA in any of your existing pipelines."
51
+
],
52
+
"id": "d4e5f6a7"
53
+
},
54
+
{
55
+
"cell_type": "markdown",
56
+
"metadata": {},
57
+
"source": [
58
+
"## Empirical validation\n",
59
+
"\n",
60
+
"To validate the AutoARIMAProphet adapter, we designed a pipeline considering the M3, M4, and Tourism datasets (standard benchmarks in the forecasting practice) and the Peyton Manning data set originally used by FB. The pipeline automatically selects ARIMA's parameters with the AIC criterion and selects Prophet's parameters with time-series cross-validation."
61
+
],
62
+
"id": "e5f6a7b8"
63
+
},
64
+
{
65
+
"cell_type": "markdown",
66
+
"metadata": {},
67
+
"source": [
68
+
"## Results\n",
69
+
"\n",
70
+
"The following table shows the MAPE, sMAPE and Time (in minutes) AutoARIMA improvements on Prophet for each dataset.\n",
" For `M4`, the groups are `Yearly`, `Monthly`, `Quarterly`, `Weekly`, `Daily`, and `Hourly`. For `M3`, the groups are `Yearly`, `Monthly`, `Quarterly`, and `Other`. For `Tourism`, the groups are `Yearly`, `Monthly`, and `Quarterly`. Finally, for `PeytonManning` the group is `Daily`.\n",
97
+
"\n",
98
+
"4. Evaluate the results using\n",
99
+
" ```shell\n",
100
+
" python -m src.evaluation\n",
101
+
" ```"
102
+
],
103
+
"id": "a7b8c9d0"
104
+
},
105
+
{
106
+
"cell_type": "markdown",
107
+
"metadata": {},
108
+
"source": [
109
+
"## Conclusion\n",
110
+
"\n",
111
+
"* Be mindful on what you read on Towards Data Science.\n",
112
+
"* Always use strong baselines when forecasting.\n",
113
+
"* Quick and easy results are sometimes [misleading](https://en.wikipedia.org/wiki/Streetlight_effect).\n",
114
+
"* Simpler models are sometimes [better](https://en.wikipedia.org/wiki/Occam%27s_razor).\n",
115
+
"* **Facebook's Prophet might be many things, but it's definitely not a model for forecasting time series at scale.**"
116
+
],
117
+
"id": "b8c9d0e1"
118
+
},
119
+
{
120
+
"cell_type": "markdown",
121
+
"metadata": {},
122
+
"source": [
123
+
"## Misc.\n",
124
+
"\n",
125
+
"* [`StatsForecast`](https://github.com/nixtla/statsforecast) also includes a variety of lightning fast baseline models.\n",
126
+
"* If you really need to do forecast at scale, [here](https://github.com/nixtla/statsforecast/tree/main/experiments/ray) we show how to forecast 1 million time series under 30 minutes using [Ray](https://github.com/ray-project/ray).\n",
127
+
"* If you are interested in SOTA Deep Learning models, check [`NeuralForecast`](https://github.com/nixtla/neuralforecast)."
0 commit comments