Details

New Feature Request

Status: Open

Trivial

Resolution: Unresolved

None

None
Description
ZBXNEXT922 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/Crossvalidation_%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/11020extendeddft
 https://en.wikipedia.org/wiki/Autoregressive_model
 https://en.wikipedia.org/wiki/Autoregressive%E2%80%93movingaverage_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