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.