Всем привет! Сегодня хочется поговорить про важную тему, а именно - стат. значимость. Почти на каждом собеседо…

Другое 26.06.2026 · 👁 4 990 просмотров
Всем привет! Сегодня хочется поговорить про важную тему, а именно - стат. значимость. Почти на каждом собеседовании в бигтех спрашивают данную тему и ожидают услышать с одной стороны четкий математический рассказ, с другой стороны развернуть все в сторону прикладную: как это использовать в проде? Представим такую задачу: у тебя есть две модели машинного обучения, первую ты обучал месяц назад на каких-то данных, а за месяц набралось еще данных, появились новые подходы и ты обучил новую версию модели. На валидационной выборке, которая строго не входила в трейн модели выдали абстрактный скор качества: 0.95 для версии прошлого месяца 0.98 для версии текущего месяца. Как можно ответить на вопрос: стоит ли катить модель в прод при прочих равных (вес, скорость инференса и тд)? Вариант 1: можно провести кросс валидацию и замериться не на одной выборке, а на фолдах, причем чтоб размер фолда был репрезентативен и немал. Вариант 2: применить стат. тесты. Рассмотрим пример оффлайн стат. теста на примере нашей задачи. Конкретно для этой задачи подходит бутстрапированный метод, потому что распределение лосса функции заведомо неизвестно (обычно в мат стате к требуются условия на нормальность и т.д). Сформируем гипотезы: H_0 (нулевая гипотеза) - новая модель не стат. значимо отличается от старой H_1 (альтернативная гипотеза) - новая модель лучше старой. 0. Возьмем нашу валидационную выборку. 1. Насэмплим валидационных примеров в количестве меньшем кол-ва валидационной выборке. 2. Замерим какие-то показатели качества на каждом нашем элементе подвыборки для модели A (новой) и модели B (старой) и вычтем одно из другого. Например для ревордов оценки аспекта качества текста: for i: D_b[i]=reward_model_a_i - reward_model_b_i 3. Считаем среднее разностей на подвыборке. Сохраняем в наш массив средних разностей по подвыборкам: D[i] = D_mean_b 4. Повторяем для большого кол-ва подвыборок с возвратом. Окей, мы получили какие то статистики, что дальше? Теперь сортируем наш массив средних разностей по возрастанию и берем уровень значимости=0.05. Считаем нижнюю границу, как lower_bound(B × 0.025)=B_min и верхнюю как upper_bound(B×0.975)=B_max . Если B_min>0, то с вероятностью 95% истинное среднее разности больше 0. Отвергаем H0, катим новую модель. Иначе, мы не можем отвергнуть H0 и выкатку ставим под сомнение. После сверки на этом этапе можно уже к онлайн тесту перейти - АБ тесту . Их обычно по разному проводят, но алгоритм такой - берем выборку людей с новой моделью и со старой моделью, выборки не пересекаем. И считаем важные для бизнеса метрики, а потом сравниваем, реально ли стало лучше? На самом деле, существует много еще других стат. тестов - тест Стьюдента (различаются ли средние значения двух групп? ), тест хи-квадрат (есть ли статистическая связь между двумя категориальными переменными? ), тест Колмогорова-Смирнова (соответствует ли распределение выборки эталонному или совпадают ли распределения двух выборок? ), и т.д. Если еще чего интересное из тестов вы встречали в проде, поделитесь в комментах 😉 . Всем хорошей пятницы! @zadachi_ds
Откликнуться в Telegram →

⚠️ Никогда не платите «за оформление» или «гарантию трудоустройства» — это признак мошенников. Работа ТРУ не несёт ответственности за содержание вакансии.

🇮🇱 Не нашли подходящую зарплату? В Израиле платят от $3000 Без языка и опыта · жильё и легализация под ключ · официально Смотреть вакансии →