Kreditbewertung mit maschinellem Lernen

Der Kredit-Score ist ein numerischer Ausdruck, der die Kreditwürdigkeit von Personen misst. Das Bankwesen verwendet es normalerweise als Methode, um die Entscheidungsfindung über Kreditanträge zu unterstützen. In diesem Blog werde ich darüber sprechen, wie man mit Python (Pandas, Sklearn) eine Standard-Scorecard entwickelt, die die beliebteste und einfachste Form für die Kreditwürdigkeitsprüfung darstellt, um die Kreditwürdigkeit der Kunden zu messen.

Projektmotivation

Die Kreditwürdigkeit ist heutzutage für jeden von großer Bedeutung, da sie als Indikator für die Zuverlässigkeit eines Einzelnen angesehen wird. In verschiedenen Situationen müssen Dienstleister zuerst die Bonität ihrer Kunden bewerten und dann entscheiden, ob sie die Dienstleistung erbringen oder nicht. Es ist jedoch zeitaufwendig, die gesamten persönlichen Portfolios zu überprüfen und eine Kreditauskunft manuell zu erstellen. Daher wird der Credit Score für diesen Zweck entwickelt und angewendet, da er zeitsparend und leicht verständlich ist.

Der Prozess der Erstellung des Kredit-Scores wird als Kredit-Scoring bezeichnet. Es ist in vielen Branchen weit verbreitet, insbesondere im Bankwesen. Die Banken legen in der Regel fest, wer Kredite erhalten soll, wie viel Kredite sie erhalten sollen und welche operative Strategie zur Reduzierung des Kreditrisikos angewendet werden kann. Im Allgemeinen enthält es zwei Hauptteile:

  • Aufbau des statistischen Modells
  • Anwenden eines statistischen Modells, um einem Kreditantrag oder einem vorhandenen Kreditkonto eine Punktzahl zuzuweisen

Hier stelle ich die beliebteste Methode zur Kreditbewertung vor, die Scorecard. Es gibt zwei Hauptgründe, warum die Scorecard die häufigste Form für die Kreditwürdigkeitsprüfung ist. Erstens ist es einfach, für Personen zu interpretieren, die keinen verwandten Hintergrund und keine verwandte Erfahrung haben, wie zum Beispiel die Kunden. Zweitens ist der Entwicklungsprozess der Scorecard Standard und allgemein bekannt, sodass die Unternehmen nicht viel Geld dafür ausgeben müssen. Eine Beispiel-Scorecard ist unten dargestellt. Ich werde später darüber sprechen, wie man es benutzt.

Abbildung 1 Beispiel einer Scorecard

Datenexploration und Feature-Engineering

Jetzt werde ich einige Details zur Entwicklung einer Scorecard geben. Der Datensatz, den ich hier verwendet habe, stammt aus dem Kaggle-Wettbewerb. Die detaillierten Informationen sind in Abbildung 2 aufgeführt. Die erste Variable ist die Zielvariable, bei der es sich um eine binäre kategoriale Variable handelt. Und der Rest der Variablen sind die Merkmale.

Abbildung-2 Datenwörterbuch

Nachdem ich einen Einblick in den Datensatz erhalten habe, beginne ich, einige Methoden des Feature-Engineerings darauf anzuwenden. Zuerst überprüfe ich jedes Feature, ob es fehlende Werte enthält, und setze dann den Median für die fehlenden Werte fest.

Als nächstes mache ich die Ausreißerbehandlung. Im Allgemeinen hängen die für Ausreißer verwendeten Methoden von der Art der Ausreißer ab. Wenn der Ausreißer beispielsweise auf einen mechanischen Fehler oder auf Probleme während der Messung zurückzuführen ist, kann er als fehlendes Datum behandelt werden. In diesem Datensatz gibt es einige extrem große Werte, aber alle sind vernünftige Werte. Daher wende ich die obere und untere Codierung an, um mit ihnen umzugehen. In Abbildung 3 sehen Sie, dass nach dem Anwenden der oberen Codierung die Verteilung des Features normaler ist.

Abbildung 3 Ausreißerbehandlung mit Top-Codierung

Gemäß der in Abbildung 1 gezeigten Beispiel-Scorecard sollte jedes Feature in verschiedene Attribute (oder Gruppen) gruppiert werden. Es gibt einige Gründe für die Gruppierung der Features.

  • Erhalten Sie einen Einblick in die Beziehungsattribute eines Features und der Leistung.
  • Wenden Sie lineare Modelle auf nichtlineare Abhängigkeiten an.
  • Erfahren Sie mehr über das Verhalten von Risikoprädiktoren, um bessere Strategien für das Portfoliomanagement zu entwickeln.

Binning ist eine geeignete Methode für diesen Zweck. Nach der Behandlung ordne ich jeden Wert dem Attribut zu, in dem er sein soll, was auch bedeutet, dass alle numerischen Werte in kategorial umgewandelt werden. Hier ist ein Beispiel für das Ergebnis des Binning.

Abbildung 4 Gruppierungsfunktion „Alter“ mit Binning

Nach dem Gruppieren aller Features ist das Feature-Engineering abgeschlossen. Der nächste Schritt besteht darin, die Beweiskraft für jedes Attribut und den Informationswert für jedes Merkmal (oder Merkmal) zu berechnen. Wie bereits erwähnt, habe ich Binning verwendet, um alle numerischen Werte in kategoriale Werte umzuwandeln. Wir können das Modell jedoch nicht mit diesen kategorialen Werten kombinieren, daher müssen wir diesen Gruppen einige numerische Werte zuweisen. Der Zweck des Weight of Evidence (WoE) besteht genau darin, jeder Gruppe kategorialer Variablen einen eindeutigen Wert zuzuweisen. Der Informationswert (IV) misst die Vorhersagekraft der Eigenschaft, die für die Merkmalsauswahl verwendet wird. Die Formel von WoE und IV ist unten angegeben. "Gut" bedeutet hier, dass der Kunde keine schwerwiegende Kriminalität hat oder die Zielvariable gleich 0 ist, und "Schlecht" bedeutet, dass der Kunde eine schwerwiegende Kriminalität hat oder die Zielvariable gleich 1 ist.

