Я не понимаю, почему вычисление дисперсии должно быть проблемой вообще.Поскольку дисперсия - это просто сумма квадратов расстояний от среднего значения, деленная на число элементов, базовый псевдокод для этого будет
- . Вычислить mu, среднее значение множества
- Пусть s = 0
- Для каждого элемента x в списке, пусть s = s + (x - mu) * (x-mu)
- Рассчитать s / n
Обратите внимание, что иногда лучше разделить s на n-1 (особенно, когда вы беспокоитесь о смещенных оценках).См. статью в Википедии об исправлении Бесселя , почему
Конечно, более низкая дисперсия указывает на высокую однородность.
Обратите внимание, что, возможно, было бы неплохо дополнительно разделить вашу дисперсию на mu ^ 2, чтобы получить абсолютную меру однородности (то есть так, чтобы считалось ".5 1 .5 1 .5 1"менее плотный, чем "100 101 100 101 100 101", так как относительные различия в первом случае намного больше, чем во втором).