outliers()-Methode

Identifiziert statistische Ausreißer in einer numerischen Spalte. Ausreißer können für die gesamte Spalte identifiziert werden oder für unterschiedliche Gruppen, basierend auf identischen Werten in einer oder mehreren Schlüsselspalten.

Syntax

datenrahmen_name.outliers(keys = ["schluesselspalte", "...n"]|None, on = "numerische_spalte", distance = anzahl_stdabweich, method = mean|median)

Parameter

Name Beschreibung
keys = ["schluesselspalte", "...n"] | None
  • schluesselspalte eine Schlüsselspalte oder mehrere Schlüsselspalten, die zur Gruppierung der Daten im Datenrahmen verwendet werden

    Für jede Gruppe wird eine Standardabweichung der numerischen Werte der Gruppe in numerische_spalte berechnet. Die Standardabweichung der Gruppe ist die Basis für die Identifizierung von Ausreißern innerhalb der Gruppe.

    Wenn Sie mit mehr als einer Spalte gruppieren, erstellen Sie verschachtelte Gruppen. Die Reihenfolge, in der Sie die Spalten angeben, bestimmt die Reihenfolge der Verschachtelung.

    Schlüsselspalten sind ganz links im Ausgabedatenrahmen positioniert.

    Hinweis

    Die outliers()-Methode sortiert automatisch den Datenrahmen nach den Schlüsselspalten, bevor Ausreißer identifiziert werden.

  • None Die Daten werden nicht gruppiert und Ausreißer werden für numerische_spalte insgesamt

    identifiziert. Für numerische_spalte insgesamt wird eine Standardabweichung berechnet. Die Standardabweichung der Spalte ist die Basis für die Identifizierung von Ausreißern innerhalb der Spalte.

on = "numerische_spalte"

Die auf Ausreißer zu untersuchende numerische Spalte. Sie können jeweils nur eine Spalte gleichzeitig untersuchen.

Ausreißer sind Werte, die außerhalb der oberen und unteren, durch die Standardabweichung der Gruppe oder der Spalte bestimmten Begrenzungen liegen oder über einem festgelegten Vielfachen der Standardabweichung.

distance = anzahl_stdabweich

Die Anzahl der Standardabweichungen von numerische_spalte, um welche die obere und obere Begrenzung vom Mittelwert oder dem Median entfernt sind. Sie können beliebige positive ganze Zahlen oder Dezimalzahlen angeben (0,5; 1; 1,5; 2; ...)

Die Formel zur Erstellung von Ausreißerbegrenzungen lautet:

Mittelwert/Median ± (anzahl_stdabweich * Standardabweichung)

Hinweis

Die Standardabweichung ist eine Maßzahl für die Streuung eines Datasets, also wie stark die Werte voneinander abweichen. Zur Berechnung von Ausreißern wird die Standardabweichung der Grundgesamtheit verwendet.

Beispiel für Ausreißerbegrenzungen

distance = 2

Legt für jede numerische_spalte insgesamt oder für jede Schlüsselspaltengruppe Folgendes fest:

  • eine obere Ausreißerbegrenzung, die zwei Standardabweichungen über dem Mittelwert oder dem Median liegt

    Mittelwert/Median + (2 * Standardabweichung)

  • eine untere Ausreißerbegrenzung, die zwei Standardabweichungen unter dem Mittelwert oder dem Median liegt

    Mittelwert/Median – (2 * Standardabweichung)

Ein Wert, der über der oberen Begrenzung oder unter der unteren Begrenzung liegt, wird als Ausreißer in die Ausgabeergebnisse aufgenommen.

Hinweis

Wenn Sie für dieselbe Wertemenge den Wert in anzahl_stdabweich erhöhen, verringern Sie potenziell die Anzahl der zurückgegebenen Ausreißer.

method = mean | median

Optional

Die Methode zur Berechnung des Mittelpunkts der Werte in numerische_spalte (der Ausreißerspalte).

  • mean den Mittelwert (Durchschnitt) der Werte berechnen
  • median den Median der Werte berechnen

Die Berechnung des Mittelpunkts erfolgt entweder für

  • die numerischen Werte jeder Schlüsselspaltengruppe
  • die gesamte numerische Spalte

Später wird der Mittelpunkt verwendet, um die Standardabweichung jeder Gruppe oder der numerischen Spalte insgesamt zu berechnen.

Wenn method weggelassen wird, wird der Standardwert „mean“ verwendet.

Tipp

Wenn die Daten, die Sie auf Ausreißer untersuchen, stark verzerrt sind, könnte der Median zu Ergebnissen führen, welche die Masse der Daten besser repräsentieren.

Gibt zurück

HCL-Datenrahmen zurück.

Beispiele

Ungewöhnliche Transaktionsbeträge Identifizieren