Normalerweise werden Berichte zur Charakteristikanalyse erstellt, um WoE und IV zu erhalten. Hier definiere ich eine Funktion in Python, um die Berichte automatisch zu generieren. Der Bericht zur Charakteristikanalyse für „Alter“ ist in Abbildung 5 dargestellt.

Abbildung 5 Bericht zur Charakteristikanalyse für „Alter“

Dann erstelle ich ein Balkendiagramm, um die IV aller Funktionen zu vergleichen. Im Balkendiagramm sehen Sie, dass die letzten beiden Funktionen "NumberOfOpenCreditLinesAndLoans" und "NumberRealEstateLoansOrLines" eine ziemlich niedrige IV aufweisen. Daher wähle ich hier die anderen acht Funktionen für die Modellanpassung.

Abbildung 6 Vorhersagekraft der einzelnen Merkmale

Modellanpassung und Scorecard-Punktberechnung

Nach der Featureauswahl ersetze ich die Attribute durch das entsprechende WoE. Bisher bekomme ich den richtigen Datensatz für das Modelltraining. Das für die Entwicklung der Scorecard verwendete Modell ist die logistische Regression, ein beliebtes Modell für die binäre Klassifizierung. Ich wende eine Kreuzvalidierung und eine Gittersuche an, um die Parameter abzustimmen. Dann benutze ich den Testdatensatz, um die Vorhersagegenauigkeit des Modells zu überprüfen. Da der Kaggle die Werte für die Zielvariable nicht angibt, muss ich mein Ergebnis online übermitteln, um die Genauigkeit zu erhalten. Um den Effekt der Datenverarbeitung zu zeigen, trainiere ich das Modell mit Rohdaten und den verarbeiteten Daten. Basierend auf dem Ergebnis des Kaggle wird die Genauigkeit nach der Datenverarbeitung von 0,693956 auf 0,800946 verbessert.

Der letzte Schritt besteht darin, den Scorecard-Punkt für jedes Attribut zu berechnen und die endgültige Scorecard zu erstellen. Die Punktzahl für jedes Attribut kann mit der Formel berechnet werden:

Score = (β × WoE + α / n) × Faktor + Offset / n

Wo:
β - logistischer Regressionskoeffizient für Merkmale, die das angegebene Attribut enthalten
α - logistischer Regressionsabschnitt
WoE - Beweiskraftwert für das angegebene Attribut
n - Anzahl der im Modell enthaltenen Merkmale
Faktor, Offset - Skalierungsparameter

Die ersten vier Parameter wurden bereits berechnet. Dies ist der vorherige Teil. Die folgenden Formeln werden zur Berechnung von Faktor und Offset verwendet.

  • Faktor = pdo / Ln (2)
  • Offset = Punktzahl - (Faktor × In (Quote))

Hier bedeutet pdo Punkte, um die Quote zu verdoppeln, und die schlechte Quote wurde bereits in den oben genannten Merkmalanalyseberichten berechnet. Wenn eine Scorecard die Basisquote von 50: 1 bei 600 Punkten und den pdo von 20 hat (die Quote verdoppelt sich alle 20 Punkte), sind der Faktor und der Versatz:
Faktor = 20 / Ln (2) = 28,85
Versatz = 600 - 28,85 × Ln (50) = 487,14

Wenn alle Berechnungen abgeschlossen sind, wird die Scorecard entwickelt. Ein Teil der Scorecard ist in Abbildung 7 dargestellt.

Abbildung 7 Final Scorecard mit einem Teil der Merkmale

Wenn Sie neue Kunden haben, müssen Sie nur das richtige Attribut in jedem Merkmal gemäß den Daten finden und die Punktzahl erhalten. Die endgültige Kreditpunktzahl kann als die Summe der Punkte der einzelnen Merkmale berechnet werden. Zum Beispiel hat die Bank einen neuen Antragsteller für eine Kreditkarte mit einem Alter von 45 Jahren, einer Schuldenquote von 0,5 und einem monatlichen Einkommen von 5000 Dollar. Der Kredit-Score sollte sein: 53 + 55 + 57 = 165.

Um eine genauere Scorecard zu entwickeln, müssen die Menschen in der Regel mehr Situationen berücksichtigen. Zum Beispiel gibt es einige Personen in der Bevölkerung, die als „schlecht“ eingestuft wurden, deren Antrag jedoch genehmigt wurde, während einige „gute“ Personen abgelehnt wurden. Daher soll die Rückschlussableitung in den Entwicklungsprozess einbezogen werden. Ich mache diesen Teil nicht, weil es den Datensatz von abgelehnten Fällen erfordert, die ich nicht in meinen Daten habe. Wenn Sie mehr über diesen Teil erfahren möchten, empfehle ich Ihnen nachdrücklich, die von Naeem Siddiqi verfassten Credit Risk Scorecards - Entwicklung und Implementierung intelligenter Kreditbewertung zu lesen.

Wenn Sie sich für meine Arbeit interessieren oder Probleme damit haben, können Sie sich gerne an mich wenden. Wenn Sie in der Zwischenzeit mehr darüber erfahren möchten, was die Schüler in den Data Science-Kursen von WeCloudData lernen, besuchen Sie diese Website:

www.weclouddata.com