diff options
author | Luca Deri <deri@ntop.org> | 2025-03-24 12:47:15 +0100 |
---|---|---|
committer | Luca Deri <deri@ntop.org> | 2025-03-24 12:47:15 +0100 |
commit | ede297974f58e7ff1bce2d8e01f3c5b4eae8b219 (patch) | |
tree | f533c25dd3fce1d5e06f4558c87591e356478a39 | |
parent | 25492cd4c786b89932430b317fe3da1cd964162a (diff) |
Added secondary singl eexponential smoothing implementation
-rw-r--r-- | src/lib/ndpi_analyze.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/lib/ndpi_analyze.c b/src/lib/ndpi_analyze.c index fece048b9..1f72cb978 100644 --- a/src/lib/ndpi_analyze.c +++ b/src/lib/ndpi_analyze.c @@ -1367,9 +1367,16 @@ int ndpi_ses_add_value(struct ndpi_ses_struct *ses, const double _value, double if(ses->num_values == 0) *forecast = value; - else + else { +#if 1 + /* "Classic" formula */ + *forecast = (ses->params.alpha * value) + ((1 - ses->params.alpha) * ses->last_forecast); +#else + /* Alternative formula */ *forecast = (ses->params.alpha * (ses->last_value - ses->last_forecast)) + ses->last_forecast; - +#endif + } + error = value - *forecast; sq_error = error * error; ses->sum_square_error += sq_error, ses->prev_error.sum_square_error += sq_error; |