Sie möchten ungewöhnliche Transaktionsbeträge in einem gesamten Datenrahmen mit Forderungen identifizieren.

Sie entscheiden sich, die Ausreißerbegrenzungen auf die dreifache Standardabweichung der Spalte Amount festzulegen. Der Test gibt 16 Ausreißer im Datenrahmen aus 772 Zeilen zurück.

outliers_ar = accounts_receivable.outliers(keys = None, on = "Amount", distance = 3, method = "mean")

Sie wiederholen den Test, erhöhen den Faktor der Standardabweichung aber auf 3,5. Der Test gibt nun nur noch sechs Ausreißer zurück, weil die Ausreißerbegrenzungen weiter vom Mittelpunkt der Werte des Felds Amount entfernt sind.

outliers_ar = accounts_receivable.outliers(keys = None, on = "Amount", distance = 3.5, method = "mean")

Ungewöhnliche Transaktionsbeträge für jeden Kunden identifizieren

Sie möchten ungewöhnliche Transaktionsbeträge für jeden Kunden im Datenrahmen mit Forderungen identifizieren.

Sie entscheiden sich, die Ausreißerbegrenzungen auf die dreifache Standardabweichung der Transaktionsgruppe jedes Kunden festzulegen.

outliers_customer_ar = accounts_receivable.outliers(keys = ["CustNum"], on = "Amount", distance = 3, method = "mean")

Der Test gibt 7 Ausreißer zurück. Der Mittelwert und die Standardabweichung werden für die Transaktionsgruppe jedes Kunden gemeldet:

group no CustNum Amount mean stdev distance
0 65003 4.954,64 833,83 1015,58 3
1 262001 3.567,34 438,81 772,44 3
1 262001 (2.044,82) 438,81 772,44 3
2 376005 (931,55) 484,57 411,18 3
3 501657 5.549,19 441,14 1332,80 3
4 811002 3.409,82 672,10 634,20 3
5 925007 3.393,87 906,16 736,48 3

Wie Ausreißer für Kunde 262001 identifiziert werden

Kunde 262001 weist im Datenrahmen mit Forderungen 101 Transaktionen auf. Zwei davon werden als Ausreißer gemeldet, weil sie die Ausreißerbegrenzungen dieses Kunden überschreiten:

Ausreißer Untere Begrenzung Obere Begrenzung Ausreißer
(2.044,82) (1.878,51) 2.756,13 3.567,34

Wie Ausreißerbegrenzungen für Kunde 262001 berechnet werden

Die Ausreißerbegrenzungen sind der Mittelwert aller Transaktionen des Kunden 262001 plus oder minus das angegebene Vielfache der Standardabweichung der Transaktionen:

Mittelwert aller Transaktionen des Kunden 262001 438,81
Festgelegtes Vielfaches der Standardabweichung 3
Standardabweichung der Transaktionen 772,44

438,81 ± (3 * 772,44)

= 438,81 ± 2.317,32

= (1,878.51) (untere Begrenzung)

= 2.756,13 (obere Begrenzung)

Ungewöhnliche Transaktionsbeträge für jeden Kunden mit der median-Methode identifizieren

Sie verwenden nun den Median statt den Mittelwert, um denselben Ausreißertest wie im obigen Beispiel durchzuführen.

outliers_customer_ar_median = accounts_receivable.outliers(keys = ["CustNum"], on = "Amount", distance = 3, method = "median")

Der Test gibt 10 Ausreißer zurück statt der im vorigen Test gemeldeten 7 Ausreißer. Je nach Beschaffenheit der Daten können Median und Mittelwert verschiedene Ergebnisse ausgeben:

group no CustNum Amount Median stdev distance
0 65003 4.954,64 663,68 1015,58 3
1 262001 3.567,34 450,67 772,44 3
1 262001 (2.044,82) 450,67 772,44 3
2 376005 (931,55) 517,16 411,18 3
3 501657 4.426,14 146,80 1332,80 3
3 501657 5.549,19 146,80 1332,80 3
4 811002 3.409,82 624,53 634,20 3
5 925007 2.972,78 717,88 736,48 3
5 925007 3.030,71 717,88 736,48 3
5 925007 3.393,87 717,88 736,48 3

Wie Ausreißerbegrenzungen für jeden Kunden berechnet werden

Die Ausreißerbegrenzungen sind der Median aller Transaktionen des Kunden plus oder minus das angegebene Vielfache der Standardabweichung der Transaktionen.

Zum Beispiel bei Kunde 262001: 450.67 ± (3 * 772.44)

Bemerkungen

Alle Spalten des Eingabedatenrahmens werden automatisch in den Ausgabedatenrahmen aufgenommen. Nicht direkt in die Ausreißerberechnung einbezogene Spalten sind im Ausgabedatenrahmen ganz rechts positioniert.