Листаю статьи про A/B и ML, и это будто две разные вселенные. Только в Causal ML они хоть как-то начинают мэтчиться 🤝. В A/B аналитики задают уровень значимости (alpha) и мощность (1 - beta). Хоть индустрия понемногу и пытается слезть с иглы p-value, эти метрики всё еще захардкожены как дефолт в почти любом эксперименте. При этом, между alpha, beta и метриками классификации есть прямой перевод:
H0 (Нулевая гипотеза) - это наш Negative класс (эффекта нет, юзер не фродер) ❌.
H1 (Альтернатива) - это Positive класс (эффект есть, транзакция левая) ✅.
Получается:
Ошибка I рода (обрадовались, что фича взлетела, а она пустышка) - это чисто False Positive Rate. То есть alpha = 1 - Specificity (специфичность - это аналог Recall, но для нулевого класса).
Ошибка II рода (проморгали реальный профит) - это False Negative Rate. То есть beta = 1 - Recall.
Когда ты фиксируешь alpha и beta перед запуском A/B, с точки зрения ML ты просто задаешь ограничения на Specificity и Recall 🎯. По сути, это бинарный классификатор на одной единственной фиче - тестовой статистике. И этот классификатор должен научиться отличать "эффект есть" от "эффекта нет" в пространстве схожих AB-тестов 🔍.
Но самое вкусное: если крутить критическое значение тестовой статистики, можно нарисовать для A/B-теста классическую ROC-кривую прямо в осях (alpha, 1-beta) 📈. Ее AUC - это вероятность того, что случайно взятый эксперимент с реальным эффектом выдаст тестовую статистику выше, чем тест-пустышка. ROC AUC здесь покажет саму разделяющую способность теста без жесткой привязки к дефолтной alpha.
Post #289
197
- ❤ 7
- 🤔 3