Это вторая часть серии статей о Ускорителе статистики. В первой части мы объяснили, когда, почему и как работает Stats Accelerator. В сегодняшней статье мы обсудим главное препятствие на пути к успешному производству бандитов в контексте A / B-тестирования и то, как мы в конечном итоге его преодолели. Это общий обзор. Более подробную информацию см. В техническом документе.

Примечание. Medium имеет крайне ограниченную поддержку математического форматирования, поэтому некоторые встроенные математические данные будут отображаться в необработанном LaTeX.

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

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

Чтобы предотвратить это, мы разработали Epoch Stats Engine, простую модификацию нашей существующей методологии Stats Engine, которая делает ее устойчивой к Парадоксу Симпсона. По сути, это стратифицированная оценка разницы в средних значениях между контролем и лечением. Поскольку он не требует оценки лежащей в основе изменения времени и также совместим с другими подходами, основанными на центральной предельной теореме, такими как t -тест, мы считаем, что он устраняет существенное препятствие на пути к объединению традиционной проверки гипотез и бандитизма. подходы к A / B-тестированию на практике.

Что такое изменение во времени?

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

Сделаем шаг назад. В каждом эксперименте мы представляем, что есть основные величины, которые определяют эффективность каждого варианта; мы заинтересованы в измерении этих величин, но их нельзя наблюдать. Это параметры. Например, в веб-эксперименте с коэффициентом конверсии мы предполагаем, что каждый вариант страницы обладает некоторой реальной способностью вызывать конверсию для каждого посетителя. Если мы выразим эту способность в терминах вероятности того, что каждый посетитель совершит конверсию, то эти истинные вероятности конверсии для каждого варианта будут интересующими параметрами. Поскольку параметры не наблюдаются, мы должны вычислить точечные оценки на основе данных, чтобы вывести значения параметров и решить, лучше ли контроль или лечение. В примере с коэффициентом конверсии наблюдаемые коэффициенты конверсии будут точечными оценками истинных вероятностей конверсии для каждого варианта.

Шум и случайность приводят к колебаниям точечных оценок. В базовом сценарии A / B мы рассматриваем эти колебания как сосредоточенные вокруг постоянного значения параметра. Однако, когда сами значения параметра меняются со временем, отражая основные изменения в истинных характеристиках контроля и обработки, мы говорим, что существует изменение во времени.

Рис. 1a. Традиционное представление значений параметров при A / B-тесте без изменения во времени.

Рисунок 1b. Пример изменения во времени, влияющего на значения базовых параметров в A / B-тесте.

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

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

Вариации во времени могут принимать разные формы и по-разному влиять на ваши результаты. Независимо от того, является ли изменение во времени циклическим (сезонность) или кратковременным (разовый эффект), можно по-разному интерпретировать ваши результаты. Еще одно ключевое различие касается того, как изменение во времени влияет на разные стороны эксперимента. Симметричное изменение во времени происходит, когда параметры меняются во времени таким образом, что все ветви эксперимента затрагиваются одинаково (в некотором смысле, который будет определен в ближайшее время). Асимметричное изменение во времени охватывает широкий круг сценариев, в которых это не так. В настоящее время Stats Engine от Optimizely имеет функцию обнаружения сильного асимметричного изменения во времени и соответствующим образом сбрасывает ваши статистические результаты, чтобы избежать вводящих в заблуждение выводов, но обработка асимметричного изменения во времени в целом требует сильных предположений и / или совершенно другого типа анализа. Это остается открытой областью исследований.

В дальнейшем для простоты мы ограничимся симметричным случаем с аддитивным эффектом. В частности, мы предполагаем, что параметры для контроля и лечения θ_C (t) и θ_T (t) могут быть записаны как θ_C (t) = μ_C + f ( t) и θ_T (t) = μ_T + f (t), так что каждый может быть разложен на компоненты, не зависящие от времени μ_C и μ_T и общий источник изменения времени f (t). Следовательно, базовая подъемная сила может быть записана не зависящей от времени величиной μ_T -μ_C = θ_T (t) -θ_C (t).

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

В целом, большинство процедур A / B-тестирования, таких как t-тест и последовательное тестирование, устойчивы к этому типу изменений во времени. Это потому, что нас часто меньше интересует оценка отдельных параметров контроля и лечения, а больше интересует разница между параметрами. Следовательно, если на оба параметра аддитивно воздействует одна и та же величина, то такое изменение во времени будет аннулировано, как только будут приняты различия, и любой последующий вывод не будет затронут. Используя обозначения выше, это можно увидеть в том факте, что разница в параметрах, изменяющихся во времени θ_T (t) -θ_C (t) = μ_T -μ_C, не содержат изменяющийся во времени множитель f (t).

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

Парадокс Симпсона

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

