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

Карьерник — квиз-тренажёр в Telegram с 1500+ вопросами для собесов аналитика. SQL, Python, A/B, метрики. Бесплатно.

Зачем это знать

ЦПТ — причина, по которой работают почти все ваши A/B-тесты. Данные могут быть любыми (bimodal, skewed, censored), но среднее выборки всё равно будет почти нормально распределено — и это позволяет использовать t-test, z-test, confidence intervals.

На собесах middle+ аналитика вопрос «почему t-test работает на non-normal данных?» — проверка понимания ЦПТ. Без ответа — downgrade.

Короткое объяснение

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

Ключевое слово: среднее. Не сами значения, а их средние.

Формальная запись

Если X1, X2, ..., XN — IID с mean μ и variance σ²:

(X̄ - μ) / (σ / √N) → N(0, 1) при N → ∞

Или: X̄ ≈ Normal(μ, σ² / N) для большого N.

Визуально

Бросайте кубик 1 раз — distribution: uniform от 1 до 6.

Бросайте кубик 10 раз, берите среднее, повторите 1000 раз — distribution этих средних: bell curve.

Даже uniform → normal через averaging. Вот магия.

Что значит «достаточно велико»

Rule of thumb: N ≥ 30.

Для почти normal данных — хватит 10. Для сильно skewed — нужно 100+.

Пример: e-commerce

Order value на вашем сайте:

  • Minimum 100 ₽, maximum 50 000 ₽
  • Distribution: heavy right tail (mostly маленькие, редко большие)

Это НЕ normal. Но:

Средний чек за день — для N = 100 заказов в день — будет approximately normal.

Вот почему мы можем строить CI для среднего чека, делать A/B-тесты.

В Python

import numpy as np
import matplotlib.pyplot as plt

# Исходное: uniform
data = np.random.uniform(0, 10, 100000)

# Средние по 30 значений, 10000 раз
means = [np.mean(np.random.choice(data, 30)) for _ in range(10000)]

# means — normal, хотя data — uniform!

Где используется

A/B-тесты

Даже если метрика не normal (conversion, revenue), средние по группам — normal. Т-тест ok.

Confidence интервалы

CI для среднего строится на allowance нормальности:

CI = X̄ ± 1.96 × (σ / √N)

Hypothesis testing

Z-test, t-test полагаются на ЦПТ.

Bootstrap

Альтернатива ЦПТ для малых N или сложных статистик.

Условия

  1. Независимость — наблюдения не влияют друг на друга
  2. Конечная дисперсия — σ² < ∞ (Cauchy нарушает)
  3. Identical distribution — все из одного распределения (IID)

Если условия нарушены — ЦПТ может не работать.

Пример когда не работает

Cauchy distribution — no mean, no variance. Среднее Cauchy — тоже Cauchy, не normal.

В практике встречается редко, но важно помнить.

На собесе

«Что такое ЦПТ?» Среднее из IID величин → normal при N → ∞.

«Зачем?» Позволяет использовать t-test на non-normal данных.

«Какое N достаточно?» Обычно 30+. Для skewed — больше.

«Что если variance бесконечен?» ЦПТ не работает. Использовать Cauchy-тесты или transformations.

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

ЦПТ про данные, не про средние

Даже если X не normal, X̄ для большого N — normal. Но сами X остаются не-normal.

Игнорировать IID

Если наблюдения зависимы (time series), ЦПТ может требовать корректировки.

Too small N

Для N = 5 на exponential — распределение средних ещё не normal. Нужно N = 50+.

Связанные темы

FAQ

Всегда N ≥ 30?

Нет, это rule of thumb. Для символьно skewed данных — 100+.

ЦПТ для медианы?

Медиана тоже стремится к normal, но с другой variance.

Почему именно normal?

Из-за mathematics: сумма многих независимых эффектов → normal из-за convolutions.


Тренируйте статистику — откройте тренажёр с 1500+ вопросами для собесов.