So führen sie grubbs' tester in python aus
Der Grubbs-Test wird verwendet, um das Vorhandensein von Ausreißern in einem Datensatz zu identifizieren. Um diesen Test verwenden zu können, muss ein Datensatz annähernd normalverteilt 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 outlier_utils- Paket verwenden, die die folgende Syntax verwendet:
smirnov_grubbs.test (Daten, Alpha = 0,05)
Gold:
- Daten: ein numerischer Vektor von Datenwerten
- Alpha: Das für den Test zu verwendende Signifikanzniveau. Der Standardwert ist 0,05
Um diese Funktion nutzen zu können, müssen Sie zunächst das outlier_utils- Paket 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 veranschaulicht, wie ein zweiseitiger Grubbs-Test durchgeführt wird, der Ausreißer an beiden Enden des Datensatzes erkennt.
import numpy as np from outliers import smirnov_grubbs as grubbs #define data data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40]) #perform Grubbs' test 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 ohne Ausreißer zurück. In diesem Fall war der Maximalwert von 40 ein Ausreißer und wurde daher entfernt.
Beispiel 2: Einseitiger Grubbs-Test
Der folgende Code zeigt, wie ein einseitiger Grubbs-Test für den Minimalwert und den Maximalwert in einem Datensatz durchgeführt wird:
import numpy as np from outliers import smirnov_grubbs as grubbs #define data data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40]) #perform Grubbs' test to see if minimum value is an outlier grubbs. min_test (data, alpha=.05) array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40]) #perform Grubbs' test to see if minimum value is an outlier grubbs. max_test (data, alpha=.05) array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29])
Beim Test auf minimale Ausreißer wurde der minimale Wert nicht als Ausreißer erkannt. Der maximale Ausreißertest ergab jedoch, dass der Maximalwert von 40 ein Ausreißer war und wurde daher entfernt.
Beispiel 3: Extrahieren Sie den Index des Ausreißers
Der folgende Code zeigt, wie der Index des Ausreißers extrahiert wird:
import numpy as np from outliers import smirnov_grubbs as grubbs #define data data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40]) #perform Grubbs' test and identify index (if any) of the outlier grubbs. max_test_indices (data, alpha=.05) [16]
Dies sagt uns, dass es an Indexposition 16 der Tabelle einen Ausreißer gibt.
Beispiel 4: Extrahieren Sie den Wert aus dem Ausreißer
Der folgende Code zeigt, wie der Wert aus dem Ausreißer extrahiert wird:
import numpy as np from outliers import smirnov_grubbs as grubbs #define data data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40]) #perform Grubbs' test and identify the actual value (if any) of the outlier grubbs. max_test_outliers (data, alpha=.05) [40]
Dies sagt uns, dass es einen Ausreißer mit einem Wert von 40 gibt.
Wie man mit Ausreißern umgeht
Wenn der Grubbs-Test einen Ausreißer in Ihrem Datensatz identifiziert, haben Sie mehrere Möglichkeiten:
1. Überprüfen Sie noch einmal, dass es sich bei dem Wert nicht um einen Tipp- oder Dateneingabefehler handelt. Manchmal handelt es sich bei Werten, die in Datensätzen als Ausreißer auftauchen, einfach um Tippfehler, die einer Person bei der Dateneingabe unterlaufen sind. Überprüfen Sie zunächst, ob 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 Tipp- oder Dateneingabefehler zurückzuführen ist, können Sie ihm einen neuen Wert zuweisen, beispielsweise den Mittelwert oder Median des Datensatzes.
3. Entfernen Sie den Ausreißer. Wenn der Wert wirklich ein Ausreißer ist, können Sie ihn entfernen, wenn er erhebliche Auswirkungen auf Ihre Analyse hat.