क्रेडिट स्वीकृति दरें

Python में क्रेडिट रिस्क मॉडलिंग

Michael Crabtree

Data Scientist, Ford Motor Company

थ्रेशोल्ड और लोन स्टेटस

  • पहले हमने prob_default मानों की रेंज के लिए एक थ्रेशोल्ड सेट किया था
    • इससे लोन का प्रेडिक्टेड loan_status बदला गया था
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
Python में क्रेडिट रिस्क मॉडलिंग

थ्रेशोल्ड और एक्सेप्टेंस रेट

  • बेहतर थ्रेशोल्ड सेट करने के लिए मॉडल प्रेडिक्शंस का उपयोग करें
    • इन्हें नए लोन को अप्रूव या रिजेक्ट करने में भी उपयोग किया जा सकता है
  • सभी नए लोन के लिए, हम संभावित डिफॉल्ट्स को रिजेक्ट करना चाहते हैं
    • नए लोन के उदाहरण के रूप में टेस्ट डेटा लें
  • एक्सेप्टेंस रेट: नए लोन का वह प्रतिशत जो पोर्टफोलियो में डिफॉल्ट्स कम रखने के लिए स्वीकार किए जाते हैं
    • एक्सेप्ट हुए लेकिन डिफॉल्ट निकले लोन का प्रभाव false negatives जैसा होता है
Python में क्रेडिट रिस्क मॉडलिंग

एक्सेप्टेंस रेट समझना

  • उदाहरण: सबसे कम prob_default वाले 85% लोन स्वीकार करें

प्रेडिक्टेड प्रॉबेबिलिटीज के वितरण का हिस्टोग्राम

Python में क्रेडिट रिस्क मॉडलिंग

थ्रेशोल्ड की गणना

  • 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
Python में क्रेडिट रिस्क मॉडलिंग

कैल्क्युलेटेड थ्रेशोल्ड लागू करना

  • नए थ्रेशोल्ड से loan_status मानों को फिर से असाइन करें
# 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)
Python में क्रेडिट रिस्क मॉडलिंग

Bad Rate

  • कैल्क्युलेटेड थ्रेशोल्ड के बाद भी कुछ एक्सेप्टेड लोन डिफॉल्ट होंगे
  • ये वे लोन हैं जिनके prob_default उन मानों के आस-पास हैं जहाँ हमारा मॉडल अच्छी तरह calibrated नहीं है

खराब रेट हाईलाइट के साथ स्वीकार लोन का बार

Python में क्रेडिट रिस्क मॉडलिंग

Bad rate की गणना

खराब रेट का सूत्र

#Calculate the bad rate
np.sum(accepted_loans['true_loan_status']) / accepted_loans['true_loan_status'].count()
  • यदि non-default 0 है और default 1 है, तो sum() डिफॉल्ट्स की गिनती देता है
  • एक कॉलम का .count() डेटा फ्रेम की रो काउंट के बराबर होता है
Python में क्रेडिट रिस्क मॉडलिंग

अभ्यास करते हैं!

Python में क्रेडिट रिस्क मॉडलिंग

Preparing Video For Download...