Рассмотрим двухмесячный эксперимент с коэффициентом конверсии с одним контролем и одним лечением. В ноябре истинные коэффициенты конверсии для контроля и лечения составляют 10% и 20% соответственно. В декабре они увеличиваются до 20% и 30%. В каждом месяце разница в коэффициентах конверсии составляет 10 процентных пунктов (п.п.).

Если трафик разделен на 50% на обработку и 50% на контроль (или любую другую пропорцию в этом отношении) на протяжении всего эксперимента, то ясно, что окончательная оценка разницы между двумя вариантами должна быть близка к 10. %. Что произойдет, если в ноябре трафик разделится на 50/50, а затем в декабре он изменится на 75% для контроля и 25% для обработки? Для простоты предположим, что в каждом месяце всего 1000 посетителей эксперимента. Простой расчет показывает, что:

Контроль:

Всего посетителей: 500 + 750 = 1250

Процент от режима высокой конверсии: 750/1250 = 60%

Лечение:

Всего посетителей: 500 + 250 = 750

Процент от режима высокой конверсии: 250/750 = 33%

Таким образом, как контрольная группа, так и лечение имеют равное количество посетителей из ноября с низкой конверсией, но у лечения гораздо меньше посетителей, чем у контрольной группы из декабря с высокой конверсией. Этот дисбаланс подсказывает нам, что будет систематическая ошибка, и математические расчеты подтверждают это: коэффициент конверсии для контроля будет около 16%, а коэффициент конверсии для лечения будет около 23%, то есть разница всего в 7%. чем обычно ожидаемые 10%.

Это явление также ясно видно в непрерывном обзоре, свидетелем которого может стать клиент Optimizely:

Рисунок 2а. Движение наблюдаемых коэффициентов конверсии в зависимости от времени при постоянном распределении трафика

Рис. 2a. Движение наблюдаемых коэффициентов конверсии во времени при изменении распределения трафика. Первоначально моделирование начинается с 50% -ного распределения на лечение, а после 2500 посетителей переключается на 90% -ное распределение на лечение.

В этом примере уменьшенная точечная оценка может привести к тому, что статистический метод не сможет сообщить значимость, тогда как в противном случае это было бы с несмещенной точечной оценкой, близкой к 10%. Но возможны и другие побочные эффекты. Когда нет истинного эффекта (например, мы провели A / A-тест), парадокс Симпсона может вызвать иллюзию значительного положительного или отрицательного эффекта, что приведет к завышению ложных срабатываний. Или, когда изменение во времени особенно велико или распределение трафика хорошо синхронизируется с изменением во времени, тогда это смещение может быть настолько значительным, что изменит знак предполагаемой разницы между параметрами контроля и лечения (как показано на рисунке 2a). , полностью вводящие экспериментаторов в заблуждение относительно истинного эффекта предложенного ими изменения.

Epoch Stats Engine

Поскольку парадокс Симпсона проявляется как предвзятость точечной оценки разницы в средствах контроля и лечения, смягчение парадокса Симпсона требует поиска способа устранения такой предвзятости. В свою очередь, устранение смещения требует учета одного из двух факторов, вызывающих его: изменение во времени или динамическое распределение трафика. Поскольку изменение во времени неизвестно и, следовательно, должно быть оценено, но распределение трафика напрямую контролируется заказчиком или Optimizely и, следовательно, известно, мы решили сосредоточиться на последнем.

Наше решение парадокса Симпсона следует из наблюдения, что предвзятость из-за парадокса Симпсона не может происходить в периоды постоянного распределения трафика. Следовательно, мы можем получить несмещенную точечную оценку, сделав оценки в течение периодов постоянного распределения (называемых эпохами), а затем агрегируя эти отдельные оценки в пределах эпох, чтобы получить одну несмещенную оценку по эпохам. Если мы сможем показать, что это количество совместимо с методологией последовательного тестирования под капотом Stats Engine, то у нас будет готовое решение, которое без проблем работает с экспериментами с использованием Stats Accelerator. Как мы также увидим, эта оценка также достаточно проста, чтобы ее можно было применять к другим статистическим тестам, таким как t-критерий.

Давайте немного углубимся в математику. Предположим, что к моменту, когда в ходе эксперимента было зарегистрировано n посетителей, будет K (n) эпох. Внутри каждой эпохи k обозначьте n_ {k, C} и n_ {k, T} размеры выборки для контроля и лечения соответственно. , а также X̄_k и Ȳ_k - образцы средств контроля и лечения соответственно. Если принять n_k = n_ {k, C} + n_ {k, T}, оценка эпохи для разницы в средних значениях будет

Поскольку зависимость между эпохами, вызванная правилом распределения, зависящего от данных, ограничивается изменениями в относительном балансе трафика между контролем и обработкой, оценки внутри эпохи ортогональны, и дисперсия для T_n является хорошей - оценивается суммой предполагаемых отклонений каждого компонента в пределах эпохи:

