Hoe grubbs 'tester in python uit te voeren


De Grubbs-test wordt gebruikt om de aanwezigheid van uitbijters in een dataset te identificeren. Om deze test te kunnen gebruiken, moet een dataset ongeveer normaal verdeeld zijn en minimaal zeven waarnemingen bevatten.

In deze tutorial wordt uitgelegd hoe u de Grubbs-test in Python uitvoert.

Grubbs-test in Python

Om de Grubbs-test in Python uit te voeren, kunnen we de functie smirnov_grubbs() uit het pakket outlier_utils gebruiken, die de volgende syntaxis gebruikt:

smirnov_grubbs.test (gegevens, alfa = 0,05)

Goud:

  • data: een numerieke vector van datawaarden
  • alpha: Het significantieniveau dat voor de test moet worden gebruikt. De standaardwaarde is 0,05

Om deze functie te gebruiken, moet u eerst het outlier_utils- pakket installeren:

 pip install outlier_utils

Zodra dit pakket is geïnstalleerd, kunt u de Grubbs-test uitvoeren. De volgende voorbeelden illustreren hoe u dit kunt doen.

Voorbeeld 1: Tweestaartige Grubbs-test

De volgende code illustreert hoe u een tweezijdige Grubbs-test uitvoert, waarmee uitschieters aan beide uiteinden van de gegevensset worden gedetecteerd.

 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])

Deze functie retourneert eenvoudigweg een array zonder de uitbijters. In dit geval was de maximale waarde van 40 een uitschieter en daarom verwijderd.

Voorbeeld 2: Eenzijdige Grubbs-test

De volgende code laat zien hoe u een eenzijdige Grubbs-test uitvoert voor de minimumwaarde en maximumwaarde in een gegevensset:

 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])

De minimale uitbijtertest heeft de minimumwaarde niet als uitbijter gedetecteerd. De maximale uitschietertest stelde echter vast dat de maximale waarde van 40 een uitschieter was en werd daarom verwijderd.

Voorbeeld 3: Extraheer de index van de uitbijter

De volgende code laat zien hoe u de index van de uitbijter kunt extraheren:

 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]

Dit vertelt ons dat er een uitbijter is op indexpositie 16 van de tabel.

Voorbeeld 4: Haal de waarde uit de uitbijter

De volgende code laat zien hoe u de waarde uit de uitbijter kunt extraheren:

 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]

Dit vertelt ons dat er een uitbijter is met een waarde van 40.

Hoe om te gaan met uitschieters

Als de Grubbs-test een uitbijter in uw dataset identificeert, heeft u verschillende opties:

1. Controleer nogmaals of de waarde geen typefout of gegevensinvoerfout is. Soms zijn waarden die als uitschieters in datasets verschijnen eenvoudigweg typefouten die door een individu zijn gemaakt tijdens het invoeren van gegevens. Controleer eerst of de waarde correct is ingevoerd voordat u verdere beslissingen neemt.

2. Wijs een nieuwe waarde toe aan de uitbijter . Als de uitbijter het gevolg blijkt te zijn van een typfout of een fout bij het invoeren van gegevens, kunt u besluiten er een nieuwe waarde aan toe te kennen, zoals het gemiddelde of de mediaan van de dataset.

3. Verwijder de uitbijter. Als de waarde echt een uitbijter is, kunt u ervoor kiezen deze te verwijderen als deze een aanzienlijke impact heeft op uw analyse.

Einen Kommentar hinzufügen

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