В этой статье мы рассмотрим ключевые аспекты расчета размера выборки для AB-тестирования, основанного на нормальном приближении. Я провожу вас через логическую цепочку планирования эксперимента, объясняя важные статистические концепции и формулы, необходимые для проведения AB-теста о равенстве средних значений численного признака. Эта информация будет особенно полезна для аналитиков, готовящихся к собеседованиям или стремящихся углубить свое понимание методологии экспериментов.⁠

Автор благодарит друга и коллегу Ивана Стецюка за огромный вклад в написание данной публикации, который заключается в критическом взгляде, математическом ревью и обсуждению фундаментальных вопросов с ней связанных.

Пример эксперимента

Давайте рассмотрим группы посетителей старого лендинга сайта и группу посетителей нового лендинга сайта. Пусть:

  • M_0 — средний чек покупателя на старом лендинге сайта, полученный на выборке размером n_1 со стандартным отклонением \sigma_2(несмещённая оценка)

  • M — средний чек покупателя на новом лендинге сайта, полученный на выборке размером n_2 со стандартным отклонением \sigma_2(несмещённая оценка)

  • Перед началом мы предполагаем, что в эксперименте мы получим, скорее всего результат M>M_0 (направление возможного эффекта нам известно)

Мы хотим ответить на несколько вопросов:

  • Как понять, является ли разница \delta = M-M_0 статистически значимой или нет?

  • С какой вероятностью \alpha мы ошибемся, если посчитаем, что разница является статистически значимой, и с какой вероятностью \beta мы ошибемся, если посчитаем, что не является?

  • Какое количество данных нужно взять, чтобы в эксперименте ошибки из второго пункта были определенными (принято размер выборки набирать такого размера, чтобы ошибки \alpha = 5\%, а \beta = 20\%)?

Распределение разницы средних при многократном повторении эксперимента

Наша цель в AB-тесте — сделать статистически обоснованный вывод о том, есть ли различия между группами или нет.

Рассмотрим, что происходит при многократном проведении одного и того же эксперимента о сравнении M_0 и M и поймем, как будет распределена разница выборочных средних значений M - M_{0} в случае наличия и эффекта и при его отсутствии.

Если различий между группами нет, то при достаточно больших n распределение разницы средних будет нормальным со средним \mu = 0 и стандартным отклонением \sigma = S_{e}:

H_0:  M - M_0 \sim N\Bigg(\mu=0, \;\sigma = S_{e} = \sqrt{\frac{\sigma_{1 \: gen}^2}{n_1} + \frac{\sigma_{2 \: gen}^2}{n_2} } \Bigg)

Если различия между группами есть, то при достаточно больших n распределение разницы средних будет нормальным со средним \mu = d \;(d≠0) и стандартным отклонением \sigma = S_{e}:

H_1: M- M_0 \sim N\Bigg(\mu=d, \; \sigma = S_{e} = \sqrt{\frac{\sigma_{1 \; gen}^2}{n_1} + \frac{\sigma_{2 \: gen}^2}{n_2} } \Bigg)

где:

  • S_{e} — стандартная ошибка разницы средних значений

  • d — разница генеральных средних значений в группах, где есть эффект и где его нет

  • n_1 и n_2 — размеры выборок в каждой группе

  • \sigma_{1\: gen} и \sigma_{2\: gen} — стандартные отклонения данных в генеральных совокупностях, которые можно оценить по выборочным стандартным отклонениям: \sigma_{1\: gen} \approx \sigma_{1} и \sigma_{2 \: gen} \approx \sigma_{2}. В случае применения такого приближения, нам следует использовать распределению Стьюдента (см. отрывок из статьи Википедии про стандартное отклонение), оно все равно будет очень похоже на нормальное при достаточно больших n_1 и n_2, поэтому в данной статье я ограничусь именно таким приближением, чтобы получить важные формулы.

