Нормальное распределение простыми словами

Что это такое

Нормальное распределение (распределение Гаусса) — непрерывное распределение вероятностей, график плотности которого имеет форму симметричного колокола. Это самое важное распределение в статистике: оно лежит в основе доверительных интервалов, проверки гипотез и A/B тестов.

Плотность нормального распределения задаётся формулой:

f(x) = (1 / (σ√(2π))) * exp(-(x - μ)² / (2σ²))

Два параметра полностью определяют форму:

  • μ (мю) — математическое ожидание, центр колокола. Показывает, где расположен пик.
  • σ (сигма) — стандартное отклонение, ширина колокола. Чем больше σ, тем более «размазанным» получается распределение.

Запись N(μ, σ²) означает нормальное распределение с математическим ожиданием μ и дисперсией σ². Например, N(170, 100) — рост людей со средним 170 см и стандартным отклонением 10 см.

Свойства

Нормальное распределение обладает несколькими ключевыми свойствами, которые делают его удобным инструментом.

Симметрия. Колокол симметричен относительно μ. Среднее, медиана и мода совпадают. Левая и правая половины — зеркальные отражения друг друга.

Правило 68-95-99.7 (правило трёх сигм). Доля значений, попадающих в интервал вокруг среднего:

Интервал Доля значений
μ ± 1σ 68.3%
μ ± 2σ 95.4%
μ ± 3σ 99.7%

Это правило стоит выучить наизусть — его спрашивают на собеседованиях и используют в повседневной работе. Если рост людей распределён как N(170, 10²), то 95% людей имеют рост от 150 до 190 см, а за пределы 140–200 см выходит лишь 0.3%.

Хвосты убывают экспоненциально. Вероятность значений, далёких от среднего, падает очень быстро. Значения дальше 4σ от μ практически невозможны — вероятность менее 0.006%.

Линейные комбинации. Если X ~ N(μ₁, σ₁²) и Y ~ N(μ₂, σ₂²) — независимые нормальные величины, то X + Y ~ N(μ₁ + μ₂, σ₁² + σ₂²). Сумма нормальных — нормальна. Это свойство активно используется в A/B тестах при расчёте разности средних.

Z-score: стандартизация

Z-score (стандартизованное значение) — это расстояние от наблюдения до среднего, выраженное в стандартных отклонениях:

z = (x - μ) / σ

Z-score переводит любое нормальное распределение N(μ, σ²) в стандартное нормальное N(0, 1). Это позволяет сравнивать значения из разных шкал и пользоваться единой таблицей вероятностей.

Пример. Кандидат набрал 82 балла на тесте по SQL (среднее по всем кандидатам — 70, стандартное отклонение — 8) и 65 баллов на тесте по Python (среднее — 55, стандартное отклонение — 5).

  • z(SQL) = (82 - 70) / 8 = 1.50
  • z(Python) = (65 - 55) / 5 = 2.00

Несмотря на более высокий абсолютный балл по SQL, результат по Python относительно сильнее — кандидат на 2 стандартных отклонения выше среднего.

Интерпретация z-score через вероятности:

z-score Доля ниже этого значения Доля выше
-2.0 2.3% 97.7%
-1.0 15.9% 84.1%
0.0 50.0% 50.0%
1.0 84.1% 15.9%
1.96 97.5% 2.5%
2.0 97.7% 2.3%
3.0 99.9% 0.1%

Z-score = 1.96 — магическое число в статистике. Оно соответствует 95% доверительному интервалу: 2.5% в каждом хвосте. Именно поэтому в формуле доверительного интервала для 95% уровня стоит множитель 1.96.

Z-score также используют для обнаружения выбросов: наблюдения с |z| > 3 часто считают аномальными.

Почему нормальное распределение встречается повсюду

Короткий ответ: благодаря центральной предельной теореме (ЦПТ).

ЦПТ утверждает: среднее арифметическое большого числа независимых одинаково распределённых случайных величин имеет распределение, близкое к нормальному — независимо от исходного распределения каждой величины.

Рост человека — результат сотен генетических и средовых факторов, каждый из которых вносит небольшой вклад. По ЦПТ их сумма распределена приблизительно нормально. То же самое с погрешностями измерений, временем выполнения рутинных задач, IQ-баллами.

В аналитике связь ещё более прямая:

  • Выборочное среднее конверсии — нормально при достаточном n (по ЦПТ).
  • Разность средних в A/B тестах — нормальна (сумма нормальных — нормальна).
  • Z-тест и t-тест строятся на предположении нормальности среднего, которое обеспечивается ЦПТ.

Вывод: даже если исходные данные далеки от нормальных, статистика (среднее, разность средних), на которой вы строите выводы, часто нормальна.

Стандартное нормальное распределение

Стандартное нормальное распределение — это частный случай: N(0, 1). Среднее равно нулю, стандартное отклонение — единице.

Любое нормальное N(μ, σ²) сводится к стандартному через z-преобразование: z = (x - μ) / σ. Именно поэтому таблицы и функции стандартного нормального достаточно для работы с любыми нормальными распределениями.

Три функции, которые аналитик использует постоянно:

  • PDF (probability density function) — плотность вероятности в точке x. Сама по себе не даёт вероятность конкретного значения (у непрерывного распределения она равна нулю), но определяет форму кривой.
  • CDF (cumulative distribution function) — вероятность P(X <= x). Показывает, какая доля значений лежит ниже порога.
  • PPF (percent point function, обратная CDF) — по заданной вероятности возвращает значение x. Используется для нахождения квантилей и критических значений.

Python: scipy.stats.norm

В Python нормальное распределение реализовано в scipy.stats.norm. Три главных метода — pdf, cdf, ppf.

from scipy import stats

