Jak uruchomić tester grubbsa w pythonie


Test Grubbsa służy do wykrywania obecności wartości odstających w zbiorze danych. Aby skorzystać z tego testu, zbiór danych musi mieć w przybliżeniu rozkład normalny i zawierać co najmniej 7 obserwacji.

W tym samouczku wyjaśniono, jak wykonać test Grubbsa w Pythonie.

Test Grubbsa w Pythonie

Aby wykonać test Grubbsa w Pythonie, możemy skorzystać z funkcji smirnov_grubbs() z pakietu outlier_utils , która wykorzystuje następującą składnię:

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

Złoto:

  • dane: wektor liczbowy wartości danych
  • alfa: Poziom istotności stosowany w teście. Wartość domyślna to 0,05

Aby skorzystać z tej funkcji, musisz najpierw zainstalować pakiet outlier_utils :

 pip install outlier_utils

Po zainstalowaniu tego pakietu możesz wykonać test Grubbsa. Poniższe przykłady ilustrują, jak to zrobić.

Przykład 1: Dwustronny test Grubbsa

Poniższy kod ilustruje sposób przeprowadzenia dwustronnego testu Grubbsa, który wykryje wartości odstające na obu końcach zbioru danych.

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

Ta funkcja po prostu zwraca tablicę bez wartości odstających. W tym przypadku maksymalna wartość 40 była wartością odstającą i dlatego została usunięta.

Przykład 2: Jednostronny test Grubbsa

Poniższy kod ilustruje sposób przeprowadzenia jednostronnego testu Grubbsa dla wartości minimalnej i maksymalnej w zestawie danych:

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

Test minimalnej wartości odstającej nie wykrył wartości minimalnej jako wartości odstającej. Jednakże test maksymalnej wartości odstającej wykazał, że maksymalna wartość wynosząca 40 była wartością odstającą i dlatego została usunięta.

Przykład 3: Wyodrębnij indeks wartości odstającej

Poniższy kod ilustruje sposób wyodrębnienia indeksu wartości odstającej:

 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]

To mówi nam, że na pozycji indeksu 16 w tabeli znajduje się wartość odstająca.

Przykład 4: Wyodrębnij wartość z wartości odstającej

Poniższy kod ilustruje sposób wyodrębnienia wartości z wartości odstającej:

 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]

To mówi nam, że istnieje wartość odstająca o wartości 40.

Jak postępować z wartościami odstającymi

Jeśli test Grubbsa wykryje w Twoim zbiorze danych wartość odstającą, masz kilka możliwości:

1. Sprawdź dokładnie, czy podana wartość nie jest literówką lub błędem przy wprowadzaniu danych. Czasami wartości pojawiające się w zbiorach danych jako wartości odstające są po prostu literówkami popełnionymi przez osobę podczas wprowadzania danych. Przed podjęciem dalszych decyzji sprawdź najpierw, czy wartość została wprowadzona poprawnie.

2. Przypisz nową wartość wartości odstającej . Jeśli okaże się, że wartość odstająca wynika z literówki lub błędu przy wprowadzaniu danych, możesz zdecydować się na przypisanie jej nowej wartości, takiej jak średnia lub mediana zbioru danych.

3. Usuń wartość odstającą. Jeśli wartość rzeczywiście odbiega od normy, możesz ją usunąć, jeśli będzie miała znaczący wpływ na Twoją analizę.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *