Какие метрики и методы используются для оценки моделей и AB-тестирования
Что проверяют
Различаете ли вы две разные вещи: офлайн-оценку модели на отложенных данных и онлайн-эксперимент, где решается, приносит ли модель пользу продукту. Следом обычно спрашивают, как посчитать размер выборки для теста и что делать, если офлайн-метрика выросла, а в A/B эффекта нет.
Как отвечать
Офлайн метрику выбирают под задачу:
- классификация: precision, recall, F1, ROC-AUC; при сильном дисбалансе классов информативнее PR-AUC, для вероятностей нужны log loss и проверка калибровки;
- регрессия: MAE, RMSE, для относительной ошибки MAPE или WAPE;
- ранжирование и рекомендации: NDCG@k, MAP, recall@k.
Метод оценки важен не меньше метрики: кросс-валидация, стратификация по классам, а для данных со временем только разбиение по времени (TimeSeriesSplit), иначе в обучение утекает будущее.
A/B-тест строится так:
- гипотеза и метрики: одна целевая (конверсия, выручка на пользователя) и защитные: время ответа, отток, жалобы;
- дизайн до старта: минимальный детектируемый эффект, уровень значимости 0,05, мощность 80%, отсюда размер выборки и длительность, обычно целыми неделями из-за недельной сезонности;
- анализ: t-тест Уэлча для средних, для метрик-отношений вроде CTR дельта-метод или бутстреп по пользователям, CUPED для снижения дисперсии;
- проверка сплита: SRM, то есть соответствие фактического деления групп заданному, через хи-квадрат.
Где спотыкаются
Подглядывают в результаты каждый день и останавливают тест при первом p < 0,05. Ложноположительных выводов становится в разы больше. Либо длительность фиксируют заранее, либо используют последовательные тесты.
Считают CTR по кликам как независимые наблюдения, хотя рандомизация шла по пользователям. Дисперсия занижена, и значимость появляется там, где её нет.
Путают p-value с вероятностью того, что гипотеза верна, и забывают про поправку на множественные сравнения, когда смотрят двадцать метрик сразу.