Статистика — это наука о сборе, описании и интерпретации данных: как их измерить, свести к нескольким понятным числам и не ошибиться при выводах. В этой статье — только фундамент: какие бывают типы данных и шкалы измерения, как считать среднее, медиану, моду, дисперсию и стандартное отклонение руками и в Python, когда среднее обманывает и чем тут помогает медиана.
Содержание
Сразу развести три близких понятия, которые часто путают:
- признак (переменная) — то, что мы измеряем у объекта (рост, город, оценка);
- наблюдение — одно значение признака у одного объекта;
- выборка — набор наблюдений, по которому судят о большой группе (популяции).
Качественные и количественные данные
Первое деление — по природе значения.
Количественные данные выражены числами, с которыми осмысленна арифметика: рост, вес, число платежей по карте. Их делят на два вида:
- дискретные — результат счета, значения отдельные и неделимы по смыслу (число детей, количество заказов). Между 2 и 3 заказами нет 2.5;
- непрерывные — результат измерения по шкале, допускают дробные значения (рост 178.4 см, температура 36.6). Ограничены только точностью прибора.
Качественные данные (их называют категориальными) описывают свойство, а не количество: цвет, город, семейное положение. Арифметика над ними бессмысленна — нельзя сложить «Москву» и «Казань». Частный случай — бинарные: ровно два значения (да/нет, 1/0), удобны в машинном обучении как метка класса.
Ключевая мысль: тип данных определяет, какие операции и какие статистики законны. Посчитать среднее по номерам категорий — типовая ошибка.
Шкалы измерения
Более точная классификация — по шкале измерения (модель Стивенса). Она говорит, какие сравнения допустимы. Каждая следующая шкала добавляет возможности к предыдущей.
| Шкала | Тип данных | Что осмысленно | Пример | Меры центра |
|---|---|---|---|---|
| Номинальная | качественная | равно / не равно | пол, город, цвет | мода |
| Порядковая | качественная | плюс порядок (больше/меньше) | оценка «плохо-отлично», класс отеля | мода, медиана |
| Интервальная | количественная | плюс разности значений | температура по Цельсию, год | плюс среднее (но не отношения) |
| Относительная | количественная | плюс отношения, есть абсолютный ноль | рост, вес, зарплата, время | все меры |
Разница интервальной и относительной шкалы — в нуле. У Цельсия ноль условный, поэтому «20 градусов вдвое теплее 10» неверно. У роста ноль абсолютный, и «2 метра вдвое выше метра» корректно. Это упрощенная модель: на практике шкалу иногда выбирают под задачу, а не жестко по признаку.
Описательная статистика: меры центра
Описательная статистика сводит набор чисел к нескольким показателям. Первая группа — меры центра, «типичного» значения.
- Среднее (арифметическое) — сумма значений, деленная на их количество.
- Медиана — значение, которое делит упорядоченный ряд пополам: половина меньше, половина больше.
- Мода — самое частое значение (может отсутствовать или быть не одно).
Посчитаем на маленьком примере руками. Зарплаты команды из 6 человек (тыс. руб): 60, 65, 70, 70, 75, 300.
- сумма = 640, среднее = 640 / 6 = 106.7 (округленно);
- ряд уже упорядочен, число значений четное, медиана = среднее двух центральных = (70 + 70) / 2 = 70;
- мода = 70 (встречается дважды).
Тот же расчет в Python модулем statistics:
import statistics as st
zarplaty = [60, 65, 70, 70, 75, 300] # тыс. руб, 6 человек
print(st.mean(zarplaty)) # 106.66666666666667
print(st.median(zarplaty)) # 70.0
print(st.mode(zarplaty)) # 70
Среднее 106.7 больше пяти зарплат из шести — оно «поехало» из-за одного большого значения 300. Медиана 70 описывает типичного сотрудника честнее.
Когда среднее обманывает
Среднее чувствительно к выбросам — редким значениям, далеким от основной массы. Один топ-менеджер с зарплатой 300 сдвигает среднее так, что «средняя зарплата» перестает описывать хоть кого-то из команды.
Правило простое: если в данных есть выбросы или распределение скошенное (доходы, цены, время ответа сервера), в качестве типичного значения берут медиану, а не среднее. Медиана к одиночным выбросам устойчива: замените 300 на 3000 — медиана останется 70.
Симметричная подсказка: если среднее и медиана близки, распределение примерно симметрично; если среднее заметно больше медианы — у распределения длинный правый хвост (скос вправо).
Меры разброса
Центр не говорит, насколько значения раскиданы. Для этого — меры разброса.
- Размах — разность максимума и минимума. Прост, но целиком зависит от двух крайних точек.
- Дисперсия — средний квадрат отклонения от среднего.
- Стандартное отклонение (СКО) — корень из дисперсии; в тех же единицах, что и данные, поэтому читается легче дисперсии.
- Межквартильный размах (IQR) — ширина средних 50% данных, устойчив к выбросам.
Здесь важно развести популяцию и выборку. Популяция — вся интересующая нас группа целиком; выборка — ее часть, которую реально измерили. При расчете дисперсии по всей популяции делят на n. При оценке по выборке делят на n — 1 (поправка Бесселя) — иначе разброс систематически занижается. В Python это разные функции.
Пример руками, набор: 2, 4, 4, 4, 5, 5, 7, 9.
- среднее = 40 / 8 = 5;
- отклонения от среднего: -3, -1, -1, -1, 0, 0, 2, 4;
- квадраты отклонений: 9, 1, 1, 1, 0, 0, 4, 16; сумма = 32;
- дисперсия популяции = 32 / 8 = 4, СКО = 2;
- дисперсия выборки = 32 / 7 = 4.57 (округленно), СКО = 2.14.
import statistics as st
data = [2, 4, 4, 4, 5, 5, 7, 9]
print(st.pvariance(data)) # 4 делитель n (популяция)
print(st.pstdev(data)) # 2.0
print(st.variance(data)) # 4.571428571428571 делитель n-1 (выборка)
print(st.stdev(data)) # 2.138089935299395
Квартили и межквартильный размах
Квартили делят упорядоченный ряд на четверти: Q1 отсекает нижние 25%, Q2 — это медиана, Q3 отсекает нижние 75%. Межквартильный размах IQR = Q3 — Q1.
import numpy as np
data = np.array([1, 3, 5, 7, 9, 11, 13])
print(np.median(data)) # 7.0
print(np.percentile(data, 25)) # 4.0 Q1 (метод linear)
print(np.percentile(data, 75)) # 10.0 Q3
print(np.percentile(data, 75) - np.percentile(data, 25)) # 6.0 IQR
Важная оговорка: конкретное число Q1/Q3 зависит от метода интерполяции. numpy по умолчанию использует линейную интерполяцию и дает Q1 = 4.0; «ручные» школьные методы (например, метод Тьюки) на этом же ряду дадут Q1 = 3. Поэтому при сравнении результатов из разных инструментов сверяйте, каким методом они получены.
IQR — основа быстрого поиска выбросов: часто выбросами считают точки ниже Q1 — 1.5 * IQR или выше Q3 + 1.5 * IQR.
Немного о распределениях
Распределение показывает, как часто встречаются разные значения. Опорная модель — нормальное распределение: симметричная колоколообразная кривая, у которой среднее, медиана и мода совпадают.
Именно для нормального распределения работает правило «68-95-99.7»: около 68% значений лежат в пределах одного СКО от среднего, 95% — двух, 99.7% — трех. Это свойство конкретно нормального распределения, а не любых данных: у скошенных распределений (доходы, время ответа сервера) доли будут другими. Проверять форму данных перед применением правила обязательно — для этого строят гистограмму.
Выводы
- Тип данных и шкала измерения определяют, какие статистики и операции законны; считать среднее по номерам категорий — ошибка.
- Меры центра — среднее, медиана, мода; меры разброса — размах, дисперсия, СКО и IQR.
- При выбросах и скошенных данных типичное значение честнее описывает медиана, а не среднее.
- Дисперсию по всей популяции делят на n, по выборке — на n — 1 (поправка Бесселя).
- Правило «68-95-99.7» — свойство нормального распределения, а не любого набора данных.
Где применяется / связь с практикой
Описательная статистика — первый шаг любого разбора данных: прежде чем строить модель или дашборд, аналитик считает средние, медианы и разброс, чтобы понять форму данных и заметить выбросы. Дальше те же понятия лежат в основе A/B-тестов, отчетности и метрик продукта. На практике эти расчеты закрывают связкой pandas плюс numpy, а результаты сводят в таблицы и графики.
Освойте тему на практике
Разложить теорию по реальным датасетам и довести навык до рабочих задач помогает курс Аналитик данных: там статистику отрабатывают на проектах с обратной связью от практикующих аналитиков. Посмотреть формат и темы вживую можно на открытых уроках Otus — это бесплатные вебинары с разбором конкретных задач.
FAQ
Чем описательная статистика отличается от инференциальной?
Описательная только суммирует уже собранную выборку (среднее, разброс, графики). Инференциальная переносит выводы с выборки на всю популяцию и оценивает неопределенность — через проверку гипотез и доверительные интервалы.
Можно ли считать среднее по оценкам от 1 до 5?
Формально это порядковая шкала, интервалы между «удовлетворительно» и «хорошо» не обязаны быть равны, поэтому строго среднее не определено. На практике его считают, но осторожно; медиана и мода для таких данных корректнее.
Что делать с пропущенными значениями перед расчетом?
Их либо исключают из расчета, либо заполняют (например, медианой по столбцу). Молча оставлять пропуски нельзя: часть функций вернет ошибку или NaN, а доля пропусков сама по себе бывает важным сигналом.



