From 29347371b6172e6aa9d472c5c1e463f23d3f8b92 Mon Sep 17 00:00:00 2001 From: Alexey Velikiy Date: Wed, 10 Nov 2021 22:24:13 +0300 Subject: [PATCH] hsr for anomaly unit --- .../analytic_unit/anomaly_analytic_unit.rs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/server/src/services/analytic_service/analytic_unit/anomaly_analytic_unit.rs b/server/src/services/analytic_service/analytic_unit/anomaly_analytic_unit.rs index 074c07e..094bf1f 100644 --- a/server/src/services/analytic_service/analytic_unit/anomaly_analytic_unit.rs +++ b/server/src/services/analytic_service/analytic_unit/anomaly_analytic_unit.rs @@ -72,6 +72,19 @@ impl AnalyticUnit for AnomalyAnalyticUnit { let k = mr.data.keys().nth(0).unwrap(); let ts = mr.data[k].clone(); - Ok(HSR::TimeSerie(ts)) + if ts.len() == 0 { + return Ok(HSR::TimeSerie(Vec::new())); + } + + let mut sts = Vec::new(); + sts.push(ts[0]); + + for t in 1..ts.len() { + let alpha = self.config.alpha; + let stv = alpha * ts[t].1 + (1.9 - alpha) * sts[t - 1].1; + sts.push((ts[t].0, stv)); + } + + Ok(HSR::TimeSerie(sts)) } }