Wie man Data Science auf einer sich entwickelnden Website durchführt

Warum UX-Design eine Schlüsselrolle bei der Konsistenz von Datensätzen spielt und wie die Ensemble-Modellierung verwendet werden kann, um mit Daten aus verschiedenen Zeiträumen umzugehen.

Bei HousingAnywhere.com ist Vertrauen unser Kerngeschäft. Wie auf allen Märkten hängt unser Mehrwert direkt mit der Qualität der Lieferanten auf unserer Plattform zusammen. Um ein nahtloses Erlebnis und eine vertrauenswürdige Umgebung zu gewährleisten, bemühen wir uns, Betrüger so schnell wie möglich zu erkennen und auszuschließen, insbesondere bevor sie mit einem der Suchenden interagieren können. Die stetig steigende Anzahl veröffentlichter Listings und die Verfügbarkeit von Daten, die in den letzten drei Jahren gesammelt wurden, haben uns dazu veranlasst, die Automatisierung immer weiter zu untersuchen und herauszufinden, wie wir künstliche Intelligenz einsetzen können, um unserem Customer Solutions (CS) -Team bei der Betrugsprävention zu helfen .

Die ermutigenden Ergebnisse der ersten Offline-Tests haben uns veranlasst, unser Modell im täglichen Betrieb einzusetzen und ein halbautomatisches Tool bereitzustellen, das mit Live-Daten gespeist wird. Diese zusätzliche Komplexität der Problemstellung: Der Umgang mit Daten in einer Echtzeitumgebung hat uns veranlasst, die Testinfrastruktur zu überdenken, da wir erwarten, zuverlässige Ergebnisse zu liefern, die weit über die reine Forschungsperspektive hinausgehen. Die ersten Experimente mit Live-Daten zeigten einen dramatischen Leistungsabfall, der uns dazu veranlasste, unsere gesamten Annahmen in Frage zu stellen. Wir kamen schließlich zu dem Schluss, dass wir neu anfangen mussten, unsere Pipeline von Grund auf neu konstruieren und neue Annahmen zu dem machen mussten, wonach wir suchten.

Umgang mit zeitlichen Daten

In einer wettbewerbsähnlichen Klassifikationsumgebung wird die Leistung des Modells häufig mit einem zufälligen Holdout bewertet: Die Daten werden gemischt, wobei der größte Teil zufällig für das Training des Modells ausgewählt wird, und eine kleine Teilmenge (10%) wird zum Testen der Leistung reserviert . Daher werden die für die Tests verwendeten Daten nicht über ein bestimmtes Zeitintervall, sondern über das gesamte Zeitintervall abgetastet.

Es wurde jedoch bald klar, dass sich dieser Ansatz als unzureichend erweisen würde, um diese Forschung in die Produktion zu bringen. Der Zweck unserer Forschung ist eher praktisch als akademisch: Das resultierende Produkt muss messbare Verbesserungen an der UX bringen. Das bloße Verlassen auf eine Leistungsmessung auf Papier würde sich als einschränkend, wenn nicht unwirksam erweisen, wenn es in die Produktion gebracht wird.

Dies führte uns zu dem Schluss, dass es höchstwahrscheinlich sinnlos wäre, die Leistung zu bewerten und das Modell anhand von Daten aus zufälligen Zeiträumen anzupassen, wenn es bei einer Live-Bereitstellung nur mit zukünftigen Daten verwendet wird, die möglicherweise eine andere Dynamik aufweisen.

Dieser Paradigmenwechsel mag sich wie eine Komplikation in Ihrer Daten-Pipeline anfühlen, aber in diesem Fall war es eine entscheidende Anpassung unseres Ansatzes. Das Ergebnis war ein starker Rückgang der Modellgenauigkeit im Vergleich zu einem randomisierten 10% -Testsatz. Die Ergebnisse sind hier unten gezeigt.

Abb. 1 - Links die Leistungen, die mit einer randomisierten 10-fachen Kreuzvalidierung erzielt wurden. Rechts die Leistungen, die mit einem Hold-out auf den neuesten Daten erzielt wurden.

