我正在尝试在Python中实现递归标准差函数。我相信这是正确的公式;但是,与内置的numpy std相比,我总是得到不同的答案。
def standard_deviation(l):
std = 0
mean = 0
for i in range(len(l)):
mean = (i * mean + l[i]) / (i + 1)
std = math.sqrt( ( (i * std ** 2) + (l[i] - mean) ** 2 )
/ (i + 1))
return std