Maschinelles Lernen gegen Kreditrisiko oder "Komm schon, Gini, komm schon"

Eine Bank ist per Definition eine „Geldorganisation“, und ihre Zukunft hängt davon ab, wie erfolgreich diese Organisation Kredite vergibt und zurückzahlt. Um erfolgreich mit Krediten arbeiten zu können, müssen Sie die finanzielle Situation der Kreditnehmer verstehen, die durch Kreditrisikofaktoren (FKR) unterstützt wird. Kreditanalysten identifizieren sie in riesigen Mengen an Bankinformationen, verarbeiten diese Faktoren und prognostizieren weitere Änderungen. In der Regel werden hierfür deskriptive und diagnostische Analysen verwendet. Wir haben uns jedoch entschlossen, Tools für maschinelles Lernen mit der Arbeit zu verbinden. Lesen Sie, was in der Post passiert ist.



Einige Kreditrisikofaktoren liegen an der Oberfläche, während andere tief im Darm von Bankdaten gesucht werden müssen. Änderungen des Dollarkurses, der Kundeneinnahmen, der Schuldenlast, des Umsatz- und Ratingrückgangs, der Gerichte, der Strafsachen, Fusionen und Übernahmen - all dies gibt ein statistisches Signal unterschiedlicher Stärken. Um das Gesamtbild des Kreditnehmers korrekt zusammenzustellen, müssen nicht nur alle damit verbundenen Signale erfasst, sondern auch deren Stärke bewertet werden.

Deskriptive und diagnostische Analysen haben bei der Arbeit mit FCR gut funktioniert, aber diese Methoden sind nicht ohne Nachteile. Die Verwendung von Analysen ist auf Regulierungsbehörden beschränkt - nicht alle fortschrittlichen Methoden und Modelle können von diesen genehmigt werden. Analytics ist nicht flexibel und bietet keine Möglichkeit, Daten in einem beliebigen Slice darzustellen - und dies ist häufig sehr notwendig. Und mit der Effizienz in diesem Fall ist nicht alles großartig. Und es kommt auch vor, dass für einige analytische Modelle einfach nicht genügend Daten vorhanden sind.

Warum nicht maschinelles Lernen für diese Zwecke ausprobieren? So ist es durchaus möglich, die Berechnung der Bedeutung von Kreditrisikofaktoren technisch zu verbessern - den Gini-Indikator, anhand dessen wir die Genauigkeit von Prognosemodellen bewerten, um mehrere Prozentpunkte zu erhöhen. Je besser die Berechnung des FKR ist, desto genauer ist die Beurteilung der Finanzlage der Kunden - desto höher ist die Qualität des Kreditportfolios der Bank. Und je geringer der Anteil der Handarbeit.

Projektfortschritt


Cloudera Hadoop wurde zum Speichern von Big Data ausgewählt, Apache Spark und Apache Hive SQL wurden für den Zugriff auf Rohdaten bereitgestellt, Apache Oozie wurde zum Koordinieren und Starten der Download- und Berechnungsabläufe verwendet. Mit Apache haben Zeppelin und JupyterHub die Daten visualisiert und untersucht. Darüber hinaus verwendeten sie eine Reihe von Bibliotheken für maschinelles Lernen, die die parallele Verarbeitung unterstützen - Spark MLIB, PySpark und H20.



Dafür wurden sieben Knoten zugewiesen:

  • 3 Masterknoten mit jeweils 64 GB vRAM und 2 TB Speicherplatz
  • 3 Datenknoten mit jeweils 512 GB vRAM und 8 TB
  • 1 Knoten für Anwendungen mit 128 GB vRAM, 2,5 TB



Das gesamte Projekt dauerte drei Monate und bestand aus drei Demo-Phasen mit jeweils vier wöchentlichen Sprints. Für die Berechnung wurden während des Projekts 22 Kreditrisikofaktoren ausgewählt.

In der ersten Phase haben wir die Infrastruktur bereitgestellt und die ersten Datenquellen verbunden:

  • Corporate Information Storage (FIR) - der Hauptspeicher in der Bank. Um frei mit Daten in Data Lake zu arbeiten und Produktionssysteme nicht zu belasten, haben wir sie tatsächlich als Ganzes geladen.
  • Das Ratingberechnungssystem () ist eine der Hauptdatenbanken zur Bewertung der mit den Aktivitäten von Unternehmenskunden verbundenen Risiken. Es enthält Informationen zu Ratings von Unternehmen, Indikatoren für Abschlüsse.
  • Daten aus externen Quellen, die die Zugehörigkeit und andere Kriterien widerspiegeln.
  • Separate Dateien mit zusätzlichen Informationen und Daten für die Arbeit von Datenwissenschaftlern.

In der zweiten Phase wurde die erste PCF berechnet. Wir haben versucht, Modelle basierend auf diesen Indikatoren zu erstellen, ein BI-Tool installiert und diskutiert, wie die Dynamik von PCF visualisiert werden kann. Aus diesem Grund haben wir uns entschlossen, die bekannte Excel-Tabellenstruktur im neuen Tool beizubehalten und die erweiterte Visualisierung für die Zukunft beizubehalten.

Und schließlich haben wir im Endstadium alle fehlenden Daten heruntergeladen, auch von einer externen Quelle. Die Bank befürchtete, dass ihre statistische Signifikanz gering sein würde, deshalb führten wir statistische Tests durch, die das Gegenteil bewiesen. Die abschließende Demo demonstrierte den Betrieb von Datascience-Tools, BI, das regelmäßige Laden und Aktualisieren von Daten. Von den 22 Faktoren wurden aus externen Gründen nur zwei innerhalb des Piloten nicht berechnet - das Fehlen von Daten mit der erforderlichen Qualität.

Ergebnis


Der Cluster auf Hadoop ist leicht skalierbar und ermöglicht es Modellen, mehr Daten einzugeben, und sie können parallel Berechnungen durchführen. Der Gini-Indikator ist gewachsen - Modelle haben bestimmte Ereignisse im Zusammenhang mit Kreditrisikofaktoren genauer vorhergesagt.

Zuvor mussten sich unsere Analysten an die IT-Abteilung wenden, um SQL-Abfragen in das Unternehmens-Repository zu schreiben und die Modelle dann auf ihren PCs zu verarbeiten. Mit dem Pilotcluster können Analysten jetzt selbst Abfragen schreiben, dh Rohdaten erheben und Modelle viel schneller verarbeiten.

Pläne


In diesem Jahr werden wir die Entwicklung des Projekts fortsetzen. Wir werden die Data Lake-Infrastruktur auf speziellen Geräten bereitstellen, um die Geschwindigkeit der Probenahme und Verarbeitung zu erhöhen. Wir organisieren auf Basis des "Sees" eine einzige, zentralisierte Ressource für die Kreditanalyse. Fügen Sie einige weitere Datenquellen hinzu und schließen Sie neue Bibliotheken für maschinelles Lernen an.

Andere Bereiche der Bank interessierten sich für unser Projekt - CRM, interne Revision (Suche nach Betrügern, Identifizierung verdächtiger Transaktionen), operative Unterstützung (Betrugsbekämpfung), Branchenanalysten. Wenn wir die „Sandbox“ verwenden, geben wir ihnen unsere Entwicklungen, sie erhalten einfachen Zugriff auf Daten, die Möglichkeit, beliebige Datenquellen zu verbinden und mit maschinellen Lernmodellen zu experimentieren.

Source: https://habr.com/ru/post/de417739/


All Articles