Was war der Grund für den Leistungsabfall? Wir haben einige Zeit gebraucht, um das herauszufinden, und mussten einige Interviews mit den Mitgliedern unseres CS-Teams führen. Uns wurde klar, dass sich nicht nur das Verhalten der Betrüger im Laufe der Zeit weiterentwickelt (und angepasst) hat, sondern auch die zugrunde liegende HousingAnywhere-Plattform.

Daten sind ein sich bewegendes Ziel

Basierend auf dieser Entdeckung mussten wir zur White-Board-Ansicht zurückkehren und unsere Annahmen überarbeiten. Betrachtet man den ersten Aspekt, so ist es zwar richtig, dass einige intelligente Betrüger ihr Verhalten im Laufe der Zeit geändert haben, wodurch es schwieriger wird, sie automatisch zu erkennen, aber es ist auch richtig, dass einige Muster immer noch gleich geblieben sind. Wir hatten ein neues Rätsel in der Hand: Wie war es möglich, dass die gleichen Funktionen, die 2017 für die Erkennung von Betrügern relevant waren, 2018 nicht verfügbar waren?

Nach einigen Recherchen haben wir uns entschlossen zu untersuchen, ob unser Datensatz unter Drift leidet. Das Paradigma des maschinellen Lernens beruht auf der Annahme, dass die bereitgestellten Daten aus derselben statistischen Verteilung extrahiert werden: Am Ende kommt es darauf an, einen Weg zu finden, um die für diese Verteilung maßgeblichen Parameter am besten zu approximieren. Die Kreuzvalidierung und, allgemeiner gesagt, das randomisierte Holdout liefern häufig zuverlässige Ergebnisse, da Trainings- und Testsätze aus derselben Verteilung generiert wurden. Wenn diese Annahme jedoch nicht zutrifft, wird es schwierig, ein aussagekräftiges Modell zu trainieren und zuverlässige Leistungen zu messen. In diesen Fällen fühlt sich die Entscheidung für eine klassische zufällige Aufteilung ein bisschen an, als würde man den Staub unter den Teppich kehren (zumindest für uns). Es extrahiert Daten aus den meisten zugrunde liegenden Verteilungen und mittelt alle möglichen Fehler, ist jedoch in einer Live-Umgebung, in der das erlernte Modell seine Wirksamkeit bei Live-Daten nachweisen muss, nicht relevant.

Abgesehen von einer theoretischen Beschreibung dessen, was Driften ist, fehlte uns immer noch ein Werkzeug, um es auf einfache und praktische Weise zu überprüfen. Das Einfügen eines Zeitstempels in jede Zeile im Dataset hat ausgereicht, um einen neuen Klassifizierer zu entwerfen, der versucht, den Zeitraum, in dem der Datensatz mithilfe der Features des Datasets generiert wurde, korrekt zu erraten. Wenn das Verhalten der Variablen in den letzten Jahren so zeitabhängig war und sich so stark verändert hat, dass es möglich gewesen wäre, beispielsweise den genauen Zeitpunkt der Erstellung einer Auflistung anhand ihrer Merkmale richtig vorherzusagen, dann würde es sehr werden wahrscheinlich gab es wenig Mehrwert für die Automatisierung der Betrügererkennung. Die Genauigkeit eines solchen Modells war ziemlich hoch (81%), was bedeutet, dass einige der unabhängigen Variablen gute Schätzer der Zielvariablen (des Zeitraums) waren. Durch die Verwendung eines baumbasierten Modells für die Klassifizierung konnten wir einige Einblicke in die wichtigsten Funktionen und ihr Verhalten gewinnen. Dies führte uns dazu, einige interessante Aspekte unserer Plattform zu entdecken.

Abb. 2 - Zeitliche Entwicklung eines binären Attributs

In Abbildung 2 sind Diagramme als Beispiel für die zeitliche Entwicklung eines binären Attributs dargestellt, das keine Datenmengenverschiebung verursacht: Das Verhalten ist über einen Zeitraum von einem Jahr saisonabhängig, aber im Mittel mehr oder weniger konstant und die Entwicklung ist gut vorhersehbar. Das Aufdecken einiger Korrelationen mit dem Verhalten von Betrügern in den letzten Jahren könnte direkt für die kommenden genutzt werden.

