Биномиальное распределение простыми словами
Зачем это знать
A/B-тест с бинарной метрикой (конверсия) — это биномиальное распределение. Когда спрашивают «какая вероятность, что за 1000 визитов купят ровно 100» — это задача про биномиальное распределение.
На собесах middle+ аналитика биномиальное распределение всплывает в контексте power analysis, расчёта размера выборки и байесовского A/B. Без понимания — ответы слабые.
Короткое объяснение
Биномиальное B(N, p) описывает количество успехов в N независимых пробах, где каждая проба имеет вероятность успеха p.
Пример: бросили монету 10 раз. Сколько раз выпадет орёл? От 0 до 10. Это биномиальное с N=10, p=0.5.
Формула
P(X = k) = C(N, k) × p^k × (1 - p)^(N - k)Где C(N, k) = N! / (k! × (N-k)!) — биномиальный коэффициент (сочетания).
Характеристики
- Среднее: N × p
- Дисперсия: N × p × (1 - p)
- Std: √(N × p × (1 - p))
Пример в аналитике
1000 визитов, конверсия 10%. Сколько ожидается покупок?
E[X] = 1000 × 0.1 = 100 покупок.
Std = √(1000 × 0.1 × 0.9) = √90 ≈ 9.5.
Значит «обычно» 100 ± 9.5, то есть 90-110 покупок — нормальный разброс.
В Python
from scipy.stats import binom
# Вероятность ровно 100 покупок из 1000 при p = 0.1
print(binom.pmf(100, 1000, 0.1))
# Вероятность <= 95 покупок
print(binom.cdf(95, 1000, 0.1))
# Симуляция
samples = binom.rvs(n=1000, p=0.1, size=10000)Аппроксимация нормальным
При большом N и не-краевом p:
Binomial(N, p) ≈ Normal(Np, √(Np(1-p)))Правило: Np > 5 И N(1-p) > 5.
Аппроксимация Пуассоном
При малых p и больших N:
Binomial(N, p) ≈ Poisson(Np)Когда 10 000 писем, конверсия 0.01% — удобнее Пуассон.
В A/B-тестах
Расчёт размера выборки
Для теста конверсии нужно найти N, при котором детектим MDE с заданной мощностью. Формула опирается на биномиальное.
Стандартная ошибка разницы пропорций
SE = √(p1(1-p1)/N1 + p2(1-p2)/N2)Следует из дисперсии биномиального.
Chi-square тест
Сравнение двух конверсий — тест на биномиальные пропорции.
Типичные задачи
Задача 1
«Конверсия 5%, пришло 100 визитов. Какая вероятность, что будет ≥ 10 покупок?».
1 - binom.cdf(9, 100, 0.05) ≈ 2.8%Задача 2
«Что более вероятно: 10 из 100 или 100 из 1000?».
У обоих одинаковая пропорция E[X], но разная дисперсия. 100/1000 более предсказуемо, 10/100 более шумно.
На собесе
«Что такое биномиальное?» N независимых Bernoulli с одинаковым p.
«Когда использовать?» Любая бинарная метрика, где N проб.
«Среднее, дисперсия?» Np и Np(1-p).
«Когда аппроксимируется нормальным?» Np > 5, N(1-p) > 5.
«Когда Пуассоном?» N большое, p маленькое, Np умеренное.
Частые ошибки
Путать с Bernoulli
Bernoulli — одна проба. Биномиальное — N проб.
Требует независимости
Если события зависимы (например, каскадные) — уже не биномиальное.
Маленькое p + малое N
binomial(N, 0.001) для N = 10 — нормальная аппроксимация плохо работает.
Применять Пуассон при большом p
При p > 0.05 аппроксимация Пуассоном даёт заметную ошибку. Используйте биномиальное напрямую.
Считать сумму Бернулли с разными p как биномиальное
Если у проб разные p — это уже Пуассон-биномиальное, а не биномиальное.
Связанные темы
FAQ
Когда не биномиальное?
Когда пробы не независимы или p меняется между пробами.
Почему N × p?
Mean — произведение N и вероятности каждой пробы.
Связь с нормальным?
По ЦПТ: Binomial(N, p) → Normal при большом N.