# Einführung
Habe schon einmal welche gefunden seltsam Datenpunkte in Ihrem Datensatz, während Sie ihn erkunden? Eine oder mehrere, die sich übermäßig von der überwiegenden Mehrheit der Beobachtungen unterscheiden und dadurch Ihre Mittelwerte drastisch verzerren und die Varianzen vergrößern? Ich warfare auch dort. Diese Punkte sind Ausreißer. Ihre Auswirkungen beschränken sich nicht nur auf die Änderung von Datenstatistiken: Ausreißer können leicht die Leistung aller von Ihnen erstellten prädiktiven Analysemodelle beeinträchtigen. Daher ist ihre robuste Erkennung und Handhabung bei jedem Datenprojekt von entscheidender Bedeutung. In diesem Artikel werden fünf wesentliche Ansätze zu ihrer Erkennung aufgelistet und verglichen, zusammen mit einem kurzen Python-Beispiel für jeden.
# 1. Die Z-Rating-Methode
Die Z-Rating-Berechnung ist eine einfache Methode, die am besten für normalverteilte Datenvariablen funktioniert. Es misst, um wie viele Standardabweichungen jeder Punkt vom Mittelwert abweicht. Im Wesentlichen wird ein Datenpunkt, dessen Z-Rating 3 oder höher (oder -3 oder niedriger) beträgt, als Ausreißer gekennzeichnet: Das bedeutet, dass zwischen diesem Punkt und dem Mittelwert ein Abstand von mehr als drei Standardabweichungen besteht. Trotz seiner Einfachheit hat es den Nachteil, dass Mittelwerte und Standardabweichungen von Natur aus sehr empfindlich auf Extremwerte reagieren.
import numpy as np
from scipy import stats
information = np.array((10, 12, 11, 13, 12, 11, 10, 12, 11, 13, 250))
z_scores = np.abs(stats.zscore(information))
outliers = information(z_scores > 3)
print(outliers)
Ausgabe:
# 2. Die Interquartilbereichsmethode (IQR).
Sind Ihre Datenvariablen nicht normalverteilt? Dann ist der IQR eine bessere und robustere Wette als Z-Rating-Berechnungen. Diese Methode verwendet Perzentile, insbesondere durch die Bestimmung der Spanne zwischen dem ersten Quartil (Q1, 25. Perzentil) und dem dritten Quartil (Q3, 75. Perzentil). Grenzpunkte, die das 1,5-fache des IQR unter Q1 und über Q3 liegen, werden wie unten gezeigt berechnet und fungieren als „Zaun“. Mit anderen Worten: Jeder Punkt, der auf beiden Seiten außerhalb dieser beiden Grenzen liegt, wird als Ausreißer gekennzeichnet. Die gute Nachricht: Die Robustheit des IQR beruht auf der Tatsache, dass Extremwerte Quartile nicht so verändern, wie sie Mittelwerte und Standardabweichungen verändern.
import numpy as np
information = np.array((10, 12, 11, 13, 12, 11, 10, 12, 11, 13, 250))
q1, q3 = np.percentile(information, (25, 75))
iqr = q3 - q1
lower_fence = q1 - 1.5 * iqr
upper_fence = q3 + 1.5 * iqr
outliers = information((information < lower_fence) | (information > upper_fence))
print(outliers)
Ausgabe:
# 3. Isolationswälder
Bei der Verarbeitung komplexer Datensätze mit hoher Dimensionalität sind herkömmliche Methoden wie Z-Scores und IQR nicht mehr effektiv. Betreten Sie Isolation Forests, eine Technik des maschinellen Lernens, die lernt, Anomalien aus „normalen“ Daten zu isolieren. Die Idee ähnelt der klassischer Entscheidungsbäume zur Klassifizierung und Regression: Ausreißer sind seltene Datenpunkte, daher ist es viel einfacher, sie durch Baumpartitionen zu isolieren. Wenn additionally ein Punkt durch den Baumalgorithmus sehr leicht von anderen getrennt werden kann, ist die Wahrscheinlichkeit groß, dass es sich um einen Ausreißer handelt.
import numpy as np
from sklearn.ensemble import IsolationForest
information = np.array((10, 12, 11, 13, 12, 11, 10, 12, 11, 13, 250)).reshape(-1, 1)
mannequin = IsolationForest(contamination=0.1, random_state=42)
predictions = mannequin.fit_predict(information)
outliers = information(predictions == -1)
print(outliers)
Ausgabe:
# 4. Mediane absolute Abweichung (MAD)
Dabei handelt es sich sozusagen um eine wesentlich robustere Model des Z-Scores: MAD berechnet aus dem Median – immun gegen Extremwerte – und absoluten Abweichungen davon einen erweiterten „Z-Rating“. Beachten Sie jedoch, dass die Methode zwar auf nicht normale Variablen angewendet werden kann, normalerweise jedoch auf eindimensionale Daten angewendet wird, es sich additionally um eine univariate Technik handelt.
import numpy as np
from scipy.stats import median_abs_deviation
information = np.array((10, 12, 11, 13, 12, 11, 10, 12, 11, 13, 250))
mad = median_abs_deviation(information, scale="regular")
median = np.median(information)
modified_z_scores = np.abs(information - median) / mad
outliers = information(modified_z_scores > 3)
print(outliers)
Ausgabe:
# 5. Dichtebasiertes Clustering: DBSCAN
Dies ist ein hervorragender Ansatz zur Identifizierung von Ausreißern in räumlichen Daten oder Datensätzen mit komplexen Gruppierungen. Der DBSCAN Der Algorithmus bildet Gruppen um Punkte, die in Gebieten mit hoher Dichte nahe beieinander liegen. Bei der Anwendung werden Datenpunkte, die in Bereichen mit geringerer Dichte isoliert sind, automatisch als Rauschen, additionally als Ausreißer, identifiziert. Genau wie Methode Nummer 3 (Isolationswälder) handelt es sich hierbei um eine multivariate Technik, die die Auswertung mehrdimensionaler Datenpunkte im Ausreißererkennungsprozess ermöglicht.
import numpy as np
from sklearn.cluster import DBSCAN
information = np.array((10, 12, 11, 13, 12, 11, 10, 12, 11, 13, 250)).reshape(-1, 1)
mannequin = DBSCAN(eps=5, min_samples=2)
labels = mannequin.fit_predict(information)
outliers = information(labels == -1)
print(outliers)
Ausgabe:
# Zusammenfassung
Bei der Auswahl der richtigen Methode zur Erkennung von Ausreißern kommt es auf das Verständnis Ihrer Daten an. Der Z-Rating und der IQR sind schnelle und einfache Optionen für univariate Daten, wobei der IQR die sicherere Wahl ist, wenn Ihre Variablen nicht normalverteilt sind. MAD bietet eine robustere univariate Various für Fälle, in denen excessive Werte andernfalls das Ergebnis verzerren könnten. Wenn Ihre Daten mehrere Dimensionen oder eine komplexe Struktur aufweisen, erweitern Isolationswälder und DBSCAN die Erkennung von Ausreißern über einfache statistische Schwellenwerte hinaus und erfassen Beziehungen, die mit den einfacheren Methoden völlig übersehen werden. Es gibt keinen einzigen besten Ansatz, sondern nur den, der am besten zur Type und zum Umfang Ihrer Daten passt.
Iván Palomares Carrascosa ist ein führender Autor, Redner und Berater in den Bereichen KI, maschinelles Lernen, Deep Studying und LLMs. Er schult und leitet andere darin, KI in der realen Welt zu nutzen.