Abb. 3 - Entwicklung des Attributs im Laufe der Jahre, die in engem Zusammenhang mit den Einschränkungen steht, die Werbetreibenden während des Einstiegsprozesses auferlegt wurden.

Einige andere Attribute haben ihr natürliches Verhalten dahingehend verändert, dass sie für unsere Analyse irrelevant waren. Die durchschnittliche Zeit für die Erstellung eines neuen Eintrags war davon besonders betroffen. Die durchschnittliche Zeit für die Erstellung einer Auflistung schien einen starken Einfluss auf die Erkennung von Betrügern zu haben, jedoch in einem Kontext, in dem sich die Auflistung nicht aufgrund des Benutzerverhaltens, sondern aufgrund der Benutzeroberfläche der Plattform (dh des Benutzerflusses und der Benutzerfunktionen) ändert (erhöht oder verringert) ), wie können wir uns darauf verlassen, wenn es zur Produktion gebracht wird? Ein Verhalten, das jetzt in Bezug auf diese Merkmale verdächtig ist, kann in ein paar Monaten völlig in Ordnung sein, und dies gilt für den gesamten Trainingsvorgang.

Mit anderen Worten, wir hatten ein Rätsel: Wir wollten die Erkennung möglicher Betrüger automatisieren, aber die Funktionen, die einen Betrüger heute korrekt identifizieren, funktionieren morgen möglicherweise nicht mehr, da sich die zugrunde liegende Plattform geändert hat.

Alle unsere Hypothesen wurden direkt mit Daten verifiziert: Die Verkürzung des Trainingsfensters führte zu einer Leistung, die viel höher war als bei jahrelangen Verhaltensweisen, bei denen eine zeitliche Verzögerung mit Testdaten aus den Wochen unmittelbar nach dem Trainingssatz angewendet wurde. Am interessantesten sind jedoch die Fälle, in denen einige neue Funktionen und Einschränkungen, die der Plattform hinzugefügt wurden, das Online-Verhalten der Benutzer so veränderten, dass eine interessante Dynamik entstand, die für die Betrügererkennung nützlich ist.

Abb. 4

Abbildung 4 zeigt die durchschnittliche Vollständigkeit des Profils für jeden Monat in den letzten zwei Jahren. Wie zu sehen ist, hat sich dieser Durchschnitt seit August 2017 aufgrund der Einführung neuer Flows bei der Benutzerregistrierung erheblich erhöht.

Abbildung 5 hilft uns dabei, die deutliche Unterscheidung zwischen dem Durchschnittswert für Betrüger und nicht für Betrüger des betrachteten Features zu veranschaulichen: Die Einführung neuer Einschränkungen in UX hat sowohl die Gesamtqualität der auf unserer Plattform gesammelten Daten erhöht als auch dem Klassifizierer geholfen, zwischen Betrügern und Nicht-Betrügern zu unterscheiden Betrüger.

5

Eine weitere Einschränkung war die ständige Verbesserung unserer internen Scammer-Prevention-Prozesse. Zum Beispiel haben wir 2018 Theia entwickelt, einen ML-basierten Dienst, der unser Support-Team über jedes Bild benachrichtigt, das Kontaktinformationen enthält, die von einigen verdächtigen Werbetreibenden auf der Plattform geteilt wurden. Es ist klar, dass diese Funktionen nur für einen Teil des Trainingsdatensatzes eine Bedeutung haben, jedoch für alle neu eingehenden Daten von grundlegender Bedeutung sind.

Die eigentliche Herausforderung bestand darin, das gesamte Potenzial unseres Datensatzes auszuschöpfen, um sowohl das Wissen aus alten historischen Verhaltensweisen als auch die Informationen aus den neu erstellten Auslösern zu nutzen. Ein festgelegtes Handbuch zum Umgang mit Abweichungen gibt es nicht: Das vollständige Entfernen einiger Variablen, die die Verschiebung verursachen, scheint eine einfache Option zu sein, würde jedoch die Genauigkeit zukünftiger Erkennungen beeinträchtigen.

