Tassi di accettazione del credito

Credit Risk Modeling in Python

Michael Crabtree

Data Scientist, Ford Motor Company

Soglie e stato del prestito

  • Prima abbiamo impostato una soglia per un intervallo di valori prob_default
    • Usata per cambiare il loan_status previsto del prestito
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
Credit Risk Modeling in Python

Soglie e tasso di accettazione

  • Usa le previsioni del modello per impostare soglie migliori
    • Può anche servire per approvare o rifiutare nuovi prestiti
  • Per tutti i nuovi prestiti vogliamo rifiutare i probabili default
    • Usa i dati di test come esempio di nuovi prestiti
  • Tasso di accettazione: percentuale di nuovi prestiti accettati per mantenere basso il numero di default in portafoglio
    • I prestiti accettati che vanno in default impattano in modo simile ai falsi negativi
Credit Risk Modeling in Python

Capire il tasso di accettazione

  • Esempio: accetta l'85% dei prestiti con prob_default più bassa

Istogramma delle probabilità previste

Credit Risk Modeling in Python

Calcolo della soglia

  • Calcola la soglia per un tasso di accettazione dell'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
Credit Risk Modeling in Python

Applicare la soglia calcolata

  • Riassegna i valori di loan_status usando la nuova soglia
# 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)
Credit Risk Modeling in Python

Bad Rate

  • Anche con una soglia calcolata, alcune pratiche accettate andranno in default
  • Sono i prestiti con prob_default vicino alle aree in cui il modello non è ben calibrato

Barra dei prestiti accettati con bad rate evidenziato

Credit Risk Modeling in Python

Calcolo del bad rate

Formula del bad rate

#Calculate the bad rate
np.sum(accepted_loans['true_loan_status']) / accepted_loans['true_loan_status'].count()
  • Se non-default è 0 e default è 1, allora sum() conta i default
  • .count() su una singola colonna è uguale al numero di righe del data frame
Credit Risk Modeling in Python

Ayo berlatih!

Credit Risk Modeling in Python

Preparing Video For Download...