Описательная статистика

Учимся описывать данные числами: центр, разброс и форму распределения.

Описательная статистика — сжатие набора данных до нескольких чисел, отражающих его центр и разброс.

Прежде чем строить сложные модели, данные надо описать. Где их «центр»? Насколько они разбросаны? Есть ли выбросы? На эти вопросы отвечают несколько базовых показателей, встроенных в R.

Описательная статистика — это язык, на котором мы коротко рассказываем о данных. Вместо тысячи чисел — два-три показателя, передающих суть: типичное значение, разброс вокруг него, границы. Без этого шага легко обмануться: одно и то же среднее могут давать и ровный, и крайне неоднородный набор. Поэтому грамотный аналитик всегда смотрит и центр, и разброс, и форму распределения — только их сочетание честно описывает данные.

Меры центра: среднее и медиана

mean — среднее арифметическое, median — значение, делящее данные пополам:

income <- c(30, 32, 35, 31, 200)
mean(income)
median(income)

Вывод:

[1] 65.6
[1] 32

Обратите внимание: среднее (65.6) сильно завышено из-за выброса 200, а медиана (32) устойчива и точнее отражает «типичный» доход. Поэтому для перекошенных данных (зарплаты, цены) часто предпочитают медиану.

Меры разброса: дисперсия и стандартное отклонение

sd (standard deviation) показывает, насколько в среднем значения отклоняются от среднего:

scores <- c(70, 75, 80, 85, 90)
sd(scores)
var(scores)
range(scores)

Вывод:

[1] 7.905694
[1] 62.5
[1] 70 90

var — дисперсия (квадрат sd), range — минимум и максимум. Чем больше sd, тем сильнее разброс данных.

Квантили и сводка

quantile делит данные на части, а summary собирает ключевые показатели:

scores <- c(70, 75, 80, 85, 90)
quantile(scores, 0.25)
summary(scores)

Вывод:

  25% 
   75 
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
     70      75      80      80      85      90 

Как работает под капотом

R по умолчанию считает выборочное стандартное отклонение и дисперсию: делит сумму квадратов отклонений на n-1, а не на n. Это поправка Бесселя — она даёт несмещённую оценку для выборки из большей совокупности. Поэтому ручной расчёт «среднего квадрата отклонений» (деление на n) даст чуть меньшее число, чем var(x). Для учебных данных разница невелика, но в статистике она принципиальна.

Частые ошибки

  • Доверять только среднему. При выбросах и перекосах медиана честнее. Смотрите оба показателя.
  • Забыть про разброс. Два набора с одним средним могут вести себя совершенно по-разному — нужен sd.
  • NA в данных. mean, sd без na.rm = TRUE вернут NA при пропусках.

Итог

  • Центр данных: mean (чувствительно к выбросам) и median (устойчиво).
  • Разброс: sd, var, range.
  • quantile и summary дают полную картину распределения.
  • R считает sd/var с делением на n-1 (выборочная оценка).
Проверьте себя
1. Почему для зарплат с выбросами часто предпочитают медиану, а не среднее?
AМедиана считается быстрее
BМедиана устойчива к выбросам и точнее отражает типичное значение
CСреднее нельзя посчитать при выбросах
DЭто одно и то же
2. Что показывает функция sd?
AСреднее значение
BСтандартное отклонение — меру разброса данных
CМаксимум
DЧисло элементов
3. На что R делит сумму квадратов отклонений при расчёте var?
AНа n
BНа n-1 (выборочная оценка)
CНа n+1
DНа 2