Рівні прийняття кредитів

Моделювання кредитного ризику в Python

Michael Crabtree

Data Scientist, Ford Motor Company

Пороги та статус кредиту

  • Раніше ми встановили поріг для діапазону значень prob_default
    • Його використано, щоб змінити передбачений loan_status кредиту
preds_df['loan_status'] = preds_df['prob_default'].apply(lambda x: 1 if x > 0.4 else 0)
Loan prob_default threshold loan_status
1 0.25 0.4 0
2 0.42 0.4 1
3 0.75 0.4 1
Моделювання кредитного ризику в Python

Пороги та рівень прийняття

  • Використовуйте прогнози моделі, щоб встановлювати кращі пороги
    • Їх також можна застосувати для схвалення або відхилення нових кредитів
  • Для всіх нових кредитів хочемо відхиляти ймовірні дефолти
    • Використайте тестові дані як приклад нових кредитів
  • Рівень прийняття: який відсоток нових кредитів схвалено, щоб зберегти низький рівень дефолтів у портфелі
    • Схвалені кредити, що дефолтують, подібні за впливом до хибних негативів
Моделювання кредитного ризику в Python

Розуміння рівня прийняття

  • Приклад: Схвалити 85% кредитів із найнижчим prob_default

Гістограма розподілу передбачених імовірностей

Моделювання кредитного ризику в Python

Обчислення порога

  • Обчисліть порогове значення для рівня прийняття 85%
import numpy as np
# Compute the threshold for 85% acceptance rate
threshold = np.quantile(prob_default, 0.85)
0.804
Loan prob_default Threshold Predicted loan_status Accept or Reject
1 0.65 0.804 0 Accept
2 0.85 0.804 1 Reject
Моделювання кредитного ризику в Python

Застосування обчисленого порога

  • Переприсвойте значення loan_status, використовуючи новий поріг
# Compute the quantile on the probabilities of default
preds_df['loan_status'] = preds_df['prob_default'].apply(lambda x: 1 if x > 0.804 else 0)
Моделювання кредитного ризику в Python

Bad Rate

  • Навіть із розрахованим порогом частина схвалених кредитів буде дефолтною
  • Це кредити з prob_default у ділянці, де наша модель погано відкалібрована

Стовпчик схвалених кредитів із виділеним bad rate

Моделювання кредитного ризику в Python

Обчислення bad rate

Формула bad rate

#Calculate the bad rate
np.sum(accepted_loans['true_loan_status']) / accepted_loans['true_loan_status'].count()
  • Якщо недефолт — це 0, а дефолт — 1, тоді sum() дорівнює кількості дефолтів
  • .count() для одного стовпця дорівнює кількості рядків у датафреймі
Моделювання кредитного ризику в Python

Давайте потренуємось!

Моделювання кредитного ризику в Python

Preparing Video For Download...