Changes:迭代方差计算

This commit is contained in:
2022-05-27 16:44:49 +08:00
parent 8c3d752e13
commit cbf24656f9
2 changed files with 63 additions and 0 deletions

32
variance_x.py Normal file
View File

@@ -0,0 +1,32 @@
from algorithm import algorithm
import json
import ray
@ray.remote
class variance_x(algorithm):
def __init__(self):
self.config_dict_ = None
self.config_ = None
self.window_length_ = 10
self.avg_ = 0
self.var_ = 0
def set_config(self, config):
self.config_ = config
self.config_dict_ = json.loads(self.config_)
self.window_length_ = self.config_dict_["WINDOW_LENGTH"]
self.init_flag_ = False
def config(self):
return self.config_
def eval(self, value):
if self.init_flag_ == False:
self.init_flag_ = True
self.avg_ = value
self.var_ = 0
else:
present_avg_ = self.avg_ * (self.window_length_ - 1)/self.window_length_ + value / self.window_length_
self.var_ = self.var_ +(value - present_avg_) * (value-self.avg_)
self.avg_ = present_avg_
return self.var_