Обоснование нормальности:
Нормальное распределение для каждого из средних значений M и M_0со стандартными отклонениями \sigma_1/\sqrt{n_1} и \sigma_2/\sqrt{n_2} “при достаточно больших n” следует из Центральной Предельной Теоремы (см. отрывок из статьи Википедии о ЦПТ), а нормальное распределение разницы средних значений M - M_0со стандартным отклонением, равным корню из суммы квадратов стандартных отклонений дляM и M_0 следует из свойства нормального распределения о том, что сумма нормальных распределений распределена нормально (см. отрывок из статьи Википедии о сумме нормальных распределений).

Данное распределение разницы средних допускает возможность случайно получить сколь угодно выраженные отклонения, даже если между группами нет реальной разницы!
Вопрос: при каком значении разницы средних следует считать ее статистически значимой (= следует отклонить нулевую гипотезу об отсутствии различий между группами)?
Ответ: В качестве критического значения для разницы средних принято использовать такое значение разницы средних, которое соответствует \alpha = 5\% вероятности случайно получить такие или более сильные различия при условии, что на самом деле разница средних равна нулю (различий между группами нет). Это критическое значение вычисляется по следующей формуле:

\underbrace{M-M_0}_{critical}=\delta_{cr} = z_{\alpha/2} \cdot S_e

где:

  • S_e — стандартная ошибка разницы средних значений (см. выше)

  • z_{\alpha/2} — некоторое число, которое вычисляется на основе стандартного нормального распределения. Внутри промежутка ≤ |z_{\alpha}| находятся 95% значений этого распределения.

Эта формула следует из выражения для z-значения в 2-выборочном тесте (см. отрывок из статьи Википедии о проверке статистических гипотез).

Если в тесте детектируются разница между средними групп \delta≥\delta_{cr}, мы будем отклонять нулевую гипотезу и считать, что ошиблись с вероятностью \alpha. Величина \alpha называется \alpha-уровнем значимости и является вероятностью ошибки 1-го рода (неверное отклонение нулевой гипотезы).

При данном выборе нулевой гипотезы (в случае отсутствия различий между группами) мы будем наблюдать отклонения как в большую, так и в меньшую сторону, поэтому величина \alpha равномерно располагается по концам распределения — по \alpha/2 с каждой стороны.

Рисунок 1. Визуализация распределения разницы средних при многократном повторении эксперимента. Демонстрация расположения критического значения разницы средних, которое ограничивает по модулю 1-α (95%) отклонений от нуля, которые могут произойти случайно.
Рисунок 1. Визуализация распределения разницы средних при многократном повторении эксперимента. Демонстрация расположения критического значения разницы средних, которое ограничивает по модулю 1-α (95%) отклонений от нуля, которые могут произойти случайно.

Как видно из формулы, чем больше выборки (они содержатся в S_e), тем меньше критическая разница средних, при которой мы будем отклонять нулевую гипотезу. Чтобы обнаружить маленький эффект, необходимо взять большие выборки!!!

Если взять n_1=n_2=n, а также \sigma_1 = \sigma_2 = \sigma, получим формулу для стандартной ошибки:

S_{e} = \sqrt{\frac{\sigma_1^2}{n_1} + \frac{\sigma_2^2}{n_2} } \xrightarrow[n_{1}=n_{2}=n]{\sigma_1=\sigma_2=\sigma} \sigma \cdot \sqrt{\frac{2}{n}}

Подставив ее в формулу для критического значения разницы средних, можно выразить n:

\boxed{n = 2 \cdot \Big(\frac{\sigma }{\delta_{cr} } \Big)^2\big(z_{\alpha/2}\big)^2 \cdot  \xrightarrow[z_{\alpha/2=0.025} = 1.96]{}7.7 \cdot \Big(\frac{\sigma }{\delta_{cr} } \Big)^2}

Если мы хотим обнаружить различия в группах как минимум \delta_{cr} и в случае отклонения нулевой гипотезы иметь вероятность ошибиться α = 5\%, мы должны взять выборку как минимум указанного размера.

Здесь можно было бы закончить статью, но тест может закончиться неудачей (различия между группами не будут найдены)

Минус полученной выше формулы для размера выборки в том, что он никакак не учитывает вероятность ошибки в случае, если различия не будут найдены. В данном параграфе станет понятно, что если мы посчитаем размер выборки по формуле выше, то в случае наличия различий размером \delta_{cr}, мы не будем находить различия с вероятностью \beta=50\%.

