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

  • Выполнит ли заявитель свои платежные обязательства?
  • Отреагирует ли клиент на предложение кредита?
  • Будет ли клиент соблюдать договоренность об оплате?

Второй тип проблем, которые мы пытаемся решить, включает в себя диапазон:

  • Какую часть непогашенной задолженности этого клиента они могут погасить?
  • Сколько процентов мы можем получить от этого клиента в течение следующих 12 месяцев?
  • Каковы вероятные расходы этого клиента в течение следующих шести месяцев?
  • Сколько покупок может совершить этот клиент?

Как видите, в первом наборе вопросов ответ либо Да, либо Нет, 0 или 1. Тогда как во втором наборе вопросов мы ищем значение.

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

Мои основные алгоритмы решения этих задач включают линейные и нелинейные алгоритмы, а также линейную и логистическую регрессию, случайные леса и модели XGBoost.

Что такое линейные алгоритмы?

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

Я фанат линейной и логистической регрессии.

У них есть отличные преимущества:

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

При всех своих преимуществах линейные алгоритмы имеют некоторые недостатки.

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

Что такое нелинейные алгоритмы?

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

Я большой поклонник случайных лесов и моделей XGBoost.

Нелинейные алгоритмы также имеют несколько фантастических преимуществ:

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

И у них есть недостатки:

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

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

Как всегда, все зависит от контекста.

Что я имею в виду под контекстом?

Меня часто спрашивают, какой «лучший» алгоритм для решения проблемы, и часто этот вопрос задают в вакууме, без контекста, который позволяет ответить. И наоборот, меня иногда спрашивали о деталях того, что я делаю для решения той или иной задачи. Оба эти вопроса имеют одну и ту же корневую проблему.

Один размер не подходит для всех.

И здесь важен контекст.

Давайте раскроем то, что я имею в виду под контекстом.

Саймон Синек был абсолютно прав, когда сказал, что мы все должны начать с «Почему?».

Для любого анализа я хотел бы понять, почему.

Почему именно этот вопрос необходимо решить или лучше понять?

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

Учитывая нынешний рост просроченной задолженности, наблюдаемый в бюро как здесь, так и в АС, задать этот вопрос вполне разумно.

А теперь, чтобы понять, почему мы можем задавать этот вопрос. На первый взгляд ответы могут показаться очевидными:

  • Задолженность растет
  • Мы знаем, что легче погасить досрочную задолженность, чем просроченную.
  • Предотвращая возникновение просроченной задолженности, мы гарантируем, что текущие последствия в управлении взысканиями сведены к минимуму.
  • И так далее.

Давайте копнем немного глубже.

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

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

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

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

Нужно ли нам понимать, почему предсказание говорит то, что говорит?

Если ответ твердый ДА, то я предпочитаю линейные алгоритмы. Ясно, какие функции используются в модели, и мы можем легко понять влияние каждой функции на прогноз. Вся работа, которая обычно связана с проектированием признаков, означает, что у нас также есть отличное понимание того, как взаимодействуют переменные в нашем наборе данных, и мы приложили значительные усилия (или должны были сделать), чтобы гарантировать, что у нас есть надежные модели, которые мы можем интерпретировать.

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

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