# Стандартное нормальное N(0, 1)
dist = stats.norm(loc=0, scale=1)

# PDF — плотность в точке
print(dist.pdf(0))      # 0.3989 — максимум колокола
print(dist.pdf(1.96))   # 0.0584

# CDF — P(X <= x)
print(dist.cdf(0))      # 0.5    — ровно половина
print(dist.cdf(1.96))   # 0.975  — 97.5% слева
print(dist.cdf(-1.96))  # 0.025  — 2.5% слева

# PPF — обратная CDF: по вероятности находим x
print(dist.ppf(0.975))  # 1.96   — квантиль 97.5%
print(dist.ppf(0.025))  # -1.96  — квантиль 2.5%
print(dist.ppf(0.995))  # 2.576  — квантиль 99.5% (для 99% CI)

Для произвольного нормального — задайте loc (μ) и scale (σ):

# Рост: N(170, 10²)
height = stats.norm(loc=170, scale=10)

# Какова вероятность роста ниже 155 см?
print(height.cdf(155))   # 0.0668 — около 6.7%

# Какой рост соответствует 90-му перцентилю?
print(height.ppf(0.90))  # 182.8 см

# Вероятность роста между 160 и 180 см
prob = height.cdf(180) - height.cdf(160)
print(prob)              # 0.6827 — те самые 68.3%

Когда данные не нормальны

Нормальное распределение — мощная модель, но далеко не все данные ему подчиняются. Важно понимать, когда предположение нормальности ломается.

Скошенные распределения. Выручка, средний чек, время сессии — всё это скошено вправо: много мелких значений и длинный хвост больших. Медианный чек — 2 000 рублей, но есть заказы на сотни тысяч. Логнормальное распределение описывает такие данные лучше.

Счётные данные. Количество покупок, визитов, кликов — дискретные неотрицательные величины. Они распределены по Пуассону или отрицательному биномиальному, а не по нормальному.

Бинарные данные. Конверсия — это 0 или 1. Распределение Бернулли, не нормальное. Но выборочная доля при большом n уже распределена приблизительно нормально — снова по ЦПТ.

Тяжёлые хвосты. Финансовые доходности, суммы страховых выплат — распределения с хвостами тяжелее нормальных. Значения далеко от среднего встречаются чаще, чем предсказывает нормальная модель. Правило 3 сигм здесь не работает.

Практическое правило для аналитика: проверяйте нормальность данных визуально (гистограмма, Q-Q plot), но помните — для большинства статистических тестов достаточно нормальности среднего (по ЦПТ), а не самих данных.

Вопросы с собеседований

На собеседованиях по статистике нормальное распределение спрашивают в разных контекстах — от базовых определений до нюансов применимости.

«Что такое нормальное распределение? Назовите его свойства.»

Непрерывное симметричное распределение в форме колокола, полностью определяемое двумя параметрами — средним μ и стандартным отклонением σ. Свойства: симметрия относительно μ, среднее = медиана = мода, правило 68-95-99.7, хвосты быстро убывают, сумма независимых нормальных — нормальна.

«Объясните правило трёх сигм.»

68.3% значений лежат в пределах одного σ от среднего, 95.4% — в пределах двух σ, 99.7% — в пределах трёх σ. На практике: если наблюдение отклоняется от среднего более чем на 3σ, оно крайне маловероятно при нормальном распределении и может быть выбросом.

«Что такое z-score и зачем он нужен?»

Z-score = (x - μ) / σ — это число стандартных отклонений между наблюдением и средним. Позволяет сравнивать значения из разных шкал, находить вероятности через таблицу стандартного нормального распределения и выявлять выбросы.

«Почему нормальное распределение так часто встречается?»

Благодаря центральной предельной теореме. Если величина — это результат суммирования множества мелких независимых факторов, её распределение близко к нормальному. Кроме того, выборочные средние при большом n распределены нормально — независимо от формы исходных данных.

«Приведите пример данных, которые не распределены нормально.»

Доход пользователей — сильно скошен вправо (много средних, мало очень высоких). Количество покупок — дискретное, неотрицательное. Время до события (churn) — экспоненциальное или вейбулловское. Конверсия — бинарная (0 или 1).

«Можно ли использовать z-тест, если данные ненормальны?»

Да, если выборка достаточно велика. Z-тест проверяет гипотезу о среднем, а выборочное среднее по ЦПТ распределено приблизительно нормально при большом n. Нормальность самих данных не требуется — достаточно нормальности статистики.


Потренируйтесь решать задачи по статистике в Карьернике — тренажёре для подготовки к собеседованиям аналитиков.

FAQ

Что такое нормальное распределение простыми словами?

Нормальное распределение — это симметричное распределение в форме колокола, полностью определяемое средним (мю) и стандартным отклонением (сигма). Большинство значений сосредоточены вокруг среднего, а экстремальные значения встречаются очень редко.

Что означает правило 68-95-99.7?

В пределах одного стандартного отклонения от среднего лежат 68.3% значений, в пределах двух — 95.4%, в пределах трёх — 99.7%. Это значит, что значения дальше трёх сигм от среднего крайне редки и часто рассматриваются как выбросы.

Что такое z-score и зачем он нужен аналитику?

Z-score = (x - среднее) / стандартное отклонение — показывает, на сколько стандартных отклонений значение отстоит от среднего. Он позволяет сравнивать значения из разных шкал, находить вероятности через таблицу нормального распределения и выявлять выбросы в данных.

Можно ли использовать статистические тесты, если данные не распределены нормально?

Да, если выборка достаточно большая. По центральной предельной теореме выборочное среднее распределено приблизительно нормально при большом n, даже если сами данные далеки от нормальности. Для малых выборок с ненормальными данными используют непараметрические тесты, например Mann-Whitney.