Во-первых, дисперсия - это не просто квадрат среднего числа, это сумма всех квадратов среднего числа, деленная на n (или n-1)
Диапазон для расчета дисперсии должен начинаться с 1: range(1,n+1)
var=0
for num in range(1,n+1):
var = var +(num- mean)**2
Теперь дисперсию можно рассчитать двумя способами : путем деления на n
или n-1
, что дает два разных ответа
variance1 = (var*1.0) /n
variance2 = (var*1.0) /(n-1)
Например: для n = 10, дисперсия 1 = 8,25 и дисперсия 2 = 9,166666666666666
n
используется при расчете дисперсии совокупности и n-1
при расчете дисперсии выборки.
Дополнительные детали:
Кроме того, при использовании range
, если значение шага равно 1, его указывать не нужно. Используйте range(0,n+1)
вместо range(0,n+1,1)
Старайтесь не использовать одну и ту же переменную sum
как для среднего значения, так и для дисперсии, поскольку это приведет только к путанице с формулой.