Strategien gegen Datenungleichgewichte bei Betrugsklassifizierern
Jahrelang reichten Betrüger Ansprüche ein und kassierten Geld für übertriebene oder vollständig erfundene Verletzungen und Behinderungen.
Jahrelang reichten Betrüger Ansprüche ein und kassierten Geld für übertriebene oder vollständig erfundene Verletzungen und Behinderungen.
Nichtsdestotrotz Experten prognostizieren einen Anstieg des Online-Versicherungsbetrugs zu satten 32 Milliarden $ im Jahr 2020.
Zum Vergleich: Dieser Betrag ist höher als die Gewinne, die einige weltweit tätige Blue-Chip-Unternehmen im Jahr 2017 erzielt haben, wie Coca-Cola (2 Milliarden $), Warren Buffets Berkshire Hathaway (24 Milliarden US-Dollar) und J.P. Morgan Chase (23,5 Milliarden $).
Neben der Implementierung der Chipkartentechnologie haben Unternehmen enorme Summen in andere Technologien zur Aufdeckung betrügerischer Transaktionen investiert.
Würde Maschinelles Lernen und KI stellen sie große Verbündete in dieser Schlacht dar?
Probleme bei der Klassifizierung
In Maschinelles Lernen, Probleme wie Betrugserkennung werden normalerweise als Probleme bei der Klassifizierung Vorhersage einer diskreten Klassenbeschriftungsausgabe anhand einer Datenbeobachtung. Beispiele für Klassifikationsprobleme, die man sich vorstellen kann, sind Spam-Detektoren, Empfehlungssysteme und Prognose des Kreditausfalls.
Apropos Erkennung von Zahlungsbetrug. Das Klassifizierungsproblem besteht darin, Modelle zu erstellen, die über genügend Intelligenz verfügen, um Transaktionen korrekt als entweder legitim oder betrügerisch, basierend auf Transaktionsdetails wie Betrag, Händler, Ort, Zeit und andere.
Finanzbetrug beläuft sich immer noch auf beträchtliche Geldbeträge. Hacker und Gauner auf der ganzen Welt suchen in jeder Minute nach neuen Wegen, um Finanzbetrug zu begehen. Sich ausschließlich auf regelbasierte, konventionell programmierte Systeme zur Aufdeckung von Finanzbetrug zu verlassen, würde nicht die angemessene Zeit bis zur Markteinführung bieten. Das ist wo Maschinelles Lernen glänzt als einzigartige Lösung für diese Art von Problem.
Die größte Herausforderung bei der Modellierung der Betrugserkennung als Klassifizierungsproblem liegt in der Tatsache, dass in realen Daten die Mehrheit der Transaktionen nicht betrügerisch ist. Die Investitionen in Technologien zur Betrugserkennung haben im Laufe der Jahre zugenommen, sodass dies keine Überraschung sein sollte, aber das bringt uns zu einem Problem: unausgeglichene Daten.
Unausgeglichene Daten
Stellen Sie sich vor, Sie sind Lehrer. Der Schulleiter gibt Ihnen die Aufgabe, einen Bericht mit Prognosen für das Abschlussergebnis jedes Schülers zu erstellen: Pass oder scheitern. Sie sollten sich diese Prognosen ausdenken, indem Sie die Daten der Schüler aus früheren Jahren analysieren: Noten, Abwesenheiten, Engagement zusammen mit dem Endergebnis, die Zielvariable, die entweder sein könnte Pass o scheitern. Sie müssen Ihren Bericht in einigen Minuten einreichen.
Das Problem dabei ist, dass du ein sehr guter Lehrer bist. Infolgedessen hat fast keiner Ihrer früheren Schüler Ihren Unterricht nicht bestanden. Sagen wir das 99% Ihrer Schüler haben die Abschlussprüfungen bestanden.
Was würdest du tun?
Die meisten schnell, unkompliziert In diesem Fall wäre die Vorgehensweise die Vorhersage, dass 100% aller Ihrer Schüler würden bestehen. Genauigkeit in diesem Fall wäre 99% bei der Simulation vergangener Jahre. Nicht schlecht, oder?
https://towardsdatascience.com/media/f1c972d20aa4fea4df8f0ee8e32a96be?postId=a03f8815cce9
Das passiert, wenn wir ein Ungleichgewicht haben.
Wäre dieses Modell korrekt und fehlersicher, unabhängig von den Merkmalen all Ihrer zukünftigen Studentenpopulationen?
Bestimmt nicht. Vielleicht bräuchten Sie nicht einmal einen Lehrer, um diese Vorhersagen zu treffen, da jeder einfach versuchen könnte, anhand der Daten aus früheren Jahren zu erraten, dass die gesamte Klasse die Prüfung bestanden hat und trotzdem eine gute Genauigkeitsrate erreicht. Unterm Strich heißt das diese Vorhersage hätte keinen Wert. Und eine der wichtigsten Missionen eines Datenwissenschaftler ist Geschäftswert aus Daten schöpfen.
Wir werden uns einen praktischen Fall der Betrugserkennung ansehen und lernen, wie das Problem mit unausgewogenen Daten gelöst werden kann.
Unsere Daten
Unser Datensatz enthält Transaktionen von Nutzern europäischer Karteninhaber. Dieser Datensatz enthält Transaktionen, die innerhalb von zwei Tagen stattgefunden haben, wobei wir 492 Betrügereien aus 284.807 Transaktionen. Der Datensatz ist hoch unausgeglichen, wobei die positive Klasse (Betrug) berücksichtigt 0,172% aller Transaktionen.
Es ist wichtig zu beachten, dass die Daten aus Vertraulichkeitsgründen anonymisiert wurden? Variablennamen wurden bis V28 in V1, V2, V3 umbenannt. Außerdem wurde das meiste davon skaliert, mit Ausnahme des Betrag und Klasse Variablen, Letzteres ist unsere binäre Zielvariable.
Es ist immer gut, etwas zu tun EDA Explorative Datenanalyse bevor wir uns mit unseren Prognosemodellen und Analysen die Hände schmutzig machen. Da dies jedoch ein Einzelfall ist, in dem die meisten Variablen keinen Kontext hinzufügen, da sie anonymisiert wurden, gehen wir direkt zu unserem Problem über: dem Umgang mit unausgeglichene Daten.
Es gibt viele Möglichkeiten, mit unausgewogenen Daten umzugehen. Wir werden uns auf die folgenden Ansätze konzentrieren:
- Überabtastung? SCHLUG
- Unterabtastung? Zufälliger Untersampler
- Kombinierte Klassenmethoden? SCHLUG + PENN
Ansatz 1: Überabtastung
Eine beliebte Methode, mit unausgewogenen Daten umzugehen, ist Überabtastung. Überabtastung bedeutet, künstliche Beobachtungen in unserem Datensatz zu erstellen, die zu der Klasse gehören, die in unseren Daten unterrepräsentiert ist.
Eine gängige Technik ist SCHLUG Verfahren zur Überprobenahme synthetischer Minderheiten. Auf hoher Ebene erstellt SMOTE synthetische Beobachtungen der Minderheitenklasse (in diesem Fall betrügerische Transaktionen). Auf einer niedrigeren Ebene führt SMOTE die folgenden Schritte durch:
- Finden des k - nächste Nachbarn für Beobachtungen von Minderheitenklassen (Suche nach ähnlichen Beobachtungen)
- Wählen Sie nach dem Zufallsprinzip einen der k-nächsten Nachbarn aus und verwenden Sie ihn, um ähnliche, aber zufällig optimierte, neue Beobachtungen zu erstellen.
Es gibt viele SMOTE-Implementierungen. In unserem Fall werden wir die SMOTE-Klasse aus dem nutzen imblearn Bibliothek. Die imblearn Die Bibliothek ist eine wirklich nützliche Toolbox für den Umgang mit unausgewogenen Datenproblemen.
Um mehr über die SMOTE-Technik zu erfahren, Sie können diesen Link überprüfen.
Ansatz 2: Unterabtastung
Bei der Unterabtastung wird die dominante Klasse abgetastet, um die Anzahl der Stichproben zu reduzieren. Eine einfache Methode von Unterabtastung wählt zufällig eine Handvoll Stichproben aus der Klasse aus, die überrepräsentiert ist.
Das Zufälliger Untersampler Klasse aus dem imblearn Eine Bibliothek ist eine schnelle und einfache Möglichkeit, die Daten auszugleichen, indem zufällig eine Teilmenge von Daten für die Zielklassen ausgewählt wird. Sie funktioniert, indem sie Folgendes ausführt k bedeutet Clustering zur Mehrheitsklasse und zum Entfernen von Datenpunkten aus Schwerpunkten mit hoher Dichte.
Ansatz 3: Kombinierte Klassenmethoden
SMOTE kann verrauschte Samples erzeugen, indem es neue Punkte zwischen marginalen Ausreißern und Einreißern interpoliert. Dieses Problem kann gelöst werden, indem der nach Überabtastung entstandene Bereich bereinigt wird.
In diesem Zusammenhang werden wir verwenden SCHLUG zusammen mit bearbeitet Nearest-Neighbours (ENN). Hier wird ENN als Reinigungsmethode nach einer SMOTE-Überprobenahme verwendet, um einen saubereren Raum zu erhalten. Dies ist etwas, das mit Learn leicht erreicht werden kann ERTRÄNKEN Klasse.
Erste Ergebnisse
Unser Modell verwendet eine Klassifikator für zufällige Wälder um betrügerische Transaktionen vorherzusagen. Ohne etwas gegen das Problem der unausgewogenen Daten zu unternehmen, war unser Modell in der Lage, Folgendes zu erreichen 100% ige Präzision für die negative Klasse Etikett.
Dies war zu erwarten, da wir es mit unausgeglichenen Daten zu tun hatten. Für das Modell war also leicht zu erkennen, dass die Vorhersage von allem als negative Klasse den Fehler reduziert.
Wir haben einige gute Ergebnisse für Präzision, unter Berücksichtigung beider Klassen. Jedoch erinnern ist nicht so gut wie Präzision für die positive Klasse (Betrug).
Lassen Sie uns unserer Analyse eine weitere Dimension hinzufügen und überprüfen Fläche unter dem Receiver-Operating Characteristic (AUROC) metrisch. Intuitiv AUROC stellt die Wahrscheinlichkeit dar, mit der Ihr Modell Beobachtungen aus zwei Klassen unterscheidet. Mit anderen Worten, wenn Sie zufällig eine Beobachtung aus jeder Klasse auswählen, wie groß ist die Wahrscheinlichkeit, dass Ihr Modell dazu in der Lage ist Rang sie richtig?
Unser AUROC Die Punktzahl ist schon ziemlich anständig. Konnten wir es noch weiter verbessern?
Also, haben wir gewonnen?
Nach der Verwendung Überabtastung, Unterabtastung und kombinierte Klasse Bei Ansätzen für den Umgang mit unausgewogenen Daten haben wir die folgenden Ergebnisse erzielt.
- SCHLUG
Durch die Verwendung von SCHLUG um unsere Daten zu stark abzufragen, haben wir einige gemischte Ergebnisse erhalten. Wir konnten unseren Erinnerungswert für die positive Klasse um folgende Punkte verbessern 5% wir haben Fehlalarme reduziert. Das hatte jedoch seinen Preis: Unsere Präzision ist jetzt 5% schlimmer als zuvor. Beim maschinellen Lernen kommt es häufig vor, dass beim Präzisionsrückruf Kompromisse eingegangen werden müssen. In diesem speziellen Fall ist es wichtig zu analysieren, wie sich dies auf uns finanziell auswirken würde.
Auf der einen Seite haben wir den finanziellen Betrag, der aufgrund der Erhöhung von falsche Negative, was die Präzision der Betrugserkennung verringerte. Auf der anderen Seite könnten wir potenziell Kunden verlieren, weil Transaktionen fälschlicherweise als Betrug eingestuft werden, und die Zahl der Fälle steigt Betriebskosten um Kredite zu stornieren, neue zu drucken und sie an die Kunden zu senden.
In Bezug auf AUROC, wir haben ein etwas besseres Ergebnis erzielt:
- Zufälliger Untersampler
Unterabtastung erwies sich als schlechter Ansatz für dieses Problem. Unser Erinnerungswert hat sich zwar verbessert, aber die Genauigkeit für die positive Klasse ist fast verschwunden.
Die obigen Ergebnisse zeigen uns, dass dies keine gute Strategie wäre Unterabtastung für den Umgang mit unserem unausgewogenen Datenproblem.
- SCHLUG + PENN
SCHLUG + PENN erwies sich in unserem Szenario als der beste Ansatz. Präzision wurde zwar bestraft von 5% wie bei SCHLUG, unser Erinnerungswert wurde erhöht um 7%
Was die betrifft AUROC metrisch, das Ergebnis war auch besser:
Zusammenfassung
In diesem Beitrag habe ich drei verschiedene Ansätze gezeigt, um mit unausgewogenen Daten umzugehen, und zwar unter Nutzung der imblearn Bibliothek:
- Überabtastung (mit SMOTE)
- Unterabtastung (mit RandomUnderSampler)
- Kombinierter Ansatz (mit SMOTE+ENN)
Wichtige Erkenntnisse
- Unausgeglichene Daten kann ein ernstes Problem bei der Erstellung von Prognosemodellen sein, da es unsere Prognosefähigkeiten beeinträchtigen und die Tatsache verschleiern kann, dass unser Modell nicht so gut abschneidet
- Imblearn bietet einige großartige Funktionen für den Umgang mit unausgeglichenen Daten
- Abhängig von Ihren Daten SCHLUG, Zufälliger Untersampler oder SCHLUG + PENN Techniken könnten verwendet werden. Jeder Ansatz ist anders und es geht wirklich darum zu verstehen, welcher von ihnen für Ihre Situation sinnvoller ist.
- Es ist wichtig, den Kompromiss zwischen Präzision und erinnern und entsprechend zu entscheiden, welchen von ihnen nach Möglichkeit Priorität einzuräumen ist, wobei mögliche Geschäftsergebnisse berücksichtigt werden.