Книга: Байесовская статистика: Star Wars, LEGO, резиновые уточки и многое другое
Назад: 14. Оценка параметров с априорными вероятностями
Дальше: 16. Введение в коэффициент Байеса и апостериорные шансы: конкуренция идей

Часть IV. Проверка гипотез: сердце статистики

15. От оценки параметров к проверке гипотез: создание байесовских А/В-тестов

В этой главе мы создадим нашу первую проверку гипотезы — А/В-тест. Компании часто используют A/B-тесты, чтобы опробовать веб-страницы продукта, рассылки и другие маркетинговые материалы и понять, что лучше всего подойдет для клиентов. В этой главе мы проверим наше убеждение в том, что удаление картинки из мейла увеличит коэффициент переходов по сравнению с убеждением, что удаление картинки навредит кликабельности.

Поскольку мы уже знаем, как оценить один неизвестный параметр, все, что нужно сделать, — это оценить оба параметра, то есть коэффициенты конверсии каждого письма. Далее с помощью языка R мы запустим моделирование по методу Монте-Карло и определим, какая гипотеза, вероятно, будет работать лучше, то есть какой вариант — A или B — лучше. A/B-тесты проводятся с использованием классических статистических методов, таких как использование критерия Стьюдента, но построение теста байесовским способом поможет понять каждую его часть и даст более применимые результаты.

Мы уже хорошо знакомы с оценкой параметров, знаем, как использовать функции PDF, CDF и квантильную, чтобы узнать вероятность определенных значений, и изучили, как добавить байесовскую априорную вероятность к своей оценке. Теперь используем наши оценки для сравнения двух известных параметров.

Настройка байесовского А/В-теста

Вспомните про электронную почту из прошлой главы и теперь представьте, что мы хотим узнать, увеличивает или уменьшает добавление картинки коэффициент конверсии. До этого в письме было изображение. Для теста мы отправим один вариант письма с картинкой, а другой без нее. Тест называется A/B-тестом, потому что мы сравниваем вариант A (с картинкой) и вариант B (без картинки), чтобы определить, какой из них работает лучше.

Предположим, что сейчас есть 600 подписчиков. Поскольку мы хотим использовать знания, полученные в ходе этого эксперимента, то проведем тест только на 300 из них; таким образом, мы можем отправить оставшимся 300 подписчиков письмо, которое считаем наиболее эффективным вариантом.

Триста человек, которых мы будем тестировать, будут разделены на две группы: A и B. Группа A получит обычное письмо с большой картинкой вверху, а группа B получит письмо без картинки. Гипотеза такая: более простое письмо меньше будет похоже на спам и побудит пользователей переходить по ссылке.

Нахождение априорной вероятности

Далее выясним, какую априорную вероятность нужно использовать. Кампания проводится каждую неделю, поэтому, исходя из этих данных, разумно ожидать, что вероятность перехода по ссылке на блог из любого конкретного письма должна составлять около 30 %. Для простоты мы будем использовать одну и ту же априорную вероятность для обоих вариантов. Мы также выберем довольно слабую версию нашего априорного распределения, а это означает, что в нем вероятен более широкий диапазон коэффициентов конверсии. Мы используем слабую априорную вероятность, потому что на самом деле не знаем, чего стоит ожидать от группы B, так как это новая электронная кампания и другие факторы могут привести к лучшей или худшей конверсии. Остановимся на Beta(3,7) для априорного распределения вероятностей. Это распределение позволяет представить бета-распределение, где 0,3 — среднее значение, но рассматривается широкий диапазон возможных альтернативных показателей. Мы можем увидеть это распределение на рис. 15.1.

459268.png 

Рис. 15.1. Визуализация априорного распределения вероятностей

Все, что нам сейчас нужно, — это вероятность, а значит, нужно собрать больше данных.

Сбор данных

Мы отправляем электронные письма и получаем результаты, которые внесены в табл. 15.1.

Таблица 15.1. Показатели переходов по ссылке в письме

 

Ссылка была открыта

Ссылка не была открыта

Наблюдаемый коэффициент конверсии

Вариант А

36

114

0,24

Вариант В

50

100

0,33

Каждый из этих вариантов можно рассматривать как отдельный параметр, который нужно оценить. Чтобы получить апостериорное распределение для каждого, объединим их распределение по вероятности и априорное распределение. Мы уже решили, что априорной вероятностью для этих распределений должна быть Beta(3,7), представляющая относительно слабую веру в то, какими возможными значениями обладает коэффициент конверсии без дополнительной информации. Мы говорим, что это слабое убеждение, потому что мы не очень верим в конкретный диапазон значений и рассматриваем все возможные показатели с достаточно высокой вероятностью. Для вероятности каждого из них мы снова будем использовать бета-распределение, в котором α будет указывать количество нажатий на ссылку, а β — количество раз, когда нажатия не было. Напомним, что:

Beta(αапостериорное, βапостериорное) =

