Taux d'acceptation du crédit

Modélisation du risque de crédit en Python

Michael Crabtree

Data Scientist, Ford Motor Company

Seuils et statut du prêt

  • Nous avons déjà fixé un seuil pour une plage de valeurs prob_default
    • Cela a servi à modifier le loan_status prédit du prêt
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
Modélisation du risque de crédit en Python

Seuils et taux d'acceptation

  • Utiliser les prédictions du modèle pour fixer de meilleurs seuils
    • Peut aussi servir à approuver ou refuser de nouveaux prêts
  • Pour tous les nouveaux prêts, nous voulons refuser les défauts probables
    • Utiliser les données de test comme exemple de nouveaux prêts
  • Taux d'acceptation : pourcentage de nouveaux prêts acceptés pour garder peu de défauts dans le portefeuille
    • Les prêts acceptés qui font défaut ont un impact semblable aux faux négatifs
Modélisation du risque de crédit en Python

Comprendre le taux d'acceptation

  • Exemple : Accepter 85 % des prêts avec la plus faible prob_default

Histogramme de la distribution des probabilités prédites

Modélisation du risque de crédit en Python

Calcul du seuil

  • Calculer la valeur seuil pour un taux d'acceptation de 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
Modélisation du risque de crédit en Python

Appliquer le seuil calculé

  • Réaffecter les valeurs de loan_status en utilisant le nouveau seuil
# 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)
Modélisation du risque de crédit en Python

Mauvais taux (Bad Rate)

  • Même avec un seuil calculé, certains prêts acceptés seront en défaut
  • Il s'agit de prêts dont les prob_default se situent là où le modèle est mal calibré

Barre des prêts acceptés avec le mauvais taux en surbrillance

Modélisation du risque de crédit en Python

Calcul du mauvais taux

Formule du mauvais taux

#Calculate the bad rate
np.sum(accepted_loans['true_loan_status']) / accepted_loans['true_loan_status'].count()
  • Si non-défaut vaut 0 et défaut vaut 1, alors la sum() est le nombre de défauts
  • La méthode .count() sur une seule colonne équivaut au nombre de lignes du cadre de données
Modélisation du risque de crédit en Python

Passons à la pratique !

Modélisation du risque de crédit en Python

Preparing Video For Download...