Если тест не показал статистически значимых различий (наблюдаемая разница средних меньше критической), то судьбой в античной пьесе на сцену выходит β-уровень значимости. Это вероятность отклонить альтернативную гипотезу, когда она верна. Однако данная вероятность будет разной в каждом частном случае альтернативной гипотезы |M(general)-M_0(general)|=d, поэтому в эксперименте мы рассматриваем одну конкретную разницу генеральных средних, равную некоторому положительному числу d>0. Это минимальный эффект, ради которого бизнес готов внедрять новую функцию или проводить исследование. Он называется MDE (Minimum Detectable Effect, минимальный обнаруживаемый эффект).

Важно отметить, что в эксперименте могут быть найдены статистически значимые различия между группами с разницей средних < MDE (это видно по визуализации) в случае \beta < 50\% и >MDE в случае \beta > 50\%.

Рисунок 2. Визуализация распределения разницы средних при многократном повторении эксперимента. Демонстрация расположения MDE, а также ошибки второго рода (β).
Рисунок 2. Визуализация распределения разницы средних при многократном повторении эксперимента. Демонстрация расположения MDE, а также ошибки второго рода (β).

То есть, β — это вероятность отклонить H_1 в случае существования различий размером MDE при проведении эксперимента на выборке размером n.

Альтернативная гипотеза утверждает существование разницы между средними. Однако при вычислении β мы конкретизируем её от общей формулировки "различия существуют" к более точной — "различия существуют и составляют не менее d". Это позволяет рассчитать мощность теста для обнаружения конкретной разницы, так как β (ошибка второго рода) зависит от величины истинной разницы (см. формулу).

Алгоритм проведения теста:

  1. Фиксируем вероятность ошибки 1-го рода \alpha ⇒ Вычисляем z_{\alpha/2}, по которому мы сможем найти критическое значение разницы средних, начиная с которого мы будем отклонять нулевую гипотезу.

  2. Фиксируем вероятность ошибки 2-го рода \beta и MDE ⇒ Вычисляем размер выборки n

Определим \alpha и посчитаем z_{\alpha/2}:

z_{\alpha/2} =\Phi^{-1}\Big(1-\frac{\alpha}{2}\Big)

где \Phi^{-1} — обратная к функции распределения стандартного нормального распределения — "квантиль-функция", которая по указанной площади от -∞ до x выдает нам число x.

Визуализация, откуда берется 1-α/2 внутри квантиль-функции:
Рисунок (*). Визуализация нахождения порогового значения стандартного нормального распределения, которое ограничивает 1-α (95%) данных распределения.
Рисунок (*). Визуализация нахождения порогового значения стандартного нормального распределения, которое ограничивает 1-α (95%) данных распределения.

Определим \beta и MDE и посчитаем размер выборки

\beta = \int_{-\infty}^{z_{\alpha/2} \cdot S_{e}} N(\mu = x-d, \; \sigma=S_{e}) \; dx

Cделав замену z = (x-d)/S_e получим:

\beta = \Phi \Bigl(z_{\alpha/2} - \frac{d}{S_e (n)} \Bigl)

Преобразовав формулу для стандартной ошибки среднего (см. выше) при \sigma_1 = \sigma_2 = \sigma и n_1 = n_2 = n получим:

\boxed{\beta = \Phi\Bigl(z_{\alpha/2} - \frac{d}{\sigma}\sqrt{\frac{n}{2}} \Bigl)}

— это максимальная вероятность отклонения альтернативной гипотезы, если разница в средних составляет как минимум d (MDE) и мы взяли выборку как минимум размером n.
> Чем больше n, тем меньше \beta при фиксированном MDE.
> Чем больше d(MDE), тем меньше \beta при фиксированном (и тем дальше d(MDE) от критического значения разницы средних)

Из полученной формулы для \beta выразим n:

\boxed{n = 2\cdot\Big(\frac{\sigma}{d}\Big)^2  \cdot \Bigg( \underbrace{\Phi^{-1} \big(1-\frac{\alpha}{2}\big)}_{z_{\alpha/2}}+ \underbrace{\Phi^{-1}\big( 1-\beta\big)}_{z_{ \beta}}\Bigg)^2}\xrightarrow[z_{\beta=0.20} = 0.84]{z_{\alpha/2=0.025} = 1.96} \; \approx 15.7 \cdot\Big(\frac{\sigma}{d}\Big)^2