= Beta(αаприорное + αправдоподобности, βаприорное + βправдоподобности).

Вариант A будет представлен как Beta(36 + 3,114 + 7), а вариант B — как Beta(50 + 3100 + 7). Рисунок 15.2 показывает оценки для каждого параметра соответственно.

459282.png 

Рис. 15.2. Бета-распределения для наших оценок для обоих вариантов электронного письма

Данные показывают, что вариант B лучше, так как обеспечивает более высокий коэффициент конверсии. Однако из предыдущего обсуждения оценки параметров мы знаем, что истинный коэффициент конверсии является одним значением из диапазона возможных. Здесь также видно, что есть перекрытие между возможными истинными коэффициентами конверсии для A и B. Что, если бы нам просто не повезло в наших ответах A, и истинный коэффициент конверсии A фактически намного выше? Что, если бы нам тоже просто повезло с B, а его коэффициент конверсии на самом деле намного ниже? Можно вообразить себе мир, где A на самом деле является лучшим вариантом, хотя в нашем тесте он показал себя хуже. Итак, вопрос: насколько мы можем быть уверены, что B — лучший вариант? Именно здесь начинается моделирование по методу Монте-Карло.

Моделирование по методу Монте-Карло

Ответ на вопрос, какой вариант письма приводит к более высокому коэффициенту переходов, находится где-то на пересечении распределений A и B. К счастью, есть способ выяснить это: моделирование по методу Монте-Карло. Моделирование по методу Монте-Карло — это техника, которая использует случайную выборку для решения проблемы. Мы будем случайным образом выбирать из двух распределений, где каждая выборка выбирается на основе ее вероятности в распределении, чтобы выборки в области с высокой вероятностью появлялись чаще. Например, на рис. 15.2 мы видим, что значение, большее чем 0,2, с большей вероятностью будет взято из А, чем значение, меньшее чем 0,2. Однако случайная выборка из распределения B почти наверняка будет выше 0,2. В нашей случайной выборке мы могли бы выбрать значение 0,2 для варианта A и 0,35 для варианта B. Каждая выборка является случайной и основана на относительной вероятности значений в распределениях A и B. Значения 0,2 для A и 0,35 для B могут быть истинным коэффициентом конверсии для каждого варианта на основе данных, которые мы наблюдали. Эта индивидуальная выборка из этих двух распределений подтверждает убеждение, что вариант B фактически превосходит A, поскольку 0,35 больше 0,2.

Мы бы могли также выбрать 0,3 для варианта A и 0,27 для варианта B, оба они с достаточной вероятностью будут отобраны из их соответствующих распределений. Это также реалистичные возможные значения для истинного коэффициента конверсии каждого варианта, но в данном случае они указывают, что вариант B на самом деле хуже, чем вариант A.

Основываясь на текущем состоянии убеждений в отношении каждого показателя конверсии, можно предположить, что апостериорное распределение представляет все возможные миры. Всякий раз, когда мы получаем выборку из каждого распределения, мы видим, как может выглядеть один вероятный мир. Из рис. 15.1 можно визуально определить, что следует ожидать большего количества миров, где B действительно лучший вариант. Чем чаще проводится выборка, тем точнее можно сказать, в скольких мирах из всех выбранных миров B — лучший вариант. Получив образцы, можно посмотреть на соотношение миров, где B является лучшим, и общего количества наблюдаемых миров и получить точную вероятность того, что B на самом деле больше, чем A.

В скольких мирах B — лучший вариант?

Теперь напишем код, который будет выполнять эту выборку. Функция rbeta() в R позволяет автоматически делать выборки из бета-распределения. Можно считать каждое сравнение двух образцов одним испытанием. Чем больше испытаний мы запустим, тем более точным будет результат, поэтому начнем с 100 000 испытаний, присвоив это значение переменной n.trials:

n.trials <- 100000

Далее поместим наши априорные значения альфа и бета в переменные:

prior.alpha <- 3

prior.beta <- 7

Соберем образцы из каждого варианта и применим для этого rbeta():

a.samples <- rbeta(n.trials,36+prior.alpha,114+prior.beta)

b.samples <- rbeta(n.trials,50+prior.alpha,100+prior.beta)

Сохраним результаты образцов rbeta() в переменные, чтобы было проще обращаться к ним. Для каждого варианта мы вводим количество людей, которые перешли в блог, и количество людей, которые этого не сделали.

Наконец, сравниваем, во сколько раз b.samples больше, чем a.samples, и делим это число на n.trials, что даст процент от общего числа испытаний, где вариант B был больше, чем вариант A:

p.b_superior <- sum(b.samples > a.samples)/n.trials

В результате мы получаем следующее:

p.b_superior

> 0.96

