Come eseguire il tester di grubbs in python


Il test di Grubbs viene utilizzato per identificare la presenza di valori anomali in un set di dati. Per utilizzare questo test, un set di dati deve essere distribuito approssimativamente normalmente e contenere almeno 7 osservazioni.

Questo tutorial spiega come eseguire il test di Grubbs in Python.

Test di Grubbs in Python

Per eseguire il test di Grubbs in Python, possiamo utilizzare la funzione smirnov_grubbs() dal pacchetto outlier_utils , che utilizza la seguente sintassi:

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

Oro:

  • dati: un vettore numerico di valori di dati
  • alfa: il livello di significatività da utilizzare per il test. Il valore predefinito è 0,05

Per utilizzare questa funzionalità, devi prima installare il pacchetto outlier_utils :

 pip install outlier_utils

Una volta installato questo pacchetto, puoi eseguire il test di Grubbs. Gli esempi seguenti illustrano come eseguire questa operazione.

Esempio 1: test di Grubbs a due code

Il codice seguente illustra come eseguire un test di Grubbs a due code, che rileverà valori anomali su entrambe le estremità del set di dati.

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

Questa funzione restituisce semplicemente un array senza valori anomali. In questo caso il valore massimo pari a 40 era un valore anomalo ed è stato pertanto rimosso.

Esempio 2: test di Grubbs unilaterale

Il codice seguente mostra come eseguire un test di Grubbs unilaterale per il valore minimo e massimo in un set di dati:

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

Il test del valore anomalo minimo non ha rilevato il valore minimo come valore anomalo. Tuttavia, il test del valore anomalo massimo ha determinato che il valore massimo di 40 era un valore anomalo ed è stato pertanto rimosso.

Esempio 3: estrarre l’indice del valore anomalo

Il codice seguente mostra come estrarre l’indice del valore anomalo:

 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]

Questo ci dice che c’è un valore anomalo nella posizione dell’indice 16 della tabella.

Esempio 4: estrarre il valore dal valore anomalo

Il codice seguente mostra come estrarre il valore dal valore anomalo:

 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]

Questo ci dice che esiste un valore anomalo con un valore pari a 40.

Come gestire i valori anomali

Se il test di Grubbs identifica un valore anomalo nel set di dati, hai diverse opzioni:

1. Ricontrolla che il valore non sia un errore di battitura o di immissione dei dati. A volte i valori che appaiono come valori anomali nei set di dati sono semplicemente errori di battitura effettuati da un individuo durante l’immissione dei dati. Innanzitutto, verifica che il valore sia stato inserito correttamente prima di prendere ulteriori decisioni.

2. Assegnare un nuovo valore al valore anomalo . Se il valore anomalo risulta essere il risultato di un errore di battitura o di immissione dei dati, puoi decidere di assegnargli un nuovo valore, come la media o la mediana del set di dati.

3. Rimuovere il valore anomalo. Se il valore è davvero un valore anomalo, puoi scegliere di rimuoverlo se avrà un impatto significativo sulla tua analisi.

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *