-
New Feature Request
-
Resolution: Unresolved
-
Trivial
-
None
-
None
ZBXNEXT-922 will introduce basic predictive capabilities to Zabbix. Unfortunately trigger functions are supposed to return a single value but in case of statistical analysis and trend prediction there is much more information user would want to know and Zabbix would want to provide.
- How certain and reliable the forecast is?
- How good was the chosen fit function?
- Are there any "breaks" in data and we should use shorter interval?
- How big are data fluctuations?
- ...
Forecast validation trigger function would allow to choose best fit function or optimal interval "on the fly" or could be used to skip unreliable predictions and avoid "false positive" alerts.
Here I'd like to summarize ideas and resources on the ways how prediction validation can be done and how forecast() and timeleft() trigger functions may be improved.
Validation methods and criteria:
- https://en.wikipedia.org/wiki/Cross-validation_%28statistics%29
- https://en.wikipedia.org/wiki/Goodness_of_fit
Book on forecasting:
Best fit selection:
- https://en.wikipedia.org/wiki/Model_selection
- https://en.wikipedia.org/wiki/Bayesian_information_criterion
- https://en.wikipedia.org/wiki/Akaike_information_criterion
- https://en.wikipedia.org/wiki/Bayes_factor
"Break" detection:
More sophisticated forecasting algorithms:
- http://mathworld.wolfram.com/NonlinearLeastSquaresFitting.html
- http://www.mathworks.com/matlabcentral/fileexchange/11020-extended-dft
- https://en.wikipedia.org/wiki/Autoregressive_model
- https://en.wikipedia.org/wiki/Autoregressive%E2%80%93moving-average_model
- https://en.wikipedia.org/wiki/Box%E2%80%93Jenkins
- https://en.wikipedia.org/wiki/Autoregressive_integrated_moving_average
A survey of online failure prediction methods:
Predicting Resource Exhaustion with Double Exponential Smoothing