Lernverhalten im Laufe der Zeit

Dutzende von Experimenten wurden durchgeführt, um verschiedene Ansätze und Teilmengen des Datensatzes zu testen. Die besten Leistungen wurden erzielt, indem ein Ensemble von vier verschiedenen Klassifikatoren zusammengestellt wurde, die für dasselbe Ziel trainiert wurden, jedoch mit geringfügig unterschiedlichen Datensätzen, sowohl in Bezug auf die verwendeten Merkmale als auch auf den Zeitraum, aus dem die Proben extrahiert wurden.

Ein Ensemble ist ein statistisches Modell, das aus verschiedenen eigenständigen Klassifikatoren besteht und eine bessere Leistung als die zugrunde liegenden Modelle aufweist. Jeder von ihnen gibt eine Wahrscheinlichkeit zurück, dass die Eingabeauflistung ein Betrug ist. Ziel ist es, den bestmöglichen Weg zu finden, um jede einzelne Entscheidung zu gewichten und dann zum endgültigen Ergebnis zu gelangen. Die jedem Modell zugeordneten Gewichte wurden zugewiesen, um die bestmögliche Leistung anhand der neuesten Daten zu erzielen und die Abhängigkeit zu beschreiben, die jede der früheren Dynamiken (im Durchschnitt) vom aktuellen Verhalten der Betrüger aufweist.

Die entwickelte Architektur ist skalierbar und aktualisierbar, und zwar sowohl in der Richtung, dass die Gewichte angepasst werden, um sich an neue Verhaltensweisen anzupassen (was zum Beispiel die Bedeutung der Entscheidungen des neuesten Modells erhöht), als auch in der Richtung, dass dem Pool neue Modelle hinzugefügt werden können, mit denen trainiert wurde neue Funktionen und Trigger.

Abb.6 - Endergebnisse von Modellen, die mit verschiedenen Datensätzen trainiert wurden.

Argumentation auf dieser Abstraktionsebene hat sich als Schlüssel zum Erfolg dieser Forschung erwiesen: Jedes der trainierten Modelle konnte Betrüger erkennen, die die anderen nicht waren, und keines von ihnen übertraf die anderen drei vollständig. Das mit der größten verfügbaren Teilmenge konsistenter Funktionen trainierte Modell zeigte im Einzelfall die besten Leistungen, sogar besser als das Modell, das mit dem umfangreichsten verfügbaren Datensatz gefüttert wurde - das heißt, das gesamte historische Verhalten. Diese erwiesen sich immer noch als die zweitbesten, reichen jedoch nicht aus, um als zuverlässig zu gelten. Das Ensemble hingegen zeigt die stärkste Leistung von allen.

Die Ergebnisse zeigen deutlich, dass das endgültige Modell konsistent ist und einige Dynamiken unserer Plattform kennengelernt hat, die sich nicht leicht in feste Regeln oder statische Filter übersetzen lassen. Durch das Verschieben von Schwellenwerten auf der Präzisionsrückrufkurve kann der Klassifizierer so eingestellt werden, dass er entweder als automatischer Detektor für die trivialsten Fälle oder als zuverlässiges Überwachungstool zum Senden von Benachrichtigungen für die verdächtigsten Verhaltensweisen fungiert. In beiden Fällen ist die entworfene Architektur immer in der Lage, jedem neu erstellten Eintrag eine aussagekräftige Wahrscheinlichkeitsbewertung zuzuweisen, die tatsächlich mit der Wahrscheinlichkeit korreliert, dass dieser Eintrag ein Betrug ist. Auch wenn eine letzte manuelle Überprüfung der neu hinzugefügten Auflistung immer erforderlich ist, um die 100% ige Erkennung (das Ziel unseres Unternehmens) zu erreichen, sind diese Wahrscheinlichkeitswerte ein entscheidendes Instrument für unsere Support-Mitarbeiter bei der Bekämpfung von Betrug und Betrug.