Ratele de acceptare a creditelor

Modelarea Riscului de Credit în Python

Michael Crabtree

Data Scientist, Ford Motor Company

Praguri și statutul creditului

  • Anterior, am setat un prag pentru un interval de valori prob_default
    • Acesta a fost utilizat pentru a modifica loan_status prezis al creditului
preds_df['loan_status'] = preds_df['prob_default'].apply(lambda x: 1 if x > 0.4 else 0)
Credit prob_default prag loan_status
1 0.25 0.4 0
2 0.42 0.4 1
3 0.75 0.4 1
Modelarea Riscului de Credit în Python

Praguri și rata de acceptare

  • Utilizați predicțiile modelului pentru a seta praguri mai bune
    • Pot fi folosite și pentru aprobarea sau respingerea creditelor noi
  • Pentru creditele noi, dorim să refuzăm nerambursările probabile
    • Utilizați datele de test ca exemplu de credite noi
  • Rata de acceptare: procentul creditelor noi acceptate pentru a menține scăzut numărul de nerambursări din portofoliu
    • Creditele acceptate care sunt nerambursate au un impact similar cu falsele negative
Modelarea Riscului de Credit în Python

Înțelegerea ratei de acceptare

  • Exemplu: Acceptați 85% din creditele cu cel mai mic prob_default

Histogramă a distribuției probabilităților prezise

Modelarea Riscului de Credit în Python

Calcularea pragului

  • Calculați valoarea pragului pentru o rată de acceptare de 85%
import numpy as np
# Compute the threshold for 85% acceptance rate
threshold = np.quantile(prob_default, 0.85)
0.804
Credit prob_default Prag loan_status prezis Acceptat sau Respins
1 0.65 0.804 0 Acceptat
2 0.85 0.804 1 Respins
Modelarea Riscului de Credit în Python

Implementarea pragului calculat

  • Reatribuiți valorile loan_status folosind noul prag
# 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)
Modelarea Riscului de Credit în Python

Rata proastă

  • Chiar și cu un prag calculat, unele credite acceptate vor fi nerambursate
  • Acestea sunt credite cu valori prob_default în zona în care modelul nu este bine calibrat

Diagramă cu creditele acceptate și rata proastă evidențiată

Modelarea Riscului de Credit în Python

Calculul ratei proaste

Formula pentru rata proastă

#Calculate the bad rate
np.sum(accepted_loans['true_loan_status']) / accepted_loans['true_loan_status'].count()
  • Dacă ne-nerambursare este 0 și nerambursare este 1, atunci sum() reprezintă numărul de nerambursări
  • .count() pe o singură coloană este egal cu numărul de rânduri din cadrul de date
Modelarea Riscului de Credit în Python

Să exersăm!

Modelarea Riscului de Credit în Python

Preparing Video For Download...