Найти тему

Три способа оценить данные - разбор каждого с нуля

Оглавление

🚀 Всем data привет!

Вам необходимо проверять сходство или различие данных? Возможно, вы уже используете некоторые методы в своей работе или учебе. В этой статье я подробно рассмотрю три подхода к оценке данных:

  1. Population Stability Index (PSI)
  2. Критерий Колмогорова-Смирнова
  3. Adversarial Validation Score

Мы пошагово разберём, как рассчитывать эти популярные метрики с визуальными примерами.

Весь код и дополнительные комментарии доступны на моём GitHub.

Population Stability Index (PSI)

Population Stability Index (PSI) — это метрика, оценивающая изменения в распределении данных между двумя временными периодами или наборами данных. Она часто используется в кредитном скоринге и других областях, где важно отслеживать стабильность данных и ML моделей.

Почему важен PSI?

PSI помогает выявить значительные изменения в данных, которые могут указывать на проблемы, такие как ухудшение качества данных, изменения в поведении клиентов или необходимость обновления ML модели.

Как рассчитывается PSI?

Получаем два распределения данных и сравниваем их визуально.

Разбиваем данные на n бинов (например, 4).

-2

Считаем количество элементов в каждом бине для обоих распределений.

-3

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

-4

Делим попарно значения количества элементов для каждого бина.

-5

Используем формулу для расчёта PSI

PSI = Σ (распределение_а% – распределение_б%) * ln(распределение_а% / распределение_б%)

Критерий Колмогорова-Смирнова

Критерий Колмогорова-Смирнова — непараметрический тест для сравнения двух выборок или проверки соответствия одной выборки теоретическому распределению. Он оценивает различия между эмпирическими функциями распределения (ЭФР) двух выборок.

Как рассчитывается статистика из критерия Колмогорова-Смирнова?

Сортируем значения в каждом распределении и визуально оцениваем данные.

-6

Определяем проверяемую гипотезу: одно распределение может быть "меньше" или "больше" другого.

-7

Находим максимальные различия между эмпирическими функциями распределения, которые называются статистикой Колмогорова-Смирнова.

Adversarial Validation Score

Adversarial Validation Score используется для оценки различий между двумя выборками данных, например, между тренировочной и тестовой в задачах машинного обучения.

Как рассчитывается Adversarial Validation Score?

Размечаем данные бинарной переменной, где каждая выборка получает свою метку. Эта метка становится целевой переменной для классификатора, задача которого — определить, к какому распределению относится каждый семпл данных. Качество предсказаний измеряется метрикой бинарной классификации — ROC AUC Score.

-8

Если распределения схожи, значение ROC AUC будет ≤ 0.55, если сильно различаются — ≥ 0.85 (верхняя граница условная и может варьироваться в зависимости от задачи).

-9

Заключение

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

Больше полезных и интересных материалов вы найдёте в моём Telegram-канале: https://t.me/+V6en3uh-2qUyYzgy