hintergrundbild

Ausreißer und Anomalien in den Daten

Einer der wichtigsten Schritte bei der Datenvorverarbeitung ist die Erkennung und Behandlung von Ausreißern in den Daten. 

Ausreißer sind Datenpunkte, die weit von anderen Datenpunkten entfernt sind. Mit anderen Worten, es sind ungewöhnliche Werte in einem Dataset. Ausreißer sind für viele statistische Analysen problematisch, da sie dazu führen können, dass Tests entweder signifikante Ergebnisse übersehen oder reale Ergebnisse verfälschen.

Leider gibt es keine strengen statistischen Regeln, um Ausreißer definitiv zu identifizieren. Das Auffinden von Ausreißern hängt von den Fachkenntnissen und dem Verständnis des Datenerhebungsprozesses ab. Obwohl es keine solide mathematische Definition gibt, gibt es Richtlinien und statistische Tests, mit denen Sie Ausreißerkandidaten finden können.

In diesem Beitrag erkläre ich, was Ausreißer sind und warum sie problematisch sind und stelle verschiedene Methoden vor, um diese in einem Datensatz zu identifizieren.


1. Was sind Ausreißer in den Daten?

Ein Ausreißer in einem Datensatz ist eine Beobachtung, die sich von den anderen Beobachtungen unterscheidet.

Ausreißer in den Daten sind Datenpunkte, die sich erheblich von den übrigen Daten unterscheiden. Das sind Datenpunkte, die deutlich außerhalb des Verteilung der anderen Datenpunkte liegen. Manchmal werden Daten Ausreißer auch Anomalien genannt.

Die Werte dieser Datenpunkte sind meist sehr viel höher oder niedriger als die Werte der übrigen Datenpunkte.

Statistische Kennzahlen wie Mittelwert, Varianz und Korrelation sind sehr anfällig für Ausreißer. Ein einfaches Beispiel für einen Ausreißer ist der folgende Datenpunkte, der von der Gesamtverteilung der Datenpunkte abweicht.

X1
Abb. 1 Ein Datensatz X mit einem Ausreißer (rot).

Neuronale Netze und Machine Learning Algorithmen reagieren sehr empfindlich auf die Wertebereiche der Trainingsdaten. Ausreißer in den Trainingsdaten können die Algorithmen beim Trainingsprozess sozusagen täuschen, was zu längeren Trainingszeiten und ungenaueren Modellen führt.

Ausreißer können aus einem der folgenden Gründe im Datensatz auftreten:

  • Natürliche Werte, die einfach extrem hoch oder extrem niedrig sind
  • Werte, aufgrund eines menschlichen oder mechanischen Fehlers bei der Datensammlung

Ausreißer und Anomalien müssen allerdings nicht zwingend problematisch sein. Vielmehr hängt das von der jeweiligen Problemdomäne ab. In einigen Fällen sind die Ausreißer sogar die interessantesten Daten, die bei der Berechnung der Vorhersage enorm wichtig. Beispielsweise finden sich Ausreißer und Anomalien manchmal in den Daten von Log-Einträgen von Maschinen oder Finanztransaktionen wieder. In diesen Fällen deutet die Ausreißer meist auf Fehlfunktionen der Maschinen oder auf Betrug in den Finanztransaktionen.

Wie Sie also sehen ist auch hier eine gewisse Erfahrung und Expertise der jeweiligen Problemdomäne erforderlich um zu entscheiden, ob die Ausreißer zu behandeln sind oder wichtige zugrundeliegende Informationen in den Daten darstellen.

Leider kann ich Ihnen jetzt nicht alle Fälle vorstellen in denen die Ausreißer Probleme darstellen oder nicht.

Viel mehr möchte ich Ihnen einige Methoden mit auf dem Weg geben, mit denen Sie die Ausreißer in ihren Daten effektiv eliminieren können.


2. Identifikation von Ausreißern und Anomalien in den Daten

Eine wichtige Frage, die wir uns nun stellen sollten ist: Wann ist ein Datenwert überhaupt als ein Ausreißer zu betrachten? Dazu muss jeweils eine obere und untere Schranke festgelegt werden. Datenwerte die oberhalb bzw. Unterhalb dieser Schranken liegen, sind als Ausreißer zu betrachten. Dafür greife ich gerne auf zwei Methoden zurück, die ich Ihnen gerne vorstellen würde.


Willst Du einen Job in Data Science und AI?

Gerade als Quereinsteiger oder kompletter Berufseinsteiger ist es mittlerweile nahezu unmöglich, einen Job im Bereich AI/Data Science zu ergattern.

Mittlerweile gibt es durchschnittlich einhundert Bewerber auf jede Stelle und es kommt mir so vor, als hätte jeder, der sich bewirbt, bereits mehrere Online-Kurse zum Thema Data Science absolviert und ein halbes Dutzend Zertifikate vorzuweisen.

Ohne aus dieser großen Masse an Kandidaten herauszustechen, landet die Bewerbung schnell im virtuellen Mülleimer.

