Проверка модели и мониторинг

Как оценивать и отслеживать эффективность моделей ИИ для управления финансовыми рисками — практическое руководство

Давайте поговорим о точности, отзыве, счете F1, частоте брака, PSI, CSI, KS и Gini вместе с их реализацией на Python.

Одним из наиболее важных аспектов использования моделей ИИ в управлении финансовыми рисками является постоянное обеспечение их качества. В этом есть два аспекта. Во-первых, нам нужно убедиться, что модель является точной во время разработки, то есть проверки модели. Во-вторых, нам нужно продолжать делать то же самое через регулярные промежутки времени после развертывания в производственной среде, то есть мониторинг модели. Этот блог посвящен наиболее важным показателям проверки/мониторинга модели. Мы также рассмотрим практические вопросы, например, какой порог следует соблюдать, чтобы считать производительность модели хорошей, хорошей или плохой. Наконец, будет отдельная записная книжка Jupyter, посвященная его реализации на Python. Вот показатели, которые мы будем рассматривать:

  1. Точность, прецизионность, процент отзыва и брака
  2. Оценка F1
  3. ОКР АУК
  4. Коэффициент Джини
  5. Индекс стабильности населения (PSI)
  6. Индекс стабильности характера (CSI)
  7. Тест Колмогорова-Смирнова (KS)

Да начнется обучение!

Точность, точность и отзыв

Чтобы понять точность, вспомнить точность и оценку F1, нам нужно сначала понять матрицу путаницы. Это может быть показано как:

Давайте разберемся в таблице выше. Что мы подразумеваем под положительным/отрицательным:

  • Положительный: точка данных относится к положительной категории, если она принадлежит к классу, который мы пытаемся предсказать. Например, если мы строим модель мошенничества, все мошенничества попадут в эту категорию.
  • Отрицательный. Продолжая приведенный выше пример, все случаи, не связанные с мошенничеством, являются отрицательными случаями.

Далее, давайте продолжим с примером модели мошенничества, чтобы понять истинно отрицательный/ложноотрицательный/истинно положительный/ложноположительный результат:

  1. Истинно отрицательный (TN): Точка данных, которая на самом деле не является мошенничеством и предсказывается моделью как отсутствие мошенничества
  2. Ложноотрицательный (FN): Точка данных, которая на самом деле является мошенничеством и прогнозируется моделью как отсутствие мошенничества
  3. Истинно положительный (TP): точка данных, которая на самом деле является мошенничеством и предсказывается моделью как мошенничество
  4. Ложное срабатывание (FP): точка данных, которая на самом деле не является мошенничеством и предсказывается моделью как мошенничество

Матрица путаницы представляет собой таблицу с подсчетом истинно отрицательных, ложноотрицательных, истинно положительных и ложноположительных результатов. Давайте рассмотрим пример нашей модели мошенничества:

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

Точность

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

Как правило, точность ниже 70 % отвергается, от 70 до 80 % считается приемлемой в зависимости от бизнес-контекста, а выше 90 % считается хорошей. Точность приведенной выше матрицы путаницы рассчитывается следующим образом:

(TP = 50 + TN = 150)/(Всего прогнозов = 300) = 67%

Точность не может быть хорошей мерой, если набор данных не сбалансирован (что часто встречается в случаях использования, таких как мошенничество). Давайте теперь посмотрим на отзыв и точность.

Точность говорит нам, сколько случаев, помеченных нашей моделью как мошенничество, на самом деле являются мошенничеством. С другой стороны, отзыв говорит нам, сколько мошеннических действий удалось зафиксировать нашей модели (поэтому его также называют коэффициентом захвата). Припоминание также известно как чувствительность. Точность ниже 70% обычно отвергается, выше 80% считается приемлемой, а выше 90% считается хорошей. Все, что находится между 70–80%, является серой зоной в зависимости от бизнес-контекста. Что касается коэффициента отзыва, 50–70 % приемлемы в зависимости от бизнес-контекста (например, для случаев мошенничества обычно приемлемо 60 %), выше 70 % — хорошо, а ниже 50 % — отклонено.

В нашем примере точность составляет 67% (TP=50/(TP=50+FP=25)) и полнота 40% (TP=50/(TP=50 + FP=75))

Точность — это показатель, когда цена ложного срабатывания высока. Например, при обнаружении спама в электронной почте пользователь электронной почты может потерять важные электронные письма, если точность модели обнаружения спама невысока. В моделях мошенничества/дефолта, встроенных в систему управления финансовыми рисками, отзыв важнее, так как вам нужно поймать максимальное количество возможных случаев мошенничества.

Еще одним ключевым показателем, используемым в управлении финансовыми рисками, является процент отказов. Он сообщает нам, какой % населения помечен как мошенничество/дефолт. Слишком высокое число будет означать, что мы будем отклонять большой процент клиентов, что приведет к неудовлетворенности клиентов.

