Ключевые выводы

  • После оценки модели я обнаружил, что наиболее важными факторами для прогнозирования трудностей с оплатой были (1) цена товаров, на которые был запрошен кредит, и (2) количество дней, в течение которых заявитель работал. Демографические факторы, такие как пол, доход или род занятий, не имели большого значения для прогнозирования трудностей с оплатой.
  • Модель имела тенденцию преувеличивать любые небольшие тенденции в обучающих данных. Могут быть опасные социальные последствия, если модель улавливает небольшие отклонения и экстраполирует их в общие тенденции. Например, данные обучения показали, что женщины чуть реже испытывают трудности с оплатой, чем мужчины (46% против 56%). Модель усилила эти незначительные тенденции в своих прогнозах, так что у женщин прогнозировалось гораздо меньше трудностей, чем у мужчин (41% против 66%). Модель также преувеличивала тенденции между кандидатами с низким и высоким доходом.
  • Еще одна проблема, которую я обнаружил, заключалась в том, что в исходном наборе данных было только 0,1% заявителей с доходом ниже среднего личного дохода в США. На практике наборы финансовых данных такого состава могут нанести вред этому подмножеству людей. Модель будет делать большие обобщения, основанные на меньшей части населения, что повлияет на решение Home Credit о том, предоставлять ли этим заявителям кредит.

Введение

Из-за значительных достижений в области технологий искусственного интеллекта многие крупные организации обращаются к машинному обучению для удовлетворения своих потребностей в принятии решений. В частности, крупные корпорации, такие как Hilton, CapitalOne и AT&T, начали использовать машинное обучение в процессе найма, автоматизируя рассмотрение заявлений и просмотр резюме. Однако, отказываясь от личной и индивидуальной проверки кандидатов, модели отражают присущую им предвзятость в пользу определенной группы людей. Предвзятость в моделях машинного обучения часто несоразмерно вредит меньшинствам, представителям немужского пола и сообществам с низким доходом.

Я решил исследовать предвзятость моделей машинного обучения, изучив данные о заявителях на получение кредита в Home Credit. Хоум Кредит — финансовая компания, которая предлагает своим клиентам ипотечные кредиты. Этот набор данных соискателей кредита Home Credit содержит информацию о личной жизни каждого заявителя и информацию о предыдущем кредите. Цель модели заключалась в том, чтобы предсказать, сможет ли конкретный заявитель погасить кредит. В рамках моего расследования я создал стандартную модель машинного обучения, которая использовала соответствующие данные о каждом заявителе, чтобы решить, могут ли они погасить кредит. Я хотел изучить важность таких факторов, как пол или доход, для прогнозов модели.

Процесс

Настройка данных

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

  • CODE_GENDER : пол
  • AMT_INCOME_TOTAL : личный доход
  • AMT_CREDIT : сумма кредита кредита
  • AMT_ANNUITY : годовой кредит
  • AMT_GOODS_PRICE : цена товара.
  • DAYS_BIRTH : возраст
  • DAYS_EMPLOYED: количество отработанных дней
  • DAYS_REGISTRATION: количество дней с момента изменения регистрации клиента.
  • DAYS_ID_PUBLISH : дней с тех пор, как клиент изменил документ, удостоверяющий личность.
  • OWN_CAR_AGE : возраст автомобиля клиента.
  • CNT_FAM_MEMBERS : количество членов семьи
  • REGION_RATING_CLIENT : рейтинг домашнего региона клиента.
  • REGION_RATING_CLIENT_W_CITY : рейтинг домашнего региона клиента с учетом города
  • HOUR_APPR_PROCESS_START : час, когда клиент подал заявку на кредит.
  • CREDIT_DAY_OVERDUE: количество дней, просроченных по кредиту бюро кредитных историй.
  • AMT_CREDIT_SUM: сумма кредита для кредита бюро кредитных историй
  • AMT_CREDIT_SUM_DEBT : задолженность по кредиту бюро кредитных историй
  • AMT_DOWN_PAYMENT : авансовый платеж по предыдущей заявке.

Затем я преобразовал все CSV-файлы соответствующих данных в массивы numpy. Я превратил каждую открытую и категориальную переменную в двоичную переменную, чтобы модель лучше понимала данные. Данные были крайне несбалансированными в том смысле, что у большинства соискателей кредита в наборе данных не было проблем с оплатой. Это заставило одну из моих ранних моделей предсказать, что у каждого кандидата в данных тестирования не будет проблем с оплатой. Чтобы сбалансировать данные, я использовал метод под названием недостаточная выборка. По сути, я взял выборку заявителей, у которых не было проблем с оплатой, чтобы в преобразованных данных было равное количество заявителей, у которых были трудности с оплатой и у которых не было проблем с оплатой. Затем я разделил преобразованный набор данных меньшего размера на 90 % обучающих и 10 % тестовых данных.

Создать модель

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

Анализ результатов

Во-первых, я оценил каждую из моделей, сравнив прогнозируемый результат для данных тестирования с реальным результатом, как подробно описано в наборе данных Home Credit. Затем я рассчитал важность функций для каждой модели, чтобы увидеть, какие элементы наиболее эффективны для каждого клиента. Я обнаружил, что классификатор Gradient Boosting Classifier имеет самую высокую точность для данных обучения и тестирования. Используя предсказанные моделью выходные данные тестовых данных, я изучил точность модели Gradient Boosting Classifier в отношении каждой из подгрупп: женщин и заявителей с низким доходом.

Результаты

Как показано ниже, в наборе данных было только 0,1% заявителей с низким доходом (клиенты с личным доходом ниже среднего дохода в США, составляющего 33 706 долларов США).

В таблице ниже сравнивается AUC (площадь под кривой) каждой модели. Моделью с самым высоким показателем AUC при тестировании был Gradient Boosting Classifier. Это указывает на то, что эта модель имела наиболее точные тестовые прогнозы, поэтому ее использовали для дальнейшего анализа данных.

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

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

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

Советы, которые я узнал для повышения точности модели

  • Поэкспериментируйте с разными типами моделей — я протестировал три разные модели на своих обучающих данных и обнаружил, что классификатор Gradient Boosting Classifier работает лучше всего. Некоторые модели лучше работают с разными типами и форматированием данных.
  • Правильно форматируйте данные. Многие столбцы данных были открытыми категориальными переменными. Чтобы соответствовать моей модели, я превратил их в числовые двоичные переменные. Основываясь на контексте каждого столбца, я создал собственное пороговое значение и разделил множество ответов на две разные группы. Это помогло модели лучше понять входные данные.
  • Попробуйте разные столбцы. Поскольку в этом наборе данных было много столбцов и фрагментов данных о каждом заявителе, мне пришлось использовать свое суждение, чтобы решить, какая информация, по моему мнению, будет актуальной. Я использовал разные столбцы и вывел важность функции, чтобы окончательно решить, какая информация актуальна для окончательной модели.

Вывод

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

использованная литература