где \Phi^{-1} — обратная к функции распределения стандартного нормального распределения — "квантиль-функция", которая по указанной площади от -∞ до x выдает нам число x. Визуализацию, откуда в квантиль-функции появляется 1-α/2 можно посмотреть выше.

— это минимальное количество данных в каждой выборке, которое обеспечит нам возможность задетектировать различия даже немного меньше чем d (*) и ошибиться с вероятностью \alpha, а в случае отклонения альтернативной гипотезы обеспечит вероятность ошибочного отклонения менее \beta , если реальная разница средних превышает d=MDE
> Чем больше \beta, тем меньше n при фиксированном MDE
> Чем больше MDE, тем меньше n при фиксированном \beta

(*) В случае \beta < 50\% критическое значение для разницы средних \delta_{cr} будет всегда меньше d = MDE.

Двусторонний и односторонний критерий для расчета α и β

Внимательный читатель может упрекнуть нас в нелогичности использования двустороннего критерия для рассчета уровня значимости \alpha и в то же время одностороннего — при рассчете уровня значимости \beta. Как будто бы, если мы знаем направление эффекта, мы должны везде использовать односторонний критерий, а если не знаем направление эффекта, то везде двусторонний.

Это действительно так, но есть 2 аргумента в пользу того, чтобы по \alpha использовать двусторонний критерий, даже если мы знаем направление эффекта:

  • Если мы предполагали, что фича отработает в плюс и применили односторонний критерий для расчета \alpha, но по итогу фича отработала в минус (статистически значимо), то по-хорошему нужно переделывать весь эксперимент, что почти всегда затратно. Поэтому логичнее уберечь нас от такой участи и использовать по \alpha всегда двусторонний критерий. (Но при этом по \beta использовать односторонний, чтобы увеличить мощность теста)

  • ChatGPT говорит, что ошибки 1 рода больнее чем 2 рода, потому что катить новую фичу для бизнеса затратнее чем не катить. Именно поэтому порог по ошибке 1 рода принято брать достаточно низкий (5%), а по ошибке 2 рода гораздо выше (20%). И именно потому \alpha принято считать по двустороннему критерию даже когда известно возможное направление эффекта, а \beta — по одностороннему критерию.

Если использовать двусторонний критерий для расчета \beta, то формула для размера выборки станет следующей:

n = 2\cdot\Big(\frac{\sigma}{d}\Big)^2 \cdot \Big(  z_{\alpha/2 }+ z_{\beta/2}\Big) ^2\xrightarrow[z_{\beta/2=0.10} = 1.28]{z_{\alpha/2=0.025} = 1.96} \; \approx 21 \cdot \Big(\frac{\sigma}{d}\Big)^2

Табличка с рассчетом размера выборки для α = 5% и β = 20%:

β/2

β

α/2

n = 21 (σ/d)^2

n = 15.7 (σ/d)^2

α

n = 17.1 (σ/d)^2

n = 12.4 (σ/d)^2

Интерпретация результатов эксперимента

Условные выводы эксперимента:

1) При наблюдении значимых различий мы принимаем альтернативную гипотезу о разнице средних M-M_0 ≠ 0 (либо M-M_0 > 0 в случае одностороннего критерия) с вероятностью ошибки α = 5\%

2) При отсутствии значимых различий мы сохраняем нулевую гипотезу, допуская вероятность ошибки не более \beta = 20\% в случае наличия эффекта, равного или превышающего MDE (по модулю равного или превышающего MDE в случае двустороннего критерия для расчета \beta).

Заключение

Выбор β-уровня значимости и MDE, а также расчет по ним размера выборки для AB-теста — это ключевые этапы в планировании эксперимента. Вся эта сложная процедура с расчетами важна для корректной интерпретации как положительных так и отрицательных результатов эксперимента. А как было бы чудесно пользоваться простой формулой для размера выборки, полученной в первой части статьи :)

Комментарии (0)