В 96 % из 100 000 испытаний вариант B был лучше. Можно представить это, анализируя 100 000 возможных миров. Исходя из распределения возможных коэффициентов конверсии для каждого варианта, в 96 % миров вариант B был лучшим из двух. Такой результат показывает, что даже при относительно небольшом количестве выборок мы имеем достаточно сильное убеждение, что B — лучший вариант. Если вы когда-либо делали проверки по критерию Стьюдента из классической статистики, это примерно эквивалентно — если мы использовали априорную вероятность Beta(1,1) — получению p-значения 0,04 из односторонней проверки по критерию Стьюдента (это значение часто считается «статистически значимым»). Но прелесть нашего подхода в том, что мы смогли создать этот тест с нуля, используя только знания о вероятности и простое моделирование.

Насколько каждый вариант B лучше, чем каждый вариант A?

Теперь можно точно сказать, насколько мы уверены, что B — лучший вариант. Но если бы это была реальная кампания, то просто сказать «В лучше» было бы недостаточно. Неужели вы не хотите знать, насколько лучше?

В этом заключается сила моделирования по методу Монте-Карло. Можно взять точные результаты последнего моделирования и проверить, насколько лучше будет вариант B, проанализировав, во сколько раз выборок B больше, чем выборок A. Другими словами, мы можем посмотреть на это соотношение:

Eqn0115.tif.

Если взять a.samples и b.samples, определенные ранее, то можно вычислить b.samples/a.samples. Это даст распределение относительных улучшений от варианта A к варианту B. Если представить это распределение в виде гистограммы (рис. 15.3), мы увидим, насколько велико ожидание, что вариант B окажется лучшим по числу переходов.

Из этой гистограммы мы можем видеть, что вариант B, скорее всего, будет лучше примерно на 40 % (в отношении 1,4) по сравнению с A, хотя существует целый диапазон возможных значений. Как мы обсуждали в главе 13, кумулятивная функция распределения (CDF) гораздо более полезна, чем

459299.png 

Рис. 15.3. Гистограмма возможных улучшений

459310.png 

Рис. 15.4. Распределение возможных улучшений

гистограмма в контексте обсуждения результатов. Поскольку мы работаем с данными, а не с математической функцией, то вычислим эмпирическую кумулятивную функцию распределения с помощью функции ecdf(). Функция eCDF показана на рис. 15.4.

Результаты теперь видны более четко. Есть только крохотный шанс, что вариант A лучше, и даже если он лучше, то ненамного. Мы также видим, что вероятность того, что вариант B будет на 50 или более процентов лучше, чем A, составляет около 25 %, и существует даже разумный шанс, что коэффициент конверсии может более чем удвоиться! Теперь, выбирая B вместо A, можно говорить о своем риске: «Вероятность того, что B на 20 % хуже, примерно равна вероятности того, что он на 100 % лучше». Звучит как хорошая ставка и гораздо лучше, чем заявление: «Между B и A существует статистически значимая разница».

Заключение

В этой главе мы увидели, как оценка параметров естественным образом распространяется на проверку гипотез. Если гипотеза, которую нужно проверить, звучит так: «Вариант B имеет лучшую степень конверсии, чем вариант A», то можно начать с оценки параметров конверсии для каждого варианта. Как только мы узнаем эти оценки, можно будет использовать моделирование по методу Монте-Карло для выборки из них. Сравнивая эти образцы, мы можем прийти к вероятности, что гипотеза верна. Наконец, можно продвинуться еще на один шаг вперед, увидев, насколько хорошо наш новый вариант работает в этих возможных мирах, оценивая не только то, верна ли гипотеза, но и то, какое улучшение мы увидим.

Упражнения

Чтобы убедиться, что вы понимаете, что такое A/B-тесты, попробуйте ответить на эти вопросы.

1. Предположим, опытный директор по маркетингу говорит вам о своей уверенности в том, что вариант без картинок (B) не будет работать иначе, чем исходный вариант. Как это объяснить в нашей модели? Внедрите это изменение и посмотрите, как изменятся окончательные выводы.

2. Ведущий дизайнер видит ваши результаты и настаивает на том, что вариант B без картинок не будет работать лучше. Она считает, что вы должны принять коэффициент конверсии для варианта B, близкий к 20 %, а не к 30 %. Реализуйте решение для этого и снова просмотрите результаты анализа.

3. Предположим, что 95 %-ная уверенность означает, что вы более или менее «убеждены» в правильности гипотезы. Также предположим, что больше нет ограничений на количество писем, которые можно отправить в тесте. Если истинное преобразование для A составляет 0,25, а для B — 0,3, изучите, сколько выборок потребуется, чтобы убедить директора по маркетингу в том, что B на самом деле лучше. Изучите то же самое для ведущего дизайнера. Можно сгенерировать образцы конверсий с помощью следующего фрагмента R:

true.rate <- 0.25

number.of.samples <- 100

results <- runif(number.of.samples) <= true.rate

Назад: 14. Оценка параметров с априорными вероятностями
Дальше: 16. Введение в коэффициент Байеса и апостериорные шансы: конкуренция идей