Я пытаюсь реализовать рекурсивную функцию стандартного отклонения в 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
https://i.stack.imgur.com/YjYhf.png