Что такое разброс (дисперсия) в статистике?

«Что такое разброс (дисперсия) в статистике?» — вопрос из категории Статистика и теория вероятностей, который задают на 26% собеседований Data Scientist / ML Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Разброс (дисперсия) — это числовая мера, которая показывает, насколько сильно значения в наборе данных отклоняются от их среднего арифметического значения. Дисперсия количественно определяет "разброс" или "вариабельность" данных.

Формула дисперсии:

  • Дисперсия генеральной совокупности (Population Variance): ( sigma^2 = frac{1}{N} sum_{i=1}^{N} (x_i - mu)^2 )
  • Дисперсия выборки (Sample Variance, несмещенная оценка): ( s^2 = frac{1}{n-1} sum_{i=1}^{n} (x_i - bar{x})^2 ) Использование (n-1) (степени свободы) вместо (n) корректирует смещение оценки при работе с выборкой, давая более точную оценку дисперсии генеральной совокупности.

Ключевые свойства:

  • Дисперсия всегда неотрицательна (( sigma^2 geq 0 )).
  • Дисперсия измеряется в квадратах единиц исходных данных (например, если данные в метрах, дисперсия — в метрах²).
  • Чувствительность к выбросам: Поскольку отклонения возводятся в квадрат, выбросы (экстремальные значения) вносят очень большой вклад в дисперсию.

Практический расчет и интерпретация:

import numpy as np
import matplotlib.pyplot as plt

# Пример данных
heights = np.array([165, 170, 175, 180, 185, 190, 195])  # Рост в см
mean_height = np.mean(heights)
variance_height = np.var(heights, ddof=1)  # ddof=1 для выборки
std_dev_height = np.std(heights, ddof=1)   # Стандартное отклонение

print(f"Средний рост: {mean_height:.1f} см")
print(f"Дисперсия роста: {variance_height:.1f} см²")
print(f"Стандартное отклонение: {std_dev_height:.1f} см")

# Визуализация
plt.figure(figsize=(8,4))
plt.scatter(heights, np.zeros_like(heights), alpha=0.6, label='Данные')
plt.axvline(mean_height, color='red', linestyle='--', label=f'Среднее ({mean_height:.1f})')
# Показываем интервал ± одно стандартное отклонение
plt.axvspan(mean_height - std_dev_height, mean_height + std_dev_height, alpha=0.2, color='gray', label='±1 σ')
plt.xlabel('Рост (см)')
plt.legend()
plt.title(f'Разброс данных. Дисперсия = {variance_height:.1f}, STD = {std_dev_height:.1f}')
plt.show()

Связь со стандартным отклонением: Стандартное отклонение (( sigma ) или ( s )) — это квадратный корень из дисперсии. Это более удобная для интерпретации мера разброса, так как она выражается в тех же единицах, что и исходные данные.

Альтернативные меры разброса (устойчивые к выбросам):

  • Межквартильный размах (IQR): Разница между 75-м и 25-м процентилями (Q3 - Q1).
  • Среднее абсолютное отклонение (MAD): Среднее значение абсолютных отклонений от медианы или среднего.