Как построить систему кредитного скоринга с ML?

Я работал специалистом по данным в Ozon Bank (ведущая компания электронной коммерции в России), был главным специалистом по данным продукта кредитного скоринга. Я попытаюсь обобщить все свои выводы, но я должен фильтровать себя, так как некоторые аспекты продукта не могут быть раскрыты.

Есть несколько аспектов, о которых следует подумать:
- сущность временных рядов ваших данных (обучение/прогнозирование/проверка)
- цель
- инженерное мастерство
- гранулярность
- моделирование риска
- набор инструментов
- производственная часть
- анализ результатов (постоянство pd, psi, мониторинг данных)

С чем я работал — продавцы на рынке электронной коммерции, кредиты.

X — общая статистика
y-смерть

Простой :)

  1. Сущность временных рядов ваших данных

Давайте начнем с самого первого аспекта, данные, с которыми вы работаете, являются последовательными, и это повлияет на все аспекты вашего дизайна ML. Предположим, вы придумали такую ​​методику обучения (подробнее об этом можно прочитать здесь — https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.TimeSeriesSplit.html). Итак, основная идея, как всегда, состоит в том, чтобы построить множество предикторов (дальше будем называть их семенами), чтобы последовательно получить наилучший возможный ответ. Кроме того, он защитит от недообучения и переоснащения одновременно. Так как рассматриваются все модели, которые учитывают малую долю данных и большую долю данных. Также важно, чтобы ваши данные попадали в модель последовательно, чтобы будущее для каждого выбранного момента (строки данных) было неизвестно. Как это было бы в том случае, если бы ваша модель использовалась в производстве (дахх, машина времени не изобретена — Босс).

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

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

2. Цель
Очень важно выбрать правильную цель, и самое приятное то, что не требуется A/B-тест, вы можете придумать его самостоятельно, используя имеющиеся у вас исторические данные.
Извините, не могу сказать больше здесь.

Продолжение следует…