В нашем случае у нас есть процент отказов 25% (TP = 50 + FP = 25 / Total Prediction = 300). Как правило, уровень брака ниже 5 % считается хорошим, от 5 до 10 % — приемлемым, а все, что выше 20 %, — отбраковывается. В некоторых экстремальных ситуациях могут быть приняты 10–20% (например, существует огромный толчок для предотвращения мошенничества с некоторыми новыми продуктами со стороны регулирующих органов). Наконец, та же формула работает для задач классификации нескольких классов.

Оценка F1

F1 Score является предпочтительным выбором, когда мы хотим сбалансировать точность и полноту, а набор данных несбалансирован. Он рассчитывается как среднее гармоническое для полноты и точности, поскольку среднее гармоническое подходит для отношений.

Как подсчитано выше, наш отзыв составляет 40%, а точность — 67%. Таким образом, оценка F1 составляет 50%. Оценка F1 выше 80% считается хорошей, 60–80% считается приемлемой, а ниже 60% отбраковывается.

Для многоклассовой классификации существуют различные варианты оценки F1, такие как макросредняя, ​​средневзвешенная и микровзвешенная оценка F1. Например, для макросреднего балла F1 мы сначала вычисляем баллы F1 для каждого класса отдельно, рассматривая один класс и объединяя другие классы в один класс. Затем рассчитывается среднее макро-балл F1 как среднее арифметическое баллов F1 по классам. Средневзвешеннаяоценка F1 рассчитывается аналогичным образом, но каждая оценка F1 для каждого класса взвешивается по количеству точек данных, связанных с классом. Микросредняя оценка F1 использует глобальные оценки точности и отзыва для расчета оценки F1 с использованием формулы, показанной выше. Для получения более подробной информации, пожалуйста, перейдите в этот блог.

ПЛОЩАДЬ ПОД КРИВОЙ ROC (AUC)

Кривая характеристики оператора приемника отображает истинную положительную скорость (TPR) по оси y и ложноположительную скорость (FPR) по оси x. Они рассчитываются следующим образом:

Прежде всего, следует отметить, что It можно использовать только для таких моделей, как деревья решений и нейронные сети, где доступна вероятность прогнозирования. Давайте разберемся, как построен сюжет, на примере нашей модели мошенничества. Для разных порогов вероятности быть мошенником мы рассчитываем TPR и FPR. Кривая ROC начинается с (0, 0), что соответствует порогу 100%, когда все клиенты помечены как немошеннические. Точно так же для порога 0% все клиенты помечаются как мошенники, и это представлено на кривой ROC как (1,1). Итак, порог снижается по мере перехода от (0, 0) к (1, 1).

Площадь под кривой (AUC) – этообобщение кривой ROC. Чем больше площадь под ROC-кривой, тем лучше можно разграничить классы (мошенничество и отсутствие мошенничества в нашем случае). Максимально возможная оценка — 1, которую можно увидеть, когда модель способна идеально маркировать каждый класс (т. Е. TPR = 100%, FPR = 0%). AUC ниже 60% обычно отклоняется (или считается красной зоной), от 60% до 70% приемлемо (желтая зона) и выше 70% считается хорошим (зеленая зона). Ключевые преимущества оценки AUC заключаются в том, что она фиксирует как истинные, так и ложные срабатывания, и мы можем визуально сравнивать модели, как показано на изображении выше. Подробнее о том, как выглядят ROC-кривые для разных моделей, читайте в этом блоге.

Коэффициент Джини

Коэффициент Джини, используемый для оценки эффективности модели, часто путают с индексом Джини. Индекс Джини был разработан итальянским статистиком Коррадо Джини в 1912 году и является наиболее популярным показателем социально-экономического неравенства с использованием кривой Лоренца. Но коэффициент Джини — это мера порядковой связи между двумя переменными (также известная как D Сомерса, предложенная Робертом Х. Сомерсом в 1962 году). В контексте управления финансовыми рисками он рассчитывает порядковую зависимость между вероятностью мошенничества/дефолта и фактическим результатом.

Коэффициент Джини сообщает, насколько наша модель близка к идеальной модели и насколько далека от модели случайного прогнозирования. Он рассчитывается как отношение между площадью в пределах модельной кривой и модельной линией случайного прогнозирования (A) и площадью между идеальной модельной кривой и модельной линией случайного прогнозирования (A+B). Шехтман и Шехтман показали, что AUC и Джини связаны по следующей формуле: 2AUC — 1. Джини предпочтительнее, чем AUC, поскольку Gini находится в диапазоне от 0 до 1, а AUC — в диапазоне от 0,5 до 1. Джини выше 40 % считается хорошим, от 40 % до 20 % — приемлемым, а менее 20 % — отклоненным.

Чтобы узнать больше об использовании коэффициента Джини в управлении финансовыми рисками, прочитайте этот блог.

Индекс стабильности населения (PSI)

