TGStat
TGStat
Qidiruv uchun matnni kiriting
Ilg‘or kanal qidiruvi
  • flag Uzbek
    Sayt tili
    flag Russian flag English flag Uzbek
  • Saytga kirish
  • Katalog
    Kanal va guruhlar katalogi Hududiy to‘plamlar Tematik to‘plamlar Платные каналы Kanallar qidiruvi
    Kanal/guruh qo‘shish
  • Reytinglar
    Kanallar reytingi Guruhlar reytingi Postlar reytingi
    Brendlar va shaxslar reytingi
  • Analitika
  • Postlarda qidiruv
  • Telegram'ni kuzatish
  • Targ‘ibot
    Yandex Business orqali reklama TGStat Agency orqali kanallarda reklama TGStat.ru saytida reklama
Интересное что-то

3 May 2024, 20:49

Telegram'da ochish Ulashish Shikoyat qilish

Заскуль питона (Аналитика данных) dan repost
🆎 MDE и Uplift в A/B тестах

MDE - минимальный допустимый эффект в A/B тестах. Тот эффект, который мы планируем задетектировать при заданном уровне мощности и ошибке первого рода.

Например, мы рассчитали критическое значение из нулевого распределения статистики (верной H0). Придумали критерий и зафиксировали alpha на уровне 0.05.

1️⃣ Что в данном случае ошибка первого рода?
Это вероятность того, что мы примем альтернативную гипотезу при условии, что нулевая верна. Поэтому заранее всегда и определяют ошибку первого рода.

2️⃣ Что такое ошибка второго рода?
Теперь представьте, что у нас есть альтернативное распределение статистики (H1). Мощность - это вероятность того, что мы отклонили нулевую гипотезу, при условии, что альтернатива верны (TP).

😙 Так вот, MDE говорит следующее. При заданном уровне мощности и ошибки первого рода найди мне МИНИМАЛЬНЫЙ ЭФФЕКТ.

Напоминаю, что формула MDE выглядит так, в предыдущем посте есть:

import numpy as np
from scipy.stats import norm

alpha = 0.05
power = 0.8
std = 20
sample_size = 10000

(norm.ppf(1 - alpha) + norm.ppf(power)) * std / np.sqrt(sample_size)

🐍 Самостоятельно можно запрогать и посмотреть следующим образом:

from scipy.stats import norm

mu_h0 = 100
std = 20
alpha = 0.05
power = 0.8

crit_value = norm(mu_h0, std).ppf(1 - alpha)
diff = np.linspace(0, 100, 10000)
powers = 1 - norm(mu_h0 + diff, std).cdf(crit_value)
mu_h1 = mu_h0 + diff
mu_actual_power = mu_h1[powers >= power].min()

print(mu_actual_power)

print(mu_h0 + (norm.ppf(1 - alpha) + norm.ppf(power)) * std)

Как мы видим: минимальное значение статистики при условии, что мощность = 0.8.

😱 А когда мы сравниваем наблюдаемый аплифт с MDE, подставляя фактические значения после теста, мы можем получить, например, мощность, которая оказалась меньше, чем при дизайне

✝️ Означает ли это то, что критерий плох?
Нет, потому что в ситуации получения статзначимых результатов нас волнует только значение p-value при верной H0 (при односторонней гипотезе).

🥂 Дополнительные материалы, которые советую почитать по этой теме:
1. Статья на Хабр. Как же мощно я провел A/B-тест, или почему не стоит сравнивать наблюдаемый аплифт с MDE.
2. Статья на Medium. Когда останавливать A/B-тест? Часть 1: MDE
3. Статья на X engineering. Power, minimal detectable effect, and bucket size estimation in A/B tests
4. Хабр. Шесть причин, почему ваши A/B-тесты не работают

Ставьте 🕺, если пост был интересным, делитесь с друзьями, пишите комментарии

🍔 Если захотите какие-то кастомные реакции, оформление текстов, велком (буст).
Поддержать канал

70 0 3
Katalog
Kanal va guruhlar katalogi Kanallar to‘plamlari Kanallar qidiruvi Kanal/guruh qo‘shish
Reytinglar
Telegram-kanallar reytingi Telegram-guruhlar reytingi Postlar reytingi Brendlar va shaxslar reytingi
API
Statistika API'si Postlar qidiruvi API'si API Callback
Kanallarimiz
@TGStat @TGStat_Chat @telepulse @TGStatAPI
O‘qish
Академия TGStat Telegram tadqiqoti 2019 Telegram tadqiqoti 2021 Telegram tadqiqoti 2023
Kontaktlar
Справочный центр Qo‘llab-quvvatlash Email Vakansiyalar
Har xil narsalar
Foydalanuvchi shartnomasi Maxfiylik siyosati Ommaviy oferta
Botlarimiz
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot