Условие
Сформулируйте центральную предельную теорему (ЦПТ). Зачем она нужна аналитику и как её используют в A/B-тестах?
Решение
Подход
ЦПТ: если X₁, X₂, ..., Xₙ — независимые одинаково распределённые случайные величины с конечной дисперсией σ² и средним μ, то распределение выборочного среднего X̄ₙ = (X₁ + ... + Xₙ)/n при n → ∞ сходится к нормальному N(μ, σ²/n).
Ключевое: распределение самих наблюдений может быть каким угодно (даже мощно скошенным, как доходы или клики), но распределение среднего по выборке — нормальное при достаточно большом n.
Зачем аналитику
- A/B-тест на конверсиях: каждая попытка — Бернулли (0 или 1), но среднее по миллиону пользователей нормально распределено → корректно строить z- или t-критерий.
- Доверительный интервал среднего:
X̄ ± 1.96 * s / √n— это прямое следствие ЦПТ. - Bootstrap: распределение бутстрэп-средних близко к нормальному из-за ЦПТ.
import numpy as np
import matplotlib.pyplot as plt
# Возьмём сильно асимметричное распределение (экспоненциальное)
pop = np.random.exponential(scale=1.0, size=100_000)
means = [np.random.choice(pop, size=50).mean() for _ in range(5_000)]
plt.hist(means, bins=50) # будет похоже на нормальноеПодводные камни
- ЦПТ работает на среднем — не на одиночных наблюдениях. Конверсия одного клиента — это всё ещё Бернулли, а не нормаль.
- «Достаточное n» — не магические 30. На сильно скошенных распределениях (доход, выручка с heavy tail) может потребоваться сотни и тысячи наблюдений.
- Условие конечной дисперсии существенно: для распределений типа Коши ЦПТ не работает.
- Независимость наблюдений — обязательна. Корреляции между пользователями (например, оба из одной сети друзей) могут ломать выводы.
Эталонный ответ
Среднее по большой выборке независимых одинаково распределённых наблюдений с конечной дисперсией стремится к нормальному распределению N(μ, σ²/n) — независимо от распределения самих наблюдений. Это основа доверительных интервалов и большинства параметрических тестов в A/B.