Wskaźniki akceptacji kredytów

Modelowanie ryzyka kredytowego w Pythonie

Michael Crabtree

Data Scientist, Ford Motor Company

Progi i status pożyczki

  • Wcześniej wyznaczyliśmy próg dla zakresu wartości prob_default
    • Służył on do zmiany przewidywanego loan_status pożyczki
preds_df['loan_status'] = preds_df['prob_default'].apply(lambda x: 1 if x > 0.4 else 0)
Pożyczka prob_default próg loan_status
1 0.25 0.4 0
2 0.42 0.4 1
3 0.75 0.4 1
Modelowanie ryzyka kredytowego w Pythonie

Progi i wskaźnik akceptacji

  • Predykcje modelu służą do wyznaczania lepszych progów
    • Można je również stosować do akceptowania lub odrzucania nowych pożyczek
  • Dla wszystkich nowych pożyczek należy odrzucać prawdopodobne przypadki niewywiązania się
    • Dane testowe służą jako przykład nowych pożyczek
  • Wskaźnik akceptacji: jaki procent nowych pożyczek jest akceptowany, aby utrzymać niski poziom niewywiązań w portfelu
    • Zaakceptowane pożyczki z niewywiązaniem mają podobny wpływ jak fałszywe negatywy
Modelowanie ryzyka kredytowego w Pythonie

Rozumienie wskaźnika akceptacji

  • Przykład: akceptacja 85% pożyczek z najniższym prob_default

Histogram rozkładu przewidywanych prawdopodobieństw

Modelowanie ryzyka kredytowego w Pythonie

Obliczanie progu

  • Obliczenie wartości progu dla 85% wskaźnika akceptacji
import numpy as np
# Compute the threshold for 85% acceptance rate
threshold = np.quantile(prob_default, 0.85)
0.804
Pożyczka prob_default Próg Przewidywany loan_status Akceptacja/Odrzucenie
1 0.65 0.804 0 Akceptacja
2 0.85 0.804 1 Odrzucenie
Modelowanie ryzyka kredytowego w Pythonie

Implementacja obliczonego progu

  • Ponowne przypisanie wartości loan_status przy użyciu nowego progu
# 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)
Modelowanie ryzyka kredytowego w Pythonie

Wskaźnik złych kredytów

  • Nawet przy wyznaczonym progu, część zaakceptowanych pożyczek to przypadki niewywiązania się z zobowiązań
  • Dotyczy to pożyczek z wartościami prob_default w obszarze, gdzie model nie jest dobrze skalibrowany

Wykres słupkowy zaakceptowanych pożyczek z wyróżnionym wskaźnikiem złych kredytów

Modelowanie ryzyka kredytowego w Pythonie

Obliczanie wskaźnika złych kredytów

Wzór na wskaźnik złych kredytów

#Calculate the bad rate
np.sum(accepted_loans['true_loan_status']) / accepted_loans['true_loan_status'].count()
  • Jeśli brak niewywiązania się = 0, a niewywiązanie się = 1, to sum() to liczba przypadków niewywiązania się
  • .count() pojedynczej kolumny odpowiada liczbie wierszy w ramce danych
Modelowanie ryzyka kredytowego w Pythonie

Czas na ćwiczenia!

Modelowanie ryzyka kredytowego w Pythonie

Preparing Video For Download...