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

  • Auparavant, nous avons défini un seuil pour une plage de prob_default
    • Il sert à 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 définir de meilleurs seuils
    • Sert aussi à approuver ou refuser de nouveaux prêts
  • Pour tout nouveau prêt, refuser les défauts probables
    • Utiliser les données de test comme exemple de nouveaux prêts
  • Taux d’acceptation : part des nouveaux prêts acceptés pour maintenir peu de défauts dans le portefeuille
    • Les prêts acceptés qui font défaut ont un impact proche des 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 le 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 loan_status avec 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

Bad Rate

  • Même avec un seuil calculé, certains prêts acceptés seront en défaut
  • Ce sont des prêts dont prob_default est proche d’une zone où le modèle est mal calibré

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

Modélisation du risque de crédit en Python

Calcul du bad rate

Formule du bad rate

#Calculate the bad rate
np.sum(accepted_loans['true_loan_status']) / accepted_loans['true_loan_status'].count()
  • Si non‑défaut = 0 et défaut = 1, alors sum() compte les défauts
  • .count() sur une colonne = nombre de lignes du DataFrame
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...