diff --git a/variance.py b/variance.py new file mode 100644 index 0000000..9954066 --- /dev/null +++ b/variance.py @@ -0,0 +1,41 @@ +from algorithm import algorithm +import json +import ray + +@ray.remote +class average(algorithm): + def __init__(self): + self.config_dict_ = None + self.config_ = None + self.average_number_ = 10 + self.present_number_ = 0 + self.window_1_ = [] + self.sum = 0 + self.average = 0 + + + def set_config(self, config): + self.config_ = config + self.config_dict_ = json.loads(self.config_) + self.average_number_ = self.config_dict_["AVERAGE_NUMBER"] + + def config(self): + return self.config_ + + def eval(self, value): + self.present_number_ = len(self.window_1_) + if self.present_number_ < self.average_number_: + self.window_1_.append(value) + self.sum = 0 + for i in self.window_1_: + self.sum = self.sum + i + self.average = self.sum / len(self.window_1_) + return self.average + else: + self.sum = 0 + del self.window_1_[0] + self.window_1_.append(value) + for i in self.window_1_: + self.sum = self.sum + i + self.average = self.sum / len(self.window_1_) + return self.average