Als Teamleiter im Bereich KI/Data Science habe ich im Laufe der Jahre Bewerbungen von Hunderten von Kandidaten gesehen. Ich weiß, worauf es ankommt.

Ein Quereinsteiger oder Berufseinsteiger ohne nennenswerte Erfahrung hat nur eine Chance, den Job zu bekommen: mit einem umfangreichen Data-Science-Portfolio, das perfekt auf die ausgeschriebene Stelle zugeschnitten ist. Damit überzeugst du die HR und die Entscheidungsträger warum gerade Du der richte Kandidat für die Stelle bist.

Ich unterstütze dich persönlich dabei, ein maßgeschneidertes Data-Science-Projektportfolio zu entwickeln und umzusetzen, das genau auf deine Wunschstelle zugeschnitten ist.

Interesse? Dann, trage unten deinen Namen und Email ein und ich melde mich bei dir mit weiteren Informationen.


2. 1 Berechnung der Standardabweichung

Die erste Methode ist eine rein statistische. 

Die Voraussetzung diese Methode verwendet zu können ist, dass die Datenwerte des Features, die wir untersuchen, normalverteilt sein müssen. Zur Erinnerung: die Verteilung von normalverteilten Daten sieht aus wie eine Gaußsche Glockenkurve. Die Verteilung hat einen Mittelwert mu und die meisten Daten sind um diesen Mittelwert verteilt.

Das kann leicht herausgefunden werden, in dem man ein Histogramm dieser Datenwerte erstellt oder ihre univariate Verteilung plottet. Beide Methoden wurden in den vorherigen Lektionen vorgestellt. Mit etwas Glück sind die Daten von Natur aus normal verteilt. Ein Feature ist außerdem normalverteilt, wenn sie diesen zuvor standardisiert haben. 

Die Gaußsche Verteilung hat die Eigenschaft, dass die Standardabweichung vom Mittelwert verwendet werden kann, um den Prozentsatz der Werte in der Stichprobe zuverlässig zusammenzufassen.

Im nächsten Schritt müssen sie den Mittelwert mu und die Standardabweichung Sigma der Feature Werte berechnen. Ist das getan, wissen wir, dass 68% der Datenwerte in diesem Feature im Bereicher einer Standardabweichung um den Mittelwert verteilt sind.

Normalverteilung
Abb. 2 Normalverteilung.
  • 68% der Werte liegen im Intervall [\mu - \sigma, \mu + \sigma]
  • 95% der Werte liegen im Intervall  [\mu - 2 \sigma, \mu + 2 \sigma]
  • 99.7% der Werte liegen im Intervall [\mu - 3 \sigma, \mu + 3 \sigma]

Datenwerte, die außerhalb des Intervall von drei Standardabweichungen um den Mittelwert liegen können hierbei als Ausreißer Betrachtet werden.


2.2 Identifikation mittels Box-Plots

Darüberhinaus können Ausreißer in den Daten mittels eines Boxplots identifiziert werden. In diesem Fall müssen die Daten nicht normalverteilt sind, sondern der Box-Plot kann für alle numerischen Daten verwendet werden. 

Betrachtet wir dazu den Box-Plot des Features Alter. Wir sehen, dass der Median etwa 45 Jahre beträgt. 25% der Daten liegen im Bereich zwischen 45 und 51 Jahren. Also zwischen dem Median und dem Dritten Quartil

Box-Plot
Abb. 3 Box-Plot
  • Median liegt um 45 Jahre
  • 25% der Daten zwischen 45 und 51 (Zwischen Median und dritten Quartil)
  • 25% der Daten zwischen 38 und 45 (Zwischen ersten Quartil und Median)
  • Oberer Whisker:  Zwischen 51 und 71
  • Unterer Whisker: Zwischen 38 und 18
  • Ausreißer sind oberhalb von 71 Jahren und unterhalb von 51

25 % der Daten liegen im Bereich zwischen dem ersten Quartil und dem Median, also zwischen 38 und 45 Jahren. Der obere und untere Whisker decken jeweils einen Intervall von 18 bis 38 und von 51 bis 71 Jahren.

Alle Daten die oberhalb von 71 Jahren und unterhalb von 18 Jahren liegen, sind als Ausreißer zu betrachten.


3. Datenausreißer behandeln

3.1 Mean / Median / Random Sampling

Wenn wir Grund zur Annahme haben, dass Ausreißer auf mechanische Fehler oder Probleme bei der Messung zurückzuführen sind können die Ausreißer können genau wie fehlende Daten behandeln werden. Und wir können die gleichen Methoden verwenden, um sie loszuwerden. Also durch Entfernung der jeweiligen Datenzeile oder Ersetzung der Wertes durch den Mittelwert oder Median der Feature Spalte, in der der Ausreißer zu finden ist.

Ein Datensatz X mit einem Ausreißer (rot)
Abb. 4 Ein Datensatz X mit einem Ausreißer (rot).

3.2 Top/Bottom/Zero Coding

