In diesem Kapitel werden wir uns mit der Frage beschäftigen, wie Sie die Keime für algorithmische Verzerrungen in Ihren Daten erkennen können. Wie aus den vorangegangenen Kapiteln deutlich geworden sein dürfte, jagen wir viele verschiedene Feinde; daher müssen wir unsere Daten auf viele verschiedene Arten potenzieller Probleme untersuchen, so wie ein jährlicher Gesundheitscheck ein Dutzend Verfahren zur Überprüfung von Blut, Urin und verschiedenen Organen umfassen könnte. Mit den Empfehlungen in diesem Kapitel möchte ich Ihnen in sechs relativ einfachen und effizienten Schritten „tausend Augen und tausend Ohren“ geben. Durch diese Analysen wird eine Reihe von Berichten erstellt, wobei jeder Bericht versucht, bestimmte Bereiche, die Anlass zur Besorgnis geben, in leuchtendem Rot zu schattieren, so wie bei einer Röntgenuntersuchung gebrochene Knochen, gerissene Organe und verschlucktes Besteck sichtbar werden. Auf diese Weise können Sie alle signifikanten Unregelmäßigkeiten überprüfen und (unter Berücksichtigung Ihres Kontextwissens und dessen, was Sie in diesem Buch, insbesondere im vorherigen Kapitel, gelernt haben) entscheiden, ob es Grund zur Besorgnis gibt, und wenn ja, was Sie am besten tun können, um eine algorithmische Verzerrung zu vermeiden.
Obwohl ich versucht habe, die sechs Schritte so systematisch wie möglich zu gestalten, muss ich betonen, dass es sich hierbei um einen iterativen Prozess handelt – vor allem bei einer großen Anzahl unabhängiger Variablen kann es vorkommen, dass Sie zunächst einen eher oberflächlichen Durchlauf einiger Analysen durchführen, und wenn eine Variable als Anwärter für das endgültige Modell ausgewählt wurde, möchten Sie vielleicht einige spezifische Analysen noch einmal detaillierter durchführen (z. B. Ausreißer oder bestimmte fehlende Werte genauer untersuchen), vor allem, wenn Ihr von Fachwissen getriebener „Verzerrungsradar“ Ihnen eine Ahnung gibt, dass etwas nicht stimmen könnte.
Es kann sogar sinnvoll sein, die gesamte Röntgenuntersuchung zweimal durchzuführen – das erste Mal, wenn Sie die Rohdaten erhalten haben, und das zweite Mal, wenn Sie alle abgeleiteten Merkmale erstellt haben (z. B. Aggregationen von viel granulareren Daten oder komplexe Transformationen), da Ihre Arbeit an der Merkmalsgenerierung möglicherweise neue Ursachen für Verzerrungen eingeführt hat.
Bei all dem ist es wichtig, eine kritische Haltung einzunehmen. Die beste Datenröntgenroutine ist nutzlos, wenn man dem Bestätigungsfehler verfällt und Warnzeichen wegerklärt, indem man annimmt, dass es sich um einen falschen Effekt handelt („oh, meine Daten sind zu spärlich/alt/frisch/verrauscht“), anstatt zu versuchen, weitere Beweise für ein Problem zu finden, wenn die erste Röntgenaufnahme eine Warnflagge schwingt.
Schritt 1: Analyse auf Stichprobenebene
- 1.
Stimmen die Anzahl der Beobachtungen (z. B. Anzahl der Kredite oder Kunden) und die Summe der wichtigsten Attribute (z. B. Kreditbetrag) mit externen Benchmarks überein (z. B. Portfoliostatistiken aus dem Managementinformationssystem der Bank)? Wenn nicht, scheint Ihre Stichprobe unvollständig zu sein.
- 2.
Wie viel Prozent der Datensätze haben fehlende Werte in kritischen Feldern (z. B. Gut/Schlecht-Indikator oder Identifikator)? Die Definition von kritisch ist hier, dass keine fehlenden Werte akzeptiert werden können. Bei anderen Variablen werden wir fehlende Werte in Schritt 3 auf sehr effiziente Weise untersuchen. Vielleicht möchten Sie jedoch schon jetzt einen Blick auf die „Schlüsselmerkmale“ werfen, von denen Sie erwarten, dass sie am prädiktivsten sind, um zu prüfen, ob die Rate der fehlenden Werte in dem von Ihnen erwarteten Bereich liegt.
- 3.
Wie viel Prozent der Datensätze haben Nullwerte in kritischen Feldern (z. B. Kreditbetrag)? Bei einigen Variablen ist Null genauso schlimm wie ein fehlender Wert; bei anderen kann es sich um einen gültigen Wert handeln (z. B. ist der Kontostand eines Kredits, der zwar genehmigt, aber nie ausgezahlt wurde, Null), der aber auf die Notwendigkeit einer besonderen Verarbeitung hinweist (hier z. B. der Ausschluss des Datensatzes). Achten Sie in diesem Schritt auch auf die Anzahl der zugehörigen Datensätze in separaten Tabellen mit einer 1-zu-vielen-Beziehung. Wenn ein Darlehen beispielsweise mehrere (so genannte „gemeinsame“) Darlehensnehmer haben kann und Sie eine separate Datentabelle mit einem Datensatz für jeden Darlehensnehmer erhalten haben, dann wäre ein verwaistes Darlehen mit null Darlehensnehmern ebenfalls ein Problem.
- 4.
Gibt es Duplikate? Es mag sich wie ein Anfängerfehler anhören, aber kleine Fehler in Abfragen führen hin und wieder zu Duplikaten …
- 5.
Ist das durchschnittliche Ergebnis (d. h. der Durchschnitt der abhängigen Variable/des Labels, wie z. B. die Ausfallquote bei Datensätzen zur Kreditwürdigkeitsprüfung) realistisch?
Schritt 2: Datenlecks („data leakage“)
Data Leakage bezieht sich auf die Verschmutzung von Prädiktoren mit rückblickenden Informationen (d. h. Informationen, die erst verfügbar werden, nachdem das vorherzusagende Ergebnis ebenfalls bekannt geworden ist). Ein eklatanter Fall von Datenleckage ist die Erhebung aktueller Daten zur Vorhersage historischer Ereignisse (wenn ich z. B. den aktuellen Kreditauskunftsbericht eines Kunden abrufe, um Zahlungsausfälle in der Vergangenheit vorherzusagen, würden diese vergangenen Zahlungsausfälle natürlich in der Kreditauskunft aufgeführt). Die meisten Fälle von Datenlecks sind jedoch sehr viel subtiler. Eine solche Verzerrung im Nachhinein tritt beispielsweise häufig auf, wenn ein Attribut als statisch angesehen wird, aber genau in dem Fall aktualisiert wird, den der Algorithmus vorherzusagen versucht. So werden beispielsweise Kreditkonten in der Regel einer Zweigstelle zugewiesen. Wird die zentrale Workout-Abteilung als separate Zweigstelle behandelt, könnte der Ausfall eines Kredits systematisch die Neuzuweisung des Kredits an die Workout-Abteilung auslösen, so dass die Zweigstellenkennung nun zu einem perfekten Indikator für Ausfälle wird. Gerade weil solche Attribute als konstant angesehen werden, werden sie oft nicht richtig archiviert.
Rückschaufehler können sich auch in fehlenden Werten verstecken. Ich erinnere mich zum Beispiel an eine Bank, bei der ausgefallene Kredite aus dem Hauptkontosystem gelöscht wurden, und fehlende Werte für Attribute, die nur in diesem System gespeichert waren, wurden so zu nahezu perfekten Prädiktoren für den Ausfall. Viele Modellierungstechniken (insbesondere das maschinelle Lernen) behandeln „fehlende“ Werte als gültige Werte einer unabhängigen Variablen, und es ist daher nicht ungewöhnlich, dass eine ansonsten irrelevante Variable in einem Modell ein großes Gewicht erhält, einfach weil die Tatsache, ob sie fehlt oder nicht, ein hochgradig prädiktiver Indikator ist.
- 1.
Univariate Vorhersagekraft der einzelnen Variablen; eine ungewöhnlich hohe Vorhersagekraft ist in der Regel ein fast sicherer Indikator für ein Datenleck.
- 2.
Ein Test, ob die Daten für jede Variable zufällig fehlen.
Messung der univariaten Vorhersagekraft einer Variable
Für die Bewertung der Vorhersagekraft einer einzelnen Variable verwende ich zwei oder drei Messgrößen, weil ich versuche, ein asymmetrisches Problem zu lösen; ich bin besorgt, dass ich ein Problem übersehen könnte, wenn ich nur eine Technik verwende, die sich als voreingenommen gegenüber einer bestimmten Art von Verteilung einer Vorhersagevariable herausstellt (und somit ihre hohe Vorhersagekraft nicht erkennt), während ich nicht sehr besorgt über falsch-positive Ergebnisse bin (d. h., dass eine Variable fälschlicherweise markiert wird, die sich als nicht von einem Datenleck betroffen erweist – wenn meine Folgeanalyse ergibt, dass die Variable in Ordnung ist, kann ich sie immer noch verwenden).
Für kontinuierliche abhängige Variablen (Ergebnisse) empfehle ich in der Regel die Berechnung sowohl des Pearsonschen Produktmoment-Korrelationskoeffizienten als auch des Spearmanschen Rangkorrelationskoeffizienten. Der Pearson-Produktmoment-Korrelationskoeffizient ist natürlich die Standard-Korrelationsmetrik, aber er kann durch Ausreißer und schief (d. h. nicht normal) verteilte Daten verzerrt werden. Die Spearman-Rangkorrelation ist gegenüber diesen Problemen unempfindlich und funktioniert auch mit ordinalen, aber nicht kontinuierlichen Werten (z. B. alphanumerische Noten oder Universitätsränge), kann aber bei Clustern von Beobachtungen mit gleichen oder sehr ähnlichen Werten unscharf sein – innerhalb solcher Cluster ist die Reihenfolge der einzelnen Beobachtungen manchmal nicht zufällig (z. B., in einer Datentabelle können noch Reste einer alphabetischen Sortierung der Probanden zu finden sein), und wenn bei der Datenverarbeitung einige Variablen in umgekehrter Richtung angeordnet wurden (z. B. Z zu A statt A zu Z), können Verzerrungen bei der Messung der Spearman-Korrelation auftreten. Die Beurteilung, welche Korrelationswerte „verdächtig hoch“ sind, ist stark kontextabhängig und sollte die Erfahrung des Datenwissenschaftlers mit vergleichbaren Modellierungsbemühungen widerspiegeln.
Bei binären Ergebnissen berücksichtige ich in der Regel sowohl Gini als auch Informationswert (IV).
Wir haben Gini in Kap. 15 besprochen; für univariate Gini-Koeffizienten behandeln wir eine einzelne Variable wie eine Punktzahl. Dies weist auf zwei wichtige Einschränkungen hin: Gini funktioniert nur für kontinuierliche und ordinale Variablen (nicht aber für kategoriale), und es setzt voraus, dass jede Variable eine monotone Beziehung zu den Ergebnissen hat – wenn die Beziehung zwischen einer hoch prädiktiven Variable und den Ergebnissen einer perfekten U-Form folgt (z. B. Kreditrisiko und Alter: sehr junge und sehr alte Menschen sind in der Regel risikoreich, während Menschen in ihren „besten Jahren“ das geringste Risiko haben, da sie in der Regel reif, gesund und in hohem Maße beschäftigungsfähig sind), kann Gini gleich Null sein!
Der Informationswert ist beliebt, weil er auch kategorische Werte und nicht monotone Beziehungen verarbeiten kann und weil es bequeme Daumenregeln für die Interpretation gibt; ein IV zwischen 0,3 und 0,5 gilt als stark, während schwache Prädiktoren nur einen IV zwischen 0,02 und 0,1 erreichen. Werte über 0,5 gelten in der Regel als verdächtig; schwächere Fälle von Datenlecks lassen sich nur durch einen Vergleich des IV der betreffenden Variablen mit dem typischen IV für solche Variablen erkennen (während man z. B. bei einem Kreditscore einen IV von 0,3 erwarten würde, wäre es verdächtig, wenn das Sternzeichen des Geschäftsführers eine so hohe Vorhersagekraft hätte).1 Ein weiterer Vorteil des IV besteht darin, dass ihre Berechnung einen Wert namens „Beweiskraft der Daten“ (Weight of Evidence) umfasst, den wir in einer späteren Analyse ebenfalls verwenden werden.
Die Komplikation des IV besteht darin, dass er eine Einteilung in Gruppen erfordert. Wenn Sie zum Beispiel eine Variable mit der Bezeichnung „Einkommen“ haben, müssen Sie zunächst eine begrenzte Anzahl von Einkommensbereichen definieren. Es besteht die rechnerische Anforderung, dass jeder Bereich mindestens eine Beobachtung für jede Art von Ergebnis (z. B. gut und schlecht) enthält. Und um Hunderte oder Tausende von Variablen effizient bewerten zu können, brauchen Sie in der Regel ein vollständig automatisiertes Skript – infolgedessen wird der IV oft auf der Grundlage von nur vier oder fünf Bereichen berechnet und ist daher gegenüber Indikatoren, die nur auf einen kleinen Teil der Stichprobe zutreffen, verzerrt.
Beurteilung, ob Werte zufällig fehlen
Bei kontinuierlichen Ergebnissen schlage ich vor, zu prüfen, ob sich die Ergebnisse zwischen Beobachtungen, bei denen eine bestimmte Variable fehlt, und solchen, bei denen sie nicht fehlt, signifikant unterscheiden (siehe Kap. 15 und die Diskussion des t-Tests).
Gini oder IV einer Dummy-Variable, die 1 ist, wenn eine Variable fehlt, und sonst 0.
Differenz im IV einer Variablen, wenn der IV einmal berechnet wird, indem „fehlend“ als separate Ausprägung behandelt wird, und einmal unter Ausschluss derjenigen Beobachtungen, bei denen der Wert dieser Variablen fehlt (d. h., es wird nur der IV der nicht fehlenden Fälle gemessen).
Wenn fehlende Werte Rückschlüsse auf die Zukunft zulassen, müssen Sie entscheiden, ob Sie die Variable einfach weglassen oder das Problem durch eine geeignete Imputation der fehlenden Werte beheben wollen (z. B. kann eine bedingte Zufallsimputation einige Situationen lösen). Für diese Entscheidung empfehle ich, die univariate Vorhersagekraft der Variable ohne fehlende Werte zu betrachten. Wenn diese vernachlässigbar ist, hat die Variable an sich nichts zu bieten außer den Rückschaufehler und sollte daher entfernt werden; wenn sie immer noch eine signifikante Prognosekraft hat und den Aufwand des Datenwissenschaftlers wert zu sein scheint, kann eine Behandlung versucht werden.
Schritt 3: Zwei Analysen, um die Struktur der Daten zu verstehen
Suchen Sie nach Variablenblöcken mit ähnlichen Strukturen fehlender Werte, um das Modelldesign zu unterstützen (verwenden Sie z. B. eine modulare Modellstruktur, wenn Kreditbürodaten (die Hunderte von Variablen ausmachen könnten) für einen großen Teil der Kunden nicht verfügbar sind, oder ziehen Sie eine manuelle Datenerfassung in Betracht, wenn wichtige Variablen systematisch (d. h. nicht zufällig) für eine große Anzahl von Fällen digital nicht verfügbar sind);
Ermöglichen Sie eine laserscharfe Fokussierung der nachfolgenden Schritte, indem Sie redundante Variablen durch eine Hauptkomponentenanalyse (Principal Component Analysis, kurz PCA) eliminieren.
Durch die Abfrage der Korrelationsstruktur dieser Indikatorvariablen – in der Regel ist eine einfache Tabelle mit bivariaten Korrelationskoeffizienten ausreichend und am praktischsten (komplexere Techniken, die auch Multikollinearität erfassen würden, funktionieren möglicherweise nicht, da solche Verfahren oft nicht mit perfekt korrelierten Variablen umgehen können) – können Sie Variablenblöcke identifizieren, deren fehlende Indikatoren hoch korreliert sind, was bedeutet, dass sie tendenziell zur gleichen Zeit fehlen (und daher wahrscheinlich durch dieselbe Ursache verursacht werden).
Die Hauptkomponentenanalyse wurde in Kap. 15 nur am Rande erwähnt. Meiner Erfahrung nach ist die PCA eines der mächtigsten Werkzeuge bei der Entwicklung eines Algorithmus. Vor allem beim maschinellen Lernen ist der Glaube weit verbreitet, dass die Leistung eines Algorithmus nur durch das Hinzufügen von immer mehr Variablen verbessert werden kann. Der versteckte Nachteil ist, dass man bei Tausenden von Variablen weder die Zeit noch die geistigen Kapazitäten hat (bevor die geistige Ermüdung einsetzt), um jede Variable gründlich auf Anzeichen von Verzerrungen zu untersuchen. Die PCA kann Tausende von Variablen auf ein paar Dutzend reduzieren, auf die Sie dann „doppelklicken“ können, um detailliertere Analysen durchzuführen (z. B. um Anomalien zu erkennen), einschließlich Visualisierungen der Daten und Gesprächen mit den Mitarbeitern an der Front, um Erklärungen für alle potenziell verzerrenden Phänomene zu erhalten, die Sie beobachten.
Die Berechnung des IV im vorherigen Schritt ist aus zwei Gründen eine wichtige Voraussetzung für den von mir empfohlenen Ansatz der PCA. Erstens müssen Sie, um eine PCA durchführen zu können, zunächst kategoriale Variablen in numerische umwandeln und alle fehlenden Werte imputieren; die IV-Berechnung tut dies auf bequeme Weise, indem sie Ihnen ein Beweiskraftgewicht (WOE) für jede Beobachtung anbietet (in Form des WOE des Buckets, in dem sich eine bestimmte Beobachtung befindet – dies ist natürlich oft grob, wenn Sie nur eine Handvoll Buckets haben). Zweitens wird der IV die Priorisierung der Variablen innerhalb jeder Hauptkomponente steuern.2
Führen Sie eine Hauptkomponentenanalyse durch, wobei das Abschneidekriterium auf den Eigenwert = 2 gesetzt wird (eine Standard-Faustregel).
Führen Sie eine Varimax-Drehung durch, um die maximale Anzahl von Variablen an der ersten Hauptkomponente auszurichten.
- Berechnen Sie für jede Zeile (jede Rohvariable ist eine Zeile) den maximalen absoluten Ladefaktor (factor loading) und ordnen Sie die Variablen der entsprechenden Hauptkomponente zu.
Wenn die maximale absolute Ladung ≥0,5 ist, kennzeichnen Sie die Variable als zu der Hauptkomponente mit dieser Ladung gehörend.
Wenn die maximale absolute Belastung <0,5 ist, wird die Variable als zu „Sonstige“ gehörend gekennzeichnet.
Sortieren Sie die Variablen in einer zweistufigen Hierarchie: zuerst nach der Nummer der Hauptkomponente, zu der die Variable gehört („sonstige“ steht an letzter Stelle), und dann nach der absoluten Faktorladung; das bedeutet, dass Sie zuerst alle Variablen haben, die mit der Hauptkomponente Nr. 1 verbunden sind (die den höchsten Eigenwert hat), dann die Variablen, die mit der zweiten Hauptkomponente verbunden sind, usw.; innerhalb jedes Blocks haben Sie die Variablen von der größten bis zur geringsten Repräsentativität für die Hauptkomponente sortiert (eine Faktorladung von sowohl +1,00 als auch −1,00 deutet darauf hin, dass die Variable ein perfekter Repräsentant für die Hauptkomponente ist; das Vorzeichen der Faktorladung ist für unsere Analyse nicht relevant).
Wählen Sie für jede Hauptkomponente die Variable mit der höchsten IV aus (Ihre Wahl kann auch die Füllrate und praktische Erwägungen, wie z. B. die Einfachheit der Implementierung, widerspiegeln – oft ist die zweit- oder drittrepräsentativste Variable besser als die repräsentativste); bei gleichem IV geben Sie der Variable mit der höchsten Faktorladung den Vorzug.
Wenn Sie eine Variable mit einer Faktorladung von 0,5 bis 0,8 ausgewählt haben, ziehen Sie in Betracht, eine oder zwei weitere Variablen für dieselbe Hauptkomponente auszuwählen, wenn diese ebenfalls hohe IVs aufweisen und Sie aufgrund Ihres Fachwissens davon ausgehen, dass diese Variablen einige Informationsaspekte enthalten könnten, die Sie in einer anderen ausgewählten Variable noch nicht erfasst haben.
Zuletzt schauen Sie sich kurz die Variablen an, die als „sonstige“ klassifiziert wurden. Diese Variablen werden durch die Hauptkomponenten etwas angenähert, aber wenn Sie Variablen sehen, die einen hohen IV-Wert (>0,3) haben, können Sie diese ebenfalls in die engere Auswahl nehmen, insbesondere wenn die Variable nach betriebswirtschaftlichem Ermessen in das Modell aufgenommen werden sollte und durch die anderen bereits in die engere Auswahl genommenen Variablen nicht gut repräsentiert wird.
Ich persönlich baue gerne ein Modell mit nur ein paar Dutzend Variablen, die durch die PCA priorisiert werden, zumindest als anfängliche Benchmark, da ich mich durch diese Fokussierung dann auch wirklich auf die Generierung von Transformationen (feature generation) konzentrieren kann, wodurch ich zusätzliche Möglichkeiten habe, versteckte Verzerrungen zu erkennen, und man kann ja aus praktischen Gründen immer nur über eine begrenzte Zahl von Variablen wirklich eingehende Gespräche mit Mitarbeitern und anderen Experten führen. Ich habe festgestellt, dass die auf diese Weise erstellten Modelle oft nur 1–2 Gini-Punkte unter der Leistung des ausgefeiltesten maschinellen Lernmodells liegen, das alle ursprünglichen Rohvariablen verwendet, und dass sie dank ihrer überragenden Robustheit diese ausgefeilten maschinellen Lernmodelle oft schon nach kurzer Zeit zu übertreffen beginnen (da kleine strukturelle Änderungen beginnen, einige der unerkannten Überanpassungen (overfitting) und anderen Verzerrungen, die im Black-Box-Modell für maschinelles Lernen noch verborgen sind, ans Licht zu bringen).
Sobald Sie jedoch Ihr Datenröntgenbild fertiggestellt haben, steht es Ihnen frei, so viele Variablen in Ihre weitere Modellentwicklung einzubeziehen, wie Sie möchten. Die PCA ist ein Werkzeug, das einem echten Röntgenbild sehr ähnlich ist (das den dreidimensionalen Körper auf ein Schwarz-Weiß-Bild von Knochen reduziert) und nicht mehr. Wenn Sie im Zweifel sind, ob Sie eine Variable in die weitere Modellierung einbeziehen sollen, sollten Sie sich eher für die Einbeziehung entscheiden.
Schritt 4: Zwei Analysen zur Erkennung von Anomalien
In Kap. 15 habe ich den Lieblingsspruch eines guten Freundes von mir erwähnt: „Was ist normal?“ Trotz der Relativität dieser Frage ist es wichtig, einen ehrlichen Versuch zu unternehmen, Anomalien in den Daten zu identifizieren – Ausreißer, unerwartete Wertekonzentrationen und andere Spuren des Verzerrungsteufels.
Im folgenden Abschnitt schlage ich einen manuellen Ansatz für die Erkennung von Anomalien und einen Ansatz mit maschinellem Lernen vor.
Manuelle Anomalie-Erkennung
Ausgabeschablone für kategoriale Variablen
<Variablenname> | <häufigster Wert> | <% der Datensätze> |
---|---|---|
Fehlt: % der Datensätze | <Zweithäufigster Wert> | <% der Datensätze> |
Anzahl der Kategorien: # | <Dritthäufigster Wert> | <% der Datensätze> |
<Vierthäufigster Wert> | <% der Datensätze> | |
<Fünfthäufigster Wert> | <% der Datensätze> |
Ausgabeschablone für numerische Variablen
Variable | Fehlend Minimum Maximum Mittelwert Median Modus | Perzentile 1. 2. 5. 10. 25. 75. 90. 95. 98. 99. | |
---|---|---|---|
< Var #1> | <%> | ||
< Var #2> | <%> | ||
< Var #3> | <%> | ||
… |
Da kategorische Variablen in der Regel Text enthalten, finde ich ein Bericht-Format am besten, vor allem wenn einige Bezeichnungen recht lang sind. Hier nimmt jede Variable fünf Zeilen ein. Eine Leerzeile zwischen den einzelnen Blöcken und eine schöne Formatierung helfen dem Gehirn wirklich weiter! Schauen Sie sich den Bericht an, markieren Sie ihn (z. B. mit einem Kreis oder einem Ausrufezeichen) oder schreiben Sie spontane Reaktionen auf (z. B. Überraschungen, nächste Schritte für weitere Untersuchungen sowie Ideen für die Erstellung von Merkmalen) und machen Sie weiter. Wenn Sie das Gefühl haben, dass Sie müde werden und zu schnell weitermachen, legen Sie eine Pause ein (ein Schluck Koffein und ein Blick in die Natur, z. B. auf einen Baum vor dem Fenster, helfen wirklich!) und wiederholen Sie die letzten paar Variablen, die vielleicht zu kurz gekommen sind.
Sortieren Sie zunächst nach dem fehlenden Wert (Prozentsatz der Beobachtungen) vom größten bis zum kleinsten Wert – am Anfang der Liste sehen Sie dann alle Variablen mit einem hohen Anteil an fehlenden Werten, die entweder auf ein Problem bei der Datenerhebung hindeuten oder Fragen zum Modelldesign aufwerfen.
Als Nächstes sortieren Sie nach dem Mindestwert, vom kleinsten bis zum größten – Sie werden zuerst die negativen Werte sehen, und jede Variable, bei der ein negativer oder Nullwert keinen Sinn ergibt oder zumindest Fragen aufwirft, wird in den Bereich „zu untersuchen“ verschoben.
Drittens: Sortieren Sie nach dem Maximalwert vom größten zum kleinsten Wert – auch hier könnten sich einige Variablen als fragwürdig erweisen.
- Sortieren Sie dann nach dem Modus und prüfen Sie, ob der Modus für eine Variable Fragen aufwirft – ich sortiere, weil oft ein bestimmtes Problem mit einem bestimmten Wert verbunden ist.
Nullwerte sind manchmal eine Art fehlender Wert (und beim Sortieren werden alle Fälle mit Nullwerten zusammengefasst).
Große Zahlen, bei denen alle Ziffern auf 9 gesetzt sind (z. B. Gehalt = 9999999), wurden in alten IT-Systemen häufig als Indikatoren für fehlende Werte verwendet und sind auch heute noch in einigen Datenbanken zu finden.
Gerundete Werte von kontinuierlichen Variablen (z. B. Gehalt = 1000) sind oft ein verräterisches Zeichen dafür, dass ein Mensch eine Schätzung anstelle der wahren Zahl eingegeben hat.
Blättern Sie schließlich durch die verbleibenden Variablen, die nicht bereits durch die vorangegangenen Schritte als nicht-normal gekennzeichnet wurden. Minimum, Maximum, Mittelwert, Median, Modus und die Perzentile geben Ihnen ein Gefühl für die Verteilung – ist sie sinnvoll? Deuten die niedrigeren Perzentile darauf hin, dass ein viel größerer Anteil der Bevölkerung einen kleinen Wert hat, als Sie dachten (z. B. nur eine Kreditkarte besitzt, während Sie dachten, die meisten Leute hätten mindestens zwei)?
Anomalie-Erkennung mit maschinellem Lernen
Die manuelle Erkennung von Anomalien hat den großen Vorteil, dass sie auf das gesamte Wissen des Datenwissenschaftlers zurückgreift – zum Beispiel die Erkenntnis, dass es möglich ist, einen negativen Einzahlungssaldo auf einem Girokonto zu haben (so genannte Überziehung), nicht aber einen negativen Betrag an Kindern. Es gibt jedoch auch eine Reihe schwerwiegender Einschränkungen – zum Beispiel kann eine subjektive Überprüfung der Ergebnisse schwerwiegende Probleme übersehen, oft kann ein Datenwissenschaftler nur einen priorisierten Satz von Variablen manuell überprüfen, und der manuelle Ansatz hat mit bestimmten Arten von Situationen zu kämpfen, insbesondere mit Zeitreihendaten (z. B. Nutzungsmuster im Zeitverlauf) und Situationen, in denen nur die Kombination bestimmter Werte mehrerer Variablen ungewöhnlich ist (wenn Sie z. B. versuchen, digitalen Identitätsbetrug zu modellieren, wäre weder ein gescannter Ausweis, der den Antragsteller als weiblich ausweist, noch die Bildanalyse eines Echtzeit-Selfies, die auf das Vorhandensein eines Bartes hinweist, ungewöhnlich. Die Kombination aus einem Antragsteller mit einem Hipster-Bart und der Verwendung eines weiblichen Ausweises wäre jedoch ein so außergewöhnliches Ereignis, dass Sie diesen Fall wahrscheinlich näher untersuchen sollten, um zu verstehen, was los ist – es könnte sich um einen Betrüger mit sehr geringen Fähigkeiten handeln oder um einen Hinweis darauf, dass die Zuordnung von Ausweisen zu Bilddateien in Ihrer Datenbank fehlerhaft ist).
Techniken des maschinellen Lernens können bei der Erkennung solcher Arten von Anomalien äußerst leistungsfähig sein, und ich empfehle daher, sie zusätzlich zu einer manuellen Überprüfung der wichtigsten in Schritt 3 ermittelten Variablen einzusetzen. Ich bin jedoch sehr viel zögerlicher, wenn es darum geht, eine bestimmte Technik zu empfehlen, und zwar aus zwei Gründen: Erstens haben verschiedene Datenwissenschaftler unterschiedliche Fachgebiete, und während einige von ihnen z. B. sehr gut mit der Entwicklung eines Autoencoders umgehen können, um Anomalien mit einem neuronalen Netzwerk zu identifizieren, waren andere Datenwissenschaftler, mit denen ich zusammengearbeitet habe, sehr viel besser mit dem Konzept des k-nearest neighbor vertraut. Zweitens sind einige dieser Techniken viel jünger als die anderen Konzepte, die ich in diesem Buch bespreche, und daher noch Gegenstand zahlreicher neuer Forschungen, und es kommen auch immer leistungsfähigere Softwarepakete auf den Markt, die fortgeschrittene Algorithmen des maschinellen Lernens zur Erkennung von Anomalien ausführen; daher kann das, was heute großartig ist, morgen eher suboptimal erscheinen.
Führen Sie zunächst eine k-means-Clusterung der Beobachtungen in Ihrer Stichprobe durch und verwenden Sie das von Ihnen bevorzugte Kriterium zur Bestimmung der Anzahl der Cluster (z. B. die durchschnittliche Silhouette,3 eine der Metriken, die automatisch ausgewertet werden können).
Dann wird der kleinste Mahalanobis-Abstand4 jeder Beobachtung zu einem Clusterzentrum gemessen.
Schließlich sortieren Sie die Beobachtungen zunächst nach dem nächstgelegenen Cluster und dann nach der Entfernung zu diesem Cluster (vom größten zum kleinsten), um ungewöhnliche Fälle manuell zu überprüfen.
Jede Variable muss numerisch sein; auch hier können Sie die Variablenwerte durch die Beweisgewichte (WOE) aus Schritt 2 (Datenlecks) ersetzen, um auch kategorische und fehlenden Werte verarbeiten zu können.
Es ist von entscheidender Bedeutung, dass für jede reale „Dimension“ (im Sinne der Hauptkomponenten) nur eine Variable für das Clustering verwendet wird, da diese Dimension sonst für jede korrelierte Variable zusätzliches Gewicht erhält – ein typischer Fehler beim k-means Clustering ist, dass viele Variablen die „Größe“ messen und das Clustering-Verfahren infolgedessen zu der verblüffenden Entdeckung führt, dass es kleine, mittlere und große Fälle gibt; auch hier ist die PCA also eine entscheidende Voraussetzung.
Da jedes Cluster eine große Gruppe von Fällen repräsentiert, sollten Sie davon ausgehen, dass diese Art von Situation den Betroffenen vertraut ist. Wenn Sie die Daten mit Experten und anderen Personen aus dem wirklichen Leben besprechen, können Sie daher einen oder eine Handvoll Fälle aus der Mitte jedes Clusters auswählen (d. h. die Fälle mit dem geringsten Abstand), um die Archetypen von Fällen zu veranschaulichen, die Sie unterscheiden und zur Definition dessen, was „normal“ ist, verwenden.
Da Sie sich bei der Überprüfung der Fälle, die weit vom Zentrum eines Clusters entfernt sind, vom „seltsamsten“ zum „am wenigsten seltsamen“ Fall vorarbeiten, stellt sich natürlich die Frage, wann Sie aufhören sollten. Wenn Sie die am weitesten entfernten drei bis fünf Fälle eines Clusters überprüfen und keine Probleme bei ihnen finden, sollten Sie zu dem Schluss kommen, dass es zumindest keine überwältigenden Beweise für schädliche Ausreißer gibt; wenn Sie ein Problem finden, sehen Sie nach, ob Sie andere Beobachtungen mit demselben Problem identifizieren können, und ziehen Sie in Erwägung, diese alle beiseite zu legen, bevor Sie Ihre Untersuchung fortsetzen, um die Anzahl der verschiedenen Probleme zu maximieren, die Sie innerhalb einer kurzen Zeitspanne identifizieren können. Und beachten Sie, dass die Beurteilung, ob ein Fall normal ist oder nicht, die Einschaltung eines Experten an vorderster Front erfordern kann.
Schritt 5: Korrelationsanalyse mit geschützten Variablen
Bislang haben wir einen ganzheitlichen Ansatz gewählt, um alle Arten von Verzerrungen in den Daten zu identifizieren. Oft gibt es jedoch Bedenken wegen einer ganz bestimmten Voreingenommenheit, z. B. der Diskriminierung einer bestimmten Rasse oder eines bestimmten Geschlechts. In diesem Schritt werden wir feststellen, inwieweit eine solche Voreingenommenheit in den Daten enthalten ist. Dies setzt jedoch voraus, dass das geschützte Merkmal (z. B. die Rasse) für jede Beobachtung tatsächlich bekannt ist. In der Realität wird dieses Attribut möglicherweise gerade deshalb nicht erfasst (und möglicherweise ist es sogar verboten, es zu erfassen), weil es geschützt ist, was diese spezielle Analyse leider unmöglich macht.
Für diese Analyse empfehle ich die Durchführung eines t-Tests für jede Variable in der Stichprobe (dies umfasst sowohl die abhängige Variable als auch die Beweisgewichte für alle unabhängigen Variablen), die Aufteilung der Stichprobe durch eine binäre Indikatorvariable für die geschützte Klasse (z. B. das Geschlechtskennzeichen) und den Vergleich der t-Werte.
Zunächst einmal wollen wir wissen, ob die abhängige Variable einen signifikanten Unterschied zwischen unserer geschützten Klasse und dem Rest der Bevölkerung aufweist – und wenn ja, ob uns der Unterschied als wesentlich erscheint. Wenn ja, haben wir ein Problem, da wir erwarten sollten, dass der Algorithmus diesen Unterschied in realen Ergebnissen nachbildet (d. h. es liegt eine Verzerrung in der realen Welt vor).
Zweitens vergleichen wir die t-Werte für alle anderen Variablen mit dem t-Wert, den wir für die abhängigen Variablen erhalten haben. Wenn der t-Test signifikant ist, aber die t-Werte gleich oder kleiner sind (d. h. jede Korrelation ist weniger oder gleich signifikant wie diejenige, die wir für die Ergebnisvariable ermittelt haben), ist die Situation in dem Sinne eingedämmt, dass die abhängigen Variablen dem Algorithmus helfen können, die Verzerrung im wirklichen Leben zu replizieren, sie aber zumindest nicht verstärken werden. Wenn jedoch der t-Wert eines Merkmals größer ist als unsere Benchmark, dann haben wir es mit einer Variablen zu tun, die als relativ reiner Stellvertreter für das Attribut fungieren könnte, das die Ursache für eine unerwünschte Verzerrung darstellt (z. B. das Geschlecht), und somit dem Algorithmus helfen könnte, diese noch zu verstärken.
Wenn der t-Test signifikant ist, stellen sich kritische Designfragen – sollte die Variable beispielsweise weggelassen werden, sollte die Variable beibehalten werden, aber die Verzerrung durch ein Management-Overlay behoben werden, oder legt eine sorgfältige Analyse der Konsequenzen nahe, dass die Variable ohne weitere Anpassung im Algorithmus beibehalten werden kann?
Meiner Erfahrung nach ist dieser bivariate Diagnoseansatz (Vergleich von jeweils nur zwei Variablen) ausreichend. Manchmal „verrät“ jedoch nur eine geschickte Kombination mehrerer Variablen das geschützte Attribut – vor allem, wenn der Datensatz berechnete Merkmale enthält, bei denen das geschützte Attribut eine Eingabe gewesen sein könnte. Wenn Sie sichergehen wollen, dass auch solche Fälle erkannt werden, führen Sie eine lineare Regression (auch für binäre Ergebnisse) mit der geschützten Variable sowie den erklärenden Variablen durch, die Sie in Schritt 3 oben (Datenstruktur) mit der PCA ausgewählt haben (schließen Sie jedoch alle Variablen aus, die Sie bereits als problematisch gekennzeichnet haben; andernfalls werden sie wieder auftauchen und die Bewertung der anderen Variablen durcheinander bringen), und untersuchen Sie die Varianz-Inflations-Faktoren (VIF). Meine Faustregel lautet: Wenn die geschützte Variable einen VIF von 2 oder mehr aufweist, liegt Multikollinearität vor und die geschützte Variable kann gut durch eine lineare Kombination anderer Variablen approximiert werden. Die Übeltäter lassen sich anhand ähnlicher VIF-Werte erkennen, und wenn Sie beginnen, eine oder mehrere von ihnen auszuschließen, können Sie herausfinden, wie viele Variablen ausgeschlossen werden müssten, um alle versteckten Hinweise für das geschützte Attribut zu entfernen.
Wenn die Indikatorvariable kategorisch ist und mehr als zwei Klassen hat (z. B. wenn Sie drei oder mehr Rassen unterscheiden), müssen Sie anstelle des t-Tests eine ANOVA (Varianzanalyse) durchführen.
Schritt 6: Visuelle Analyse
In unserem letzten Schritt geben wir unserem Gehirn eine weitere Chance, die Daten zu betrachten und ungewöhnliche Situationen zu erkennen – aber dieses Mal unter Verwendung der visuellen Fähigkeiten unseres Gehirns. Dazu trage ich einen gleitenden Durchschnitt der abhängigen Variable (auf der Y-Achse) gegen jede kontinuierliche Variable auf, die in Schritt 3 (PCA) in die engere Wahl gezogen wurde – wobei die abhängige Variable das logarithmische Quotenverhältnis (log-odds-ratio) für binäre Ergebnisse, ihr Logarithmus für annähernd logarithmisch verteilte Variablen (insbesondere für Beträge wie das Einkommen) und der einfache Mittelwert für alle anderen ist.
Bei Ordinalvariablen ist es manchmal sinnvoll, sie als kontinuierlich zu behandeln (z. B. wenn es viele verschiedene Stufen gibt), andernfalls können Balkendiagramme in Betracht gezogen werden, solange die Anzahl der Beobachtungen pro Kategorie ausreichend ist (100er-Regel).
Glatte Beziehungen (bilderbuchmäßige gerade Linien, sanfte Kurven, sogar U-Formen) geben mir die Gewissheit, dass eine Variable eine zugrundeliegende Wahrheit wiedergibt. Zickzack-Kurven hingegen erregen meine Aufmerksamkeit, weil sie manchmal direkt auf ein Problem hinweisen können. So zeigte einmal ein Diagramm, in dem die logarithmische Quote für Kreditausfälle gegen die Anzahl der Monate aufgetragen wurde, in denen ein Kunde eine Zahlung geleistet hatte, eine seltsame Spitze bei 3,5! Der merkwürdige Wert der unabhängigen Variablen (man kann in 3 oder 4, aber nicht in 3,5 Monaten eine Zahlung geleistet haben) verriet, dass hier ein Junior-Analyst eine unbedachte Imputation fehlender Werte durchgeführt hatte, indem er den Stichprobendurchschnitt (daher die Berechnung eines Wertes von etwa 3,5) für Kunden mit fehlendem Zahlungsverhalten einsetzte, obwohl dieses Segment eine außergewöhnlich hohe Ausfallquote aufwies. Hätte ich das nicht bemerkt, hätte dieser Fehler zu einer ernsthaften Verzerrung gegenüber Kunden führen können, die ihre Zahlungen genau 3 oder 4 Monate lang geleistet haben (da der Algorithmus sie möglicherweise als hohes Risiko behandelt hätte).
Ein zweiter Vorteil dieser visuellen Inspektion besteht darin, dass sie einen Übergang der Arbeit des Datenwissenschaftlers vom Data Engineering auf die Modellentwicklung darstellt, da sie auch Erkenntnisse für notwendige Transformationen liefern kann, die bei der Feature-Generierung berücksichtigt werden können.
Zusammenfassung
In einem ersten Schritt wird die Vollständigkeit der Stichprobe geprüft, insbesondere durch die Bewertung von Metriken auf Stichprobenebene und die Bestätigung, dass in kritischen Datenfeldern keine Werte fehlen.
Der zweite Schritt zielt darauf ab, Datenlecks aufzudecken, indem a) eine verdächtig hohe Vorhersagekraft einzelner Variablen festgestellt wird und b) durch fehlende Werte kodierte Rückschaufehler erkannt werden.
Der dritte Schritt macht weitere Diagnose- und Abhilfemaßnahmen sehr viel effizienter, indem er die Struktur sowohl der fehlenden Werte als auch der prädiktiven Variablen extrahiert.
Im vierten Schritt werden Anomalien erkannt, wobei sowohl ein manueller Ansatz als auch maschinelles Lernen zum Einsatz kommen.
Im fünften Schritt wird speziell nach Vorurteilen gegenüber einer geschützten Gruppe (z. B. Marsmenschen) gesucht.
Im sechsten Schritt werden die Daten visualisiert, um Ihrem Gehirn eine zweite Gelegenheit zu geben, mögliche Anomalien zu entdecken.