So führen Sie den Grubbs-Test in Python durch

Von Fabian
Kategorie: Python
Lesezeit: 4 Minuten

Der Grubbs-Test wird verwendet, um das Vorhandensein von Ausreißern in einem Datensatz zu identifizieren. Um diesen Test verwenden zu können, sollte ein Datensatz ungefähr normal verteilt sein und mindestens 7 Beobachtungen enthalten.

In diesem Tutorial wird erklärt, wie Sie den Grubbs-Test in Python durchführen.

Grubbs-Test in Python

Um den Grubbs-Test in Python durchzuführen, können wir die Funktion smirnov_grubbs() aus dem Paket outlier_utils verwenden, die die folgende Syntax verwendet:

smirnov_grubbs.test (data, alpha = 0,05)

wo:

  • data: Ein numerischer Vektor von Datenwerten
  • alpha: Das für den Test zu verwendende Signifikanzniveau. Die Standardeinstellung ist .05

Um diese Funktion nutzen zu können, müssen Sie zuerst das Paket outlier_utils installieren:

pip install outlier_utils

Sobald dieses Paket installiert ist, können Sie den Grubbs-Test durchführen. Die folgenden Beispiele veranschaulichen, wie das geht.

Beispiel 1: Zweiseitiger Grubbs-Test

Der folgende Code zeigt, wie ein zweiseitiger Grubbs-Test durchgeführt wird, bei dem Ausreißer an beiden Enden des Datensatzes erkannt werden.

import numpy as np
from outliers import smirnov_grubbs as grubbs

# Daten definieren
data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40])

# Grubbs 'Test durchführen
grubbs.test(data, alpha=.05)

array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22,  8, 21, 28, 11,  9, 29])

Diese Funktion gibt einfach ein Array mit entfernten Ausreißern zurück. In diesem Fall war der Maximalwert von 40 ein Ausreißer, daher wurde er entfernt.

Beispiel 2: Einseitiger Grubbs-Test

Der folgende Code zeigt, wie ein einseitiger Grubbs-Test sowohl für den Minimalwert als auch für den Maximalwert in einem Datensatz durchgeführt wird:

import numpy as np
from outliers import smirnov_grubbs as grubbs

# Daten definieren
data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40])

# Führen Sie den Grubbs-Test durch, um festzustellen, ob der Mindestwert ein Ausreißer ist
grubbs.min_test(data, alpha=.05)

array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22,  8, 21, 28, 11,  9, 29, 40])

# Führen Sie den Grubbs-Test durch, um festzustellen, ob der Mindestwert ein Ausreißer ist
grubbs.max_test(data, alpha=.05)

array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29])

Der Mindestausreißertest hat den Mindestwert als Ausreißer nicht ermittelt. Der maximale Ausreißertest ergab jedoch, dass der Maximalwert von 40 ein Ausreißer war, sodass er entfernt wurde.

Beispiel 3: Extrahieren Sie den Index des Ausreißers

Der folgende Code veranschaulicht das Extrahieren des Index des Ausreißerwerts:

import numpy as np
from outliers import smirnov_grubbs as grubbs

# Daten definieren
data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40])

# Grubbs 'Test durchführen und den Index (falls vorhanden) des Ausreißers identifizieren
grubbs.max_test_indices(data, alpha=.05)

[16]

Dies sagt uns, dass sich an der Indexposition 16 des Arrays ein Ausreißer befindet.

Beispiel 4: Extrahieren Sie den Wert des Ausreißers

Der folgende Code veranschaulicht, wie der Wert des Ausreißers extrahiert wird:

import numpy as np
from outliers import smirnov_grubbs as grubbs

# Daten definieren
data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40])

# Führen Sie den Grubbs-Test durch und identifizieren Sie den tatsächlichen Wert (falls vorhanden) des Ausreißers
grubbs.max_test_outliers(data, alpha=.05)

[40]

Dies sagt uns, dass es einen Ausreißer mit einem Wert von 40 gibt.

Umgang mit Ausreißern

Wenn Grubbs 'Test einen Ausreißer in Ihrem Datensatz identifiziert, haben Sie einige Optionen:

1. Stellen Sie sicher, dass der Wert kein Tippfehler oder Dateneingabefehler ist. Manchmal sind Werte, die in Datensätzen als Ausreißer angezeigt werden, einfach Tippfehler, die von einer Person bei der Eingabe der Daten gemacht wurden. Stellen Sie zunächst sicher, dass der Wert korrekt eingegeben wurde, bevor Sie weitere Entscheidungen treffen.

2. Weisen Sie dem Ausreißer einen neuen Wert zu. Wenn sich herausstellt, dass der Ausreißer auf einen Tippfehler oder einen Dateneingabefehler zurückzuführen ist, können Sie ihm einen neuen Wert zuweisen, z. B. den Mittelwert oder den Median des Datensatzes.

3. Entfernen Sie den Ausreißer. Wenn es sich bei dem Wert um einen echten Ausreißer handelt, können Sie ihn entfernen, wenn dies erhebliche Auswirkungen auf Ihre Analyse hat.

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: