Ответ
Меры разброса данных помогают оценить, насколько значения отклоняются от среднего. Основные:
- Размах — разница между max и min.
range = max(data) - min(data)
- Дисперсия — средний квадрат отклонений от среднего.
variance = sum((x - mean) ** 2 for x in data) / len(data)
- Стандартное отклонение — корень из дисперсии, показывает среднее отклонение в исходных единицах.
std_dev = variance ** 0.5
- Межквартильный размах (IQR) — разница между 75-м и 25-м перцентилями, устойчив к выбросам.
q75, q25 = np.percentile(data, [75, 25])
iqr = q75 - q25
- Среднее абсолютное отклонение (MAD) — среднее абсолютных отклонений от медианы.
median = np.median(data)
mad = np.mean(np.abs(data - median))
Выбор меры зависит от наличия выбросов и типа данных.