где σ̂_C и σ̂_T - согласованные оценки стандартных отклонений процессов генерации данных для контрольной и лечебной групп.

На высоком уровне T_n - это стратифицированная оценка, где страты представляют данные, принадлежащие отдельным эпохам фиксированного распределения. На низком уровне это взвешенная оценка оценок внутри эпох, где вес, присвоенный каждой эпохе, пропорционален общему количеству посетителей в этой эпохе. Вот почему мы отображаем оценку эпохи как Взвешенное улучшение на странице результатов экспериментов с использованием Stats Accelerator.

Рис. 3. Расчет стратифицированной по эпохам оценки (рассчитанной для 15 000 посетителей) разницы в истинных вероятностях конверсии в эксперименте с изменением распределения трафика и одноразовым симметричным изменением во времени, происходящим при 10 000 посетителей.

Стоит повторить, что оценка эпохи гарантированно будет несмещенной, поскольку каждая оценка в пределах эпохи несмещена. Кроме того, мы предоставляем строгие гарантии того, что оценка эпохи полностью совместима с последовательным тестом, используемым в Optimizely, а также в целом пригодна для использования в других методах, основанных на центральной предельной теореме (таких как t -тест) также. См. Полную рецензию для получения более подробной информации.

Производительность на смоделированных данных

Мы смоделировали данные с изменением во времени и запустили четыре различных конфигурации Stats Engine для этих данных:

  1. Стандартный движок статистики
  2. Epoch Stats Engine
  3. Стандартный движок статистики с ускоренным обучением
  4. Epoch Stats Engine с ускоренным обучением

В частности, мы сгенерировали 600 000 розыгрышей из 7 рук Бернулли с одним элементом управления и 6 вариантами, причем 1 рука с действительно более высокой степенью конверсии, а все остальные руки преобразовывались с той же скоростью, что и контрольная. Скорость преобразования для управления начинается с 0,10, а затем подвергается циклическому изменению во времени, повышаясь до 0,15. На каждом из этих графиков мы наносим посетителей на горизонтальную ось, а частоту ложных обнаружений (FDR) или истинную скорость обнаружения (TDR) на вертикальную ось, усредненные по 1000 моделированиям.

Рисунок 4. Средняя частота ложных обнаружений с течением времени для сценария моделирования, описанного выше.

График FDR показывает, что Epoch Stats Engine выполняет именно то, для чего мы его разработали - защищает клиентов от ложных открытий из-за парадокса Симпсона. FDR политики бандитов без эпохи превышает настроенный уровень FDR (0,10) на 150%, в то время как политика бандитов с поддержкой эпох показывает надлежащий контроль над FDR на уровнях, сопоставимых с уровнями, достигнутыми Stats Engine без включенной политики бандитов. Это основная цель - снизить уровни A / B-тестирования FDR с усилением бандитов до уровней, сравнимых с отсутствием бандитизма вообще.

Рис. 5. Средний истинный коэффициент обнаружения с течением времени для описанного выше сценария моделирования.

График TDR показывает, что мы не теряем много энергии из-за перехода со стандартного на Epoch Stats Engine. Во-первых, мы наблюдаем большой разрыв между прогонами распределения бандитов и прогонов фиксированного распределения, отражающий тот факт, что ускорение из-за распределения бандитов сохраняется в Epoch Stats Engine. Кроме того, мы наблюдаем небольшую разницу во времени до значимости между эпохальными и не эпохальными сценариями при фиксированном распределении, в то время как мы наблюдаем небольшой разрыв во времени значимости между эпохальными и не эпохальными сценариями при бандитской политике. Этот разрыв можно приписать тому факту, что не-эпохальная Stats Engine, работающая с динамическим распределением, испытывает высокую чувствительность к изменению во времени, особенно сразу после пересечения границы эпохи, тем самым создавая зубчатую форму синей кривой. Более высокий TPR оплачивается более высоким FDR.

Заключение

В Optimizely мы гордимся тем, что одновременно расширяем границы A / B-тестирования, всегда уделяя приоритетное внимание статистической строгости, чтобы клиенты принимали наиболее эффективные решения.

Как мы видели в предыдущем сообщении в блоге, последняя итерация этой темы произвела Stats Accelerator, объединяющий технику многорукого бандита с контролем ложной скорости обнаружения. В Epoch Stats Engine мы преодолели серьезное реальное препятствие на пути к безопасному производству этой технологии и разработали решение, которое

  1. доказал свою эффективность при последовательном тестировании как в теории, так и в моделировании
  2. просто вычислить и понять, и
  3. широко применимо к другим методам и платформам, а не только к последовательному тестированию и оптимизации

Заинтересованы в более глубоком погружении? Ознакомьтесь с технической статьей!

Вам это показалось интересным? Присоединяйся к моей команде! Мы нанимаем статистика в Сан-Франциско.