Изучение и выявление предвзятости в наборе данных о невыплатах по кредитным картам

Анализ и раскрытие предубеждений в наборе данных о просрочках по кредитным картам

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

Этот раздел является отрывком из моей последней книги, Интерпретируемое машинное обучение с помощью Python, второе издание. Код для этого раздела вы найдете здесь.

Для данного примера, чтобы правильно разобраться с таким множеством уровней предвзятости, нам следует связать наши данные с данными переписи населения (см. сравнения техник обработки данных для прогнозирования вероятности дефолта кредитных карт клиентов. Экспертные системы с применением, 36(2), 2473-2480) для Тайваня в 2005 году и историческими данными о кредитовании, разделенными по демографии. Затем, используя эти внешние наборы данных, контролировать условия кредитного договора, а также данные о поле, доходе и другие демографические данные, чтобы узнать, были ли молодые люди, в частности, целью для высоко процентных кредитных карт, на которые они не должны были бы подавать заявку. Нам также потребуется проследить набор данных к авторам и проконсультироваться с ними и с экспертами в данной области, чтобы проверить набор данных на проблемы связанные с предвзятостями качества данных. В идеале, эти шаги были бы необходимы для проверки гипотезы, но это была бы гигантская задача, требующая нескольких глав пояснения.

Поэтому, в духе оперативности, мы принимаем предпосылку этой главы как само собой разумеющуюся. Иными словами, из-за практики хищнического кредитования, определенные возрастные группы более уязвимы для дефолта по кредитной карте, не по своей вине. Мы также примем качество набора данных на веру. С учетом этих оговорок, это означает, что если мы обнаружим расхождения между возрастными группами в данных или любой модели, полученной из этих данных, это можно приписать исключительно практикам хищнического кредитования.

Также существуют два типа справедливости, описанных здесь:

  • Процедурная справедливость: Это о равноместном или равномощном обращении. Юридически сложно определить этот термин, так как он очень сильно зависит от контекста.
  • Результативная справедливость: Это исключительно о измерении справедливых результатов.

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

Когда мы говорим о предвзятости в машинном обучении, это оказывает влияние на охраняемые группы, а внутри этих групп будут привилегированные и непривилегированные группы. Последняя группа, получающая негативное влияние от предвзятости. Существует также множество способов, в которых проявляется предвзятость и которые, соответственно, решаются:

  • Представительство: Может отсутствовать представительство или быть его переизбыток у непривилегированной группы. Модель будет учиться либо слишком мало, либо слишком много о данной группе по сравнению с другими.
  • Распределение: Различия в распределении признаков между группами могут привести к тому, что модель будет делать предвзятые ассоциации, которые могут влиять на результаты модели непосредственно или косвенно.
  • Вероятность: Для задач классификации различия в балансе классов между группами могут приводить к тому, что модель будет учиться, что одна группа имеет более высокую вероятность быть частью того или иного класса. Это можно легко наблюдать через матрицы путаницы или сравнивая их метрики классификации, такие как ложноположительные или ложноотрицательные рейты.
  • Гибридный: Комбинация любого из предыдущих проявлений.

В главе 11 книги “book” обсуждаются стратегии для любого проявления предвзятости, но тот, который мы рассматриваем в этом разделе, касается расхождений с вероятностью для нашего основного охраняемого атрибута (_AGE). Мы будем наблюдать расхождения в данных для защищенного признака через визуализацию.

Без лишних слов, перейдем к практической части этого раздела.

Визуализация предвзятости набора данных

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

Приведенный выше фрагмент дает следующий результат, который показывает, что мужчины в среднем имеют более высокую вероятность невыплаты по кредитной карте:

Код для выполнения этого действия для непрерывного признака немного сложнее. Рекомендуется использовать метод qcut из библиотеки pandas для разделения признака на квартили, а затем использовать тот же подход, что и для категориальных признаков. К счастью, функция plot_prob_progression делает это за вас и выводит прогрессию вероятностей для каждого квартиля. Первый атрибут – это pandas series, массив или список с защищенным признаком (_AGE), а второй атрибут – то же самое, но для целевого признака (IS_DEFAULT). Затем мы выбираем количество интервалов (x_intervals), которые мы устанавливаем в качестве квартилей (use_quartiles=True). Остальные атрибуты являются эстетическими, такими как метка, заголовок и добавление mean_line. Код можно увидеть в следующем фрагменте:

Приведенный выше код создает следующий результат, который показывает, что самые молодые (21-25) и старшие (47-79) имеют наибольшую вероятность невыплаты. Все остальные группы представляют чуть более одного стандартного отклонения от среднего:

Рисунок 1: Вероятность неуплаты по кредитной карте по _AGE

Мы можем назвать самые молодые и самые старые квартили непривилегированной группой, а все остальные – привилегированной группой. Чтобы обнаружить и устранить несправедливость, лучше закодировать их как двоичный признак – и мы сделали это с помощью AGE_GROUP. Мы можем снова использовать функцию plot_prob_progression, но на этот раз с использованием AGE_GROUP вместо AGE, и мы заменим числа метками, которые мы можем более легко интерпретировать. Код можно увидеть в следующем фрагменте:

Приведенный выше фрагмент создает следующий результат, в котором явно видны различия между обеими группами:

Рисунок 2: Вероятность неуплаты по кредитной карте по AGE_GROUP

Теперь давайте вернем GENDER в обсуждение. Мы можем использовать функцию plot_prob_contour_map, которая похожа на plot_prob_progression, но в двух измерениях, раскрашивая вероятности вместо рисования линии. Поэтому первые два атрибута – это признаки, которые мы хотим на оси x (GENDER) и на оси y (AGE_GROUP), а третий – это цель (IS_DEFAULT). Поскольку оба наших признака являются двоичными, лучше использовать plot_type='grid' вместо контура. Код можно увидеть в следующем фрагменте:

Приведенный выше фрагмент генерирует следующий результат. Сразу становится ясно, что самая привилегированная группа – женщины в возрасте от 26 до 47 лет, за которыми следуют мужчины с разницей примерно в 3-4%. То же самое происходит с непривилегированной возрастной группой:

Рисунок 3: Сетка вероятностей неуплаты по кредитной карте по GENDER и AGE_GROUP

Различие между полами – это интересное наблюдение, и мы можем сделать несколько гипотез о том, почему женщины реже становятся должниками. Может быть, они просто лучше управляют долгами? Может быть, это связано с их семейным положением или образованием? Мы не будем глубоко затрагивать эти вопросы. Учитывая, что мы знаем только о дискриминации по возрасту, мы будем использовать только AGE_GROUP в привилегированных группах, но оставим GENDER защищенным атрибутом.

Вывод

В этом анализе мы обнаружили явные доказательства предвзятости против молодых и пожилых держателей кредитных карт, которые чаще имели задолженности по кредитам. Это, вероятно, было вызвано насильственными практиками кредитования, которые нацеливались на эти группы с высоко процентными ставками, на которые они не должны были квалифицироваться. После визуализации предвзятости с помощью графиков вероятности и метрик справедливости были разработаны стратегии смягчения, чтобы создать более справедливую модель машинного обучения model. Однако еще надо проделать больше работы, чтобы решить коренные причины и предотвратить создание таких предвзятых наборов данных впервые. Исследуйте эту тему подробнее в книге Interpretable Machine Learning with Python, Second Edition.