Форма распределения и асимметрия

Два набора с одинаковым центром и разбросом могут иметь совершенно разную форму. Форма — третий важный аспект данных.

Асимметрия (скошенность, skewness) — мера того, насколько распределение «перекошено» в одну сторону, с длинным хвостом слева или справа.

Три аспекта данных

До сих пор мы описывали данные двумя характеристиками: центр (где) и разброс (насколько кучно). Третья — форма: симметрично ли распределение, есть ли длинный хвост, одна вершина или несколько. Форму обычно видят на гистограмме, но кое-что можно понять и по числам.

Симметрия против скоса

  • Симметричное распределение — левая и правая половины зеркальны (рост, ошибки измерений). Среднее ≈ медиане.
  • Скос вправо (положительный) — длинный хвост тянется вправо, к большим значениям. Среднее > медианы. Типично для доходов, цен, времени ответа.
  • Скос влево (отрицательный) — длинный хвост слева. Среднее < медианы. Например, возраст смерти, баллы лёгкого экзамена.

Среднее и медиана выдают скос

Простейший индикатор формы — сравнить среднее с медианой. Хвост тянет среднее в свою сторону, а медиану почти не двигает.

from statistics import mean, median

# Симметрично
sym = [4, 5, 6, 7, 8, 9, 10]
# Скос вправо: длинный хвост больших значений
right = [1, 2, 2, 3, 3, 3, 4, 10, 25]
# Скос влево: длинный хвост маленьких значений
left = [1, 16, 22, 23, 23, 24, 24, 25, 25]

for name, d in [("симметрично", sym), ("скос вправо", right), ("скос влево", left)]:
    m, med = mean(d), median(d)
    print(name, "-> среднее:", round(m, 2), "медиана:", med,
          "| среднее", ">" if m > med else "<" if m < med else "=", "медианы")

Вывод:

симметрично -> среднее: 7 медиана: 7 | среднее = медианы
скос вправо -> среднее: 5.89 медиана: 3 | среднее > медианы
скос влево -> среднее: 20.33 медиана: 23 | среднее < медианы

Правило-памятка: среднее тянется в сторону хвоста. Если среднее заметно больше медианы — скос вправо; меньше — скос влево; почти равны — симметрия.

Числовая мера скоса

Существует и формальный коэффициент асимметрии. Удобная прикидка — коэффициент Пирсона: 3·(среднее − медиана) / стандартное отклонение. Знак показывает направление скоса, величина — его силу.

from statistics import mean, median, stdev

def skew(d):
    return 3 * (mean(d) - median(d)) / stdev(d)

right = [1, 2, 2, 3, 3, 3, 4, 10, 25]
left = [1, 16, 22, 23, 23, 24, 24, 25, 25]
sym = [4, 5, 6, 7, 8, 9, 10]

print("Скос вправо:", round(skew(right), 2))
print("Скос влево:", round(skew(left), 2))
print("Симметрично:", round(skew(sym), 2))

Вывод:

Скос вправо: 1.14
Скос влево: -1.03
Симметрично: 0.0

Положительное значение — скос вправо, отрицательное — влево, около нуля — симметрия. Удобно для быстрой автоматической проверки формы без построения графика.

Бимодальность — сигнал о смеси

Иногда у данных две вершины (две моды). Это почти всегда значит, что в одну выборку попали две разные группы. Например, рост в смешанной группе мужчин и женщин даёт два «горба». Бимодальность — повод разделить данные и анализировать группы по отдельности, а не усреднять их в одно бессмысленное число.

from collections import Counter

# Две группы слиплись в один набор
heights = [158, 160, 162, 159, 161, 178, 180, 182, 179, 181]
c = Counter(h // 10 * 10 for h in heights)   # группируем по десяткам см
for bucket in sorted(c):
    print(f"{bucket}-{bucket+9} см:", "#" * c[bucket], f"({c[bucket]})")

Вывод:

150-159 см: ## (2)
160-169 см: ### (3)
170-179 см: ## (2)
180-189 см: ### (3)

В этой грубой «текстовой гистограмме» видно два сгущения — около 160 и около 180 см. Среднее (~170 см) не описывает никого: реальных людей такого роста в выборке почти нет. Вот почему смотреть на форму так же важно, как на центр.

Итог

  • Кроме центра и разброса у данных есть форма: симметрия, скос, число вершин.
  • Среднее тянется в сторону хвоста: среднее > медианы — скос вправо, меньше — влево.
  • Коэффициент асимметрии числом подтверждает направление и силу скоса.
  • Две вершины (бимодальность) обычно означают смесь двух групп — их стоит разделить.
Проверьте себя
1. Распределение доходов скошено вправо. Как соотносятся среднее и медиана?
AСреднее меньше медианы
BСреднее больше медианы
CСреднее равно медиане
DСвязи нет
2. О чём чаще всего говорит бимодальное распределение (две вершины)?
AОб ошибке в данных
BО том, что в выборку попали две разные группы
CО слишком большом размере выборки
DО том, что данные симметричны
3. В какую сторону «тянется» среднее относительно медианы?
AВсегда влево
BВ сторону длинного хвоста распределения
CСреднее не зависит от формы
DВ сторону, противоположную хвосту
Поддержать проект