Taxas de aceitação de crédito

Modelagem de Risco de Crédito em Python

Michael Crabtree

Data Scientist, Ford Motor Company

Limiares e status do empréstimo

  • Antes, definimos um limiar para uma faixa de prob_default
    • Isso foi usado para alterar o loan_status previsto
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
Modelagem de Risco de Crédito em Python

Limiares e taxa de aceitação

  • Use previsões do modelo para definir limiares melhores
    • Também servem para aprovar ou negar novos empréstimos
  • Para novos empréstimos, queremos negar prováveis inadimplências
    • Use os dados de teste como exemplo de novos empréstimos
  • Taxa de aceitação: percentual de novos empréstimos aceitos para manter poucas inadimplências na carteira
    • Empréstimos aceitos que viram inadimplência são parecidos com falsos negativos
Modelagem de Risco de Crédito em Python

Entendendo a taxa de aceitação

  • Exemplo: aceitar 85% dos empréstimos com menor prob_default

Histograma da distribuição das probabilidades previstas

Modelagem de Risco de Crédito em Python

Calculando o limiar

  • Calcule o limiar para 85% de aceitação
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
Modelagem de Risco de Crédito em Python

Aplicando o limiar calculado

  • Reatribua loan_status usando o novo limiar
# 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)
Modelagem de Risco de Crédito em Python

Taxa de inadimplência

  • Mesmo com um limiar calculado, alguns empréstimos aceitos vão inadimplir
  • São empréstimos com prob_default perto da faixa onde o modelo não está bem calibrado

Barra de empréstimos aceitos com taxa de inadimplência destacada

Modelagem de Risco de Crédito em Python

Cálculo da taxa de inadimplência

Fórmula da taxa de inadimplência

#Calculate the bad rate
np.sum(accepted_loans['true_loan_status']) / accepted_loans['true_loan_status'].count()
  • Se não inadimplente é 0 e inadimplente é 1, então sum() é a contagem de inadimplentes
  • O .count() de uma única coluna é igual ao número de linhas do data frame
Modelagem de Risco de Crédito em Python

Vamos praticar!

Modelagem de Risco de Crédito em Python

Preparing Video For Download...