Это метрика для измерения того, насколько переменная сместилась в распределении между двумя выборками с течением времени. Он широко используется для отслеживания изменений в характеристиках населения и для диагностики возможных проблем в работе модели — во многих случаях это хороший признак того, что модель перестала точно предсказывать из-за значительных изменений в распределении населения.

Приведенное выше определение из этой исследовательской работы — идеальный способ объяснить метрику мониторинга. Вот шаги для расчета PSI:

Шаг 1.Определите, какую группу населения использовать в качестве эталона. Наиболее распространенным выбором является использование обучающих данных, используемых для построения модели.

Шаг 2.Упорядочите прогноз (вероятности прогноза для моделей классификации) и разделите их на сегменты (обычно 10 сегментов одинакового размера).

Шаг 3.Рассчитайте количество точек данных в эталонной совокупности и процент данных в каждом из эталонных бинов. С бинами одинакового размера процентное распределение также будет одинаковым.

Шаг 4. Сохраните точку отсечения (вероятность по умолчанию для моделей классификации), используемую для создания бинов для эталонной совокупности, и примените ту же точку отсечения к данным OOT/производства.

Шаг 5. Подсчитайте количество точек данных в OOT/производственной совокупности и % данных в каждом из бинов из шага 4.

Шаг 6. Рассчитайте индекс для каждой корзины по формуле:

В формуле два компонента:

1. Разница значений на шаге 3 и шаге 5
2. Натуральный логарифм деления значений на шаге 3 и шаге 5

Шаг 7. Суммируйте индекс для всех бинов, чтобы получить PSI.

Вот пример описанных выше шагов:

PSI менее 10% означает, что в распределении населения произошли незначительные изменения, от 10 до 25% допустимо, а выше 25% указывает на значительное изменение населения, и модель нуждается в перестройке и/или выборе переменных.

Характеристический индекс стабильности (CSI)

Если PSI ухудшается, мы можем определить причины низкой производительности модели, проверив изменения распределения во входных функциях. Это именно то, что делает CSI, сравнивая распределение входных признаков в производственных данных/данных OOT с распределением того же признака в наборе данных разработки.

Расчет CSI выполняется так же, как и PSI. Единственное отличие состоит в том, что пороговое значение для бинов основано на значениях входного признака в эталонной совокупности.

Статистика Колмогорова-Смирнова (КС)

Статистика Колмогорова-Смирнова (КС) измеряет дискриминационную силу модели, такой как коэффициент Джини. Он рассчитывается как максимальное значение разницы между распределением кумулятивных событий (мошенничества в нашем примере) и кумулятивных несобытий. Статистика KS применима ко всем типам распределений. Еще одним преимуществом является то, что он переходит от 0 к 1, как Джини.

Статистика теста KS Вот базовый пример того, как она рассчитывается:

Если KS находится в верхнем 3-м дециле и выше 25%, модель считается хорошей, между 20% и 25% приемлемой, а ниже 20% обычно отвергается.

Реализация Python

Я рассчитал все метрики на питоне внутри этого блокнота Kaggle. Этот же код размещен и на github. Пожалуйста, не стесняйтесь пройти через то же самое!

Заключение

В этом блоге мы рассмотрели большинство важных показателей оценки и мониторинга моделей, используемых в моделях финансовых рисков. На самом деле их можно использовать для любой модели классификации. Мы также коснулись практических пороговых значений, используемых для каждой метрики для проверки производительности модели. Для их практической реализации был размещен блокнот jupyter и ссылка доступна выше.

Надеюсь, это поможет читателям выбрать лучшую модель и поддерживать ее! В моем следующем блоге мы обсудим некоторые апостериорные показатели объяснимости модели, такие как SHAP!

Рекомендации

[1] Тафвизи, Арья и Авджи, Бесим и Сундарараджан, Мукунд. (2022). Атрибуция AUC-ROC для анализа производительности бинарного классификатора. 10.48550/архив.2205.11781.

[2] Сомерс, Р. (1962). Новая асимметричная мера ассоциации для порядковых переменных. American Sociological Review, 27(6), 799–811. Получено с www.jstor.org/stable/2090408

[3] Шехтман, Э., и Шехтман, Г. (2016). Связь между методологией Джини и кривой ROC (научная статья SSRN № ID 2739245). Рочестер, Нью-Йорк: Сеть исследований в области социальных наук.

[4] Кастро Варгас, Джон Алехандро и Сапата-Импата, Браян и Хиль, Пабло и Родригес, Хосе и Медина, Фернандо. (2019). Производительность 3DCNN при распознавании жестов рук при взаимодействии с роботом-манипулятором. 10.5220/0007570208020806.

[5] Фанг, Фанг и Чен, Юаньюань. (2018). Новый подход к кредитному скорингу путем прямой максимизации статистики Колмогорова-Смирнова. Вычислительная статистика и анализ данных. 133. 10.1016/j.csda.2018.10.004.

[6] Джини, К. (1914). Перепечатано: Об измерении концентрации и изменчивости признаков (2005 г.). Метрон, LXIII(1), 338.