Top Coding bedeutet, dass wir einen Maximalen Wert festlegen, den eine Feature-Variable annehmen darf. Ein Datenpunkt oberhalb dieses Wertes wird auf diesen Maximalen wert gekappt. Durch die Implementierung des Top-Codings werden also die Ausreißer auf einen bestimmten Maximalwert begrenzt und sehen dann aus wie alle anderen, normalen Werte im Datensatz.

Abb. 5 Top-Coding.

Das analog dazu ist das Bottom-Coding. Hier wird der kleinste Schwellenwert festgelegt. Alle Daten unterhalb des Schwellenwertes, werden durch diesen ersetzt.

Abb. 6 Bottom-Coding.

Wenn der Schwellenwert Null ist, spricht man vom Zero-Coding. Beispielsweise können für Variablen wie „Alter“ oder „Einkommen“ keine negativen Werte angegeben werden. Daher ist es sinnvoll, den niedrigsten Wert auf Null zu begrenzen.

Abb. 7 Zero-Coding.

3.3 Diskretisierung

Bei der Diskretisierung werden stetige Variablen in diskrete Variablen umgewandelt, indem eine Reihe zusammenhängender Intervalle erstellt wird, die den Wertebereich der Variablen abdecken.  Alle Werte innerhalb eines Intervalls bekommen den gleichen diskreten Wert.

Somit unterscheiden sich die Ausreißer nicht mehr von den übrigen Werten an den Enden der Daten-Verteilungen, da sie jetzt mit anderen, normalen Daten in einem Intervall zusammengefasst sind.

Es gibt verschiedene Ansätze, um stetige Variablen in diskrete umzuwandeln. Dieser Vorgang wird auch als Binning bezeichnet, wobei jeder Bin für jedes Intervall steht.

3.3.1 Diskretisierung mit gleicher Frequenz

Die Methode unterteilt die möglichen Werte der Variablen in N Bins, wobei jedes Bin die gleiche Anzahl von Beobachtungen enthält. Dies ist besonders nützlich für verzerrte Variablen, da die Beobachtungen gleichmäßig auf die verschiedenen Klassen verteilt werden. Typischerweise finden wir die Intervallgrenzen durch Bestimmen der Quantile. Dies würde zu einem minimalem Informationsverlust und zu besseren Ergebnissen führen.

3.3.2 Diskretisierung mit gleicher Breite

Diskretisierung mit gleicher Breite unterteilt den Bereich möglicher Werte in N Bins mit derselben Breite. Die Breite der Bins wird durch den Wertebereich in der Variablen und die Anzahl der Bins bestimmt, die zum Teilen der Variablen verwendet werden sollen. Die Breite der Bins kann wie folgt ermittelt werden:

Breite
Abb. 8 Breite der Bins bei der „Diskretisierung mit gleicher Breite“.

Wenn zum Beispiel die Werte der Variablen zwischen 0 und 100 variieren, können wir das Intervall in 5 Bins mit folgender Breite einteilen:

Breite2

Die erste und die letzte Klasse (0 –20 und 80 –100) können erweitert werden um Ausreißer aufzunehmen (d.h. Werte unter 0 oder höher als 100 würden ebenfalls in diese Bins eingeteilt werden).

Es gibt keine Faustregel, um die Anzahl der Bins N zu definieren. Dies hängt vom Anwendungsfall ab.


Willst Du einen Job in Data Science und AI?

Gerade als Quereinsteiger oder kompletter Berufseinsteiger ist es mittlerweile nahezu unmöglich, einen Job im Bereich AI/Data Science zu ergattern.

Mittlerweile gibt es durchschnittlich einhundert Bewerber auf jede Stelle und es kommt mir so vor, als hätte jeder, der sich bewirbt, bereits mehrere Online-Kurse zum Thema Data Science absolviert und ein halbes Dutzend Zertifikate vorzuweisen.

Ohne aus dieser großen Masse an Kandidaten herauszustechen, landet die Bewerbung schnell im virtuellen Mülleimer.

Als Teamleiter im Bereich KI/Data Science habe ich im Laufe der Jahre Bewerbungen von Hunderten von Kandidaten gesehen. Ich weiß, worauf es ankommt.

Ein Quereinsteiger oder Berufseinsteiger ohne nennenswerte Erfahrung hat nur eine Chance, den Job zu bekommen: mit einem umfangreichen Data-Science-Portfolio, das perfekt auf die ausgeschriebene Stelle zugeschnitten ist. Damit überzeugst du die HR und die Entscheidungsträger warum gerade Du der richte Kandidat für die Stelle bist.

Ich unterstütze dich persönlich dabei, ein maßgeschneidertes Data-Science-Projektportfolio zu entwickeln und umzusetzen, das genau auf deine Wunschstelle zugeschnitten ist.

Interesse? Dann, trage unten deinen Namen und Email ein und ich melde mich bei dir mit weiteren Informationen.


One Comment

  1. M. Müller

    Eine sehr schöne Seite – vielen Dank für die Mühe.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert