cointegrated (cointegrated) wrote,
cointegrated
cointegrated

Categories:

Азбука скоринга

Credit Scoring, Response Modelling and Insurance Rating: A Practical Guide to Forecasting Consumer Behaviour. Steven Finlay


Хотя в банке я работаю уже почти полгода, только недавно у меня дошли руки поискать какую-нибудь литературу по моделированию поведения заёмщиков. Нашёл и понял, что несколько месяцев я потерял зря: всё то, о чем не рассказывали ни в Вышке, ни в ШАДе, и что я по крупицам собирал от коллег-аналитиков, здесь сведено в один томик, который легко прочитать за пару вечеров. Реально азбука, но насколько проще обучение с учителем, чем без!

Книга Финлэя описывает основную часть работы риск-аналитика: построение моделей потребительского поведения. Причём описываются не только и не столько математические алгоритмы, связанные с обучением моделей, а весь жизненный цикл модели, от планирования проекта и формирования выборки до имплементации готовой модели и мониторинга. По сути, в книге раскрывается то, чем я сейчас занимаюсь почти каждый день. Причём ровно на том языке, на котором об этом говорим мы в офисе. Roll rate analysis, coarse binning, reject inference, - да, это о нас, Альфа.

Кому она может быть интересна? Во-первых, людям с околоматематическим или околоэкономическим образованием, которые уже знают эконометрические методы и хотят понять, "а как же оно всё организовано в реальной жизни?". Про всю "реальную жизнь" сразу вам не расскажут нигде, но вот в банках - именно так. Вы повышаете ROC AUC (она же GINI), то есть дискриминационную силу модели, а вам платят за это деньги. Во-вторых, любому достаточно любознательному и располагающему свободным временем индивиду может стать интересно, а как вообще банки решают, кому доверять, и каким образом можно предсказать такое непредсказуемое человеческое поведение. Финлэй рисует картину об этом - пусть не самую глубокую, зато довольно широкую и логичную.

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

На сколько частей нужно делить выборку при построении модели?[Ответ]
Правильный ответ - на три. Но те, кто ответил "train set и test set", более правы, чем те, кто ответил "train test, validation set и test set". Для тех, кто не в теме, поясняю: на тренировочной выборке настраиваются параметры модели (коэффциенты регрессии и всё такое), на валидационной - подбираются гиперпараметры (например, число регрессоров), на тестовой - оценивается предсказательная сила итоговой модели. Но валидационную выборку использовать беспонтово, когда существует кросс-валидация. Так почему же три части, а не две?
Всё просто. Вам нужно две тестовые выборки, одна - с того же временного периода, что и тренировочная (holdout set), другая - с более позднего (out-of-time). Ведь только в идеальном мире в банк приходят каждый день одинаковые заёмщики; в реальности популяция меняется. Если уже через несколько месяцев после обучения модели её качество начинает падать - поздравляю, вы переобучились, ваша модель не очень-то кому-то и нужна. Выборка out-of-time не гарантирует, но служит косвенным свидетельством, что такого не произойдёт.


Зачем при построении логистической регрессии в банках делают из числовых переменных - категориальные, а затем из всех переменных - числовые?[Ответ]
Чтобы получить более стабильную модель и замоделировать нелинейные зависимости, не потратив при этом кучу степеней свободы. Идея очень простая.
Скажем, обучаете вы логистическую регрессию, и тут  - бац! - вероятность дефолта зависит от, скажем, возраста, очень нелинейно. Можно забить. Можно выполнить какую-нибудь простую трансформацию, как в школе учили - например, перейти к логарифмам. Иногда помогает, но очень редко. Можно обучить какой-нибудь сплайн, но легко переобучиться, да и замучишься так с каждой переменной делать. А можно разбить ось возраста на интервалы, и для каждого интервала сделать по дамми-переменной. Так тоже можно переобучиться, но сложнее. И в качестве бонуса сразу становится ясно, что делать с пропущенными значениями - ещё одну дамми для них.
Но проблема решена только частично, ибо если каждую переменную разбить на десять интервалов, то у вас станет вдесятеро больше регрессоров. Если наблюдений много, то всё ок, но если их, скажем, десять тысяч, а регрессоров (исходных) сотня, то переобучиться уже легко, а выкидывать переменные - жалко. В таком случае можно поступить в стиле наивного Байеса: по каждой переменной одномерно предсказать вероятность дефолта, перевести всё это в log odds, и на полученных переменных строить логистическую регрессию. В чём профит? Нелинейности, хоть и грубовато, замоделированы, степени свободы (явно) не потрачены, да к тому же теперь все регрессоры представлены примерно в одном и том же масштабе - а значит, и коэффициенты при них тоже, и можно смело накладывать на них какие-нибудь штрафы в стиле лассо и прочую радость.


Ответы на эти и некоторые другие вопросы Финлэй даёт. Ну, и специально для ШАДовских снобов, которые могли бы сказать "фу, логистическая регрессия! да вы бы ещё МНК объяснять начали!": про нейросети и бустинг в этой книге тоже рассказывается. А ещё про то, как презентовать модель вашему менеджеру и прочим стейкхолдерам так, чтобы они сразу поняли, какой вы хороший.
Tags: книги, моделирование
Subscribe

  • о пользе Байесовского подхода замолвите слово

    Сигнал и шум: почему одни прогнозы сбываются, а другие - нет. Нейт Сильвер. Это, как вы могли догадаться, книга про прогнозирование. То есть про то,…

  • Осознанности можно учиться

    Mindfulness. Williams & PenmanВроде бы годная книжка, попавшая мне в руки благодаря Нике. Это учебник по медитации. Написанный, как бы ни…

  • Уроки быть человеком

    Семь навыков высокоэффективных людей. Стивен Кови. Да, я знаю, что предлагаю вам попсню. Но вы уж извините - я как чукча; что вижу, о том и пою.…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic
  • 0 comments