TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • flag Russian
    Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
Заскуль питона (Аналитика данных)

20 Apr 2024, 13:49

Открыть в Telegram Поделиться Пожаловаться

🆎 CUPED как метод сокращения дисперсии для проведения A/B экспериментов.

🤭 Всем привет! В этом посте хочу рассказать о том что такое CUPED, зачем он нужен?

🤩 CUPED (Controlled-experiment Using Pre-Experiment Data) - один из методов сокращения дисперсии при проведении экспериментов, используемый в индустрии на основе данных предэкспериментального периода. Обычно метрику, которая используется до эксперимента, называется ковариатой.

🔨 Предположим, мы дизайним эксперимент, рассчитываем MDE (Minimum Detectable Effect) и Sample Size (необходимый размер выборки для проведения A/B теста). Рассмотрим стандартную формулу для нахождения MDE подробней:

MDE = (F(1-alpha / 2) + F(1 - beta)) * sqrt(Var(X)) / sqrt(sample_size)

F(1-alpha / 2) - квантильная функция для 1 - ошибки первого рода (двусторонняя гипотеза) aka критическое значение для H0
F(1 - beta) - квантильная функция для мощности
Var(X) - дисперсия метрики
sample_size - размер выборки (обычно рассчитывается на основе трафика, целевых действий)

🕺 Обычно в экспериментах мы можем влиять на размер выборки (по сути длительность эксперимента и количество трафика и дисперсию метрики).

🍴 Отсюда два вопроса:

а) Можем ли мы нагенерить столько трафика, чтобы MDE стало допсутимым при выборе определенной метрики?

б) Можем ли мы что-то сделать с целевой метрикой и соответствующей дисперсией, чтобы сократить MDE?

🍿 А к чему вообще сокращать MDE? Для того чтобы детектировать большее количество прокрашиваемых экспериментов и сокращать время для проведения экспериментов.

Итак, к CUPED. Канонический вид:


Ycuped = Y - theta * (X - Xmean)

Ycuped - модифицированная метрика CUPED
theta = некий коэффициент, про который я напишу ниже
X - значение ковариаты в предэкспериментальном периоде
Xmean - среднее значение ковариаты в предэкспериментальном периоде

😐 Давайте рассмотрим матожидание Ycuped


E(Ycuped) = E(Y) - E(theta * X) + E(theta * Xmean) = E(Y) - theta * E(X) + theta * E(Xmean) = E(Y) - theta * E(X) + theta * E(X) = E(Y)

🤸 Вуаля, оценка получается несмещенной, то есть благодаря поправке на среднее значение ковариаты мы получили такое же матожидание.

😨 А что с дисперсией? Нам ведь нужно понять, как это повлияет на MDE при дизайне эксперимента


Var(Ycuped) = Var(Y - theta * (X - Xmean))

Проведем замену X - Xmean = k


Var(Ycuped) = Var(Y - theta * k) = Var(Y) - 2 * cov(Y, theta * k) + Var(theta * k) = Var(Y) - 2 * theta * cov(Y, k) + theta^2 * Var(k) = theta^2 * Var(k) - 2 * theta * cov(Y,K) + Var(Y)

🫡 Нам нужно минимизировать дисперсию. Решим относительно параметра theta, можно взять производную, или посмотреть на вершину параболы.

theta (вершина) = - b / 2a = 2 * cov(Y,k) / 2 * Var(K) = cov(Y,k) / Var(k).

Обратная замена:

theta (вершина) = cov(Y, (X - Xmean)) / Var(X - Xmean) = cov(Y, X) / Var(X)

🚘 Нашли точку, в которой дисперсия достигает минимума (вершина параболы). Вывели соответствующие значение theta.

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

🫴 На практике выбор сильно коррелированной метрики в предэкспериментальном периоде позволяет сократить дисперсию в несколько раз, что приводит к увеличению чувствительности теста.

😱 НО! есть ограничения, которые также я опишу в следующих постах.

⌨️ А какие способы снижения дисперсии знаете вы? Пишите в комментариях, ставьте реакции. Следующая часть не заставит себя долго ждать 😀

#аб

3.1k 19 65 14 43
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot