Come eseguire il tester di grubbs in r


Il test di Grubbs è un test statistico che può essere utilizzato per identificare la presenza di valori anomali in un set di dati.

Per utilizzare questo test, un set di dati deve avere una distribuzione approssimativamente normale e contenere almeno 7 osservazioni.

Questo tutorial spiega come eseguire il test di Grubbs in R per rilevare valori anomali in un set di dati.

Esempio: test di Grubbs in R

Per eseguire il test di Grubbs in R, possiamo utilizzare la funzione grubbs.test() del pacchetto Outliers , che utilizza la seguente sintassi:

grubbs.test(x, tipo = 10, opposto = FALSO, doppia faccia = FALSO)

Oro:

  • x: un vettore numerico di valori di dati
  • tipo: 10 = test se il valore massimo è un valore anomalo, 11 = test se i valori minimo e massimo sono valori anomali, 20 = test se ci sono due valori anomali su una coda
  • opposto: logica che indica se si vuole controllare non il valore con la maggiore differenza dalla media, ma il contrario (il più basso, se il più sospetto è il più alto, ecc.)
  • bilaterale: valore logico che indica se trattare o meno il test come bilaterale

Questo test utilizza le seguenti due ipotesi:

H 0 (ipotesi nulla): non ci sono valori anomali nei dati.

H A (ipotesi alternativa): è presente un valore anomalo nei dati.

L’esempio seguente illustra come eseguire il test di Grubbs per determinare se il valore massimo in un set di dati è un valore anomalo:

 #load Outliers package
library(Outliers)

#createdata
data <- c(5, 14, 15, 15, 14, 13, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40)

#perform Grubbs' Test to see if '40' is an outlier
grubbs.test(data)

# Grubbs test for one outlier
#
#data:data
#G = 2.65990, U = 0.55935, p-value = 0.02398
#alternative hypothesis: highest value 40 is an outlier

La statistica del test è G = 2.65990 e il corrispondente valore p è p = 0.02398 . Poiché questo valore è inferiore a 0,05, rifiuteremo l’ipotesi nulla e concluderemo che il valore massimo di 40 è un valore anomalo.

Se invece volessimo verificare se il valore più basso di “5” fosse un valore anomalo, potremmo usare il comando opposto=TRUE :

 #perform Grubbs' Test to see if '5' is an outlier
grubbs.test(data, opposite= TRUE )

# Grubbs test for one outlier
#
#data:data
#G = 1.4879, U = 0.8621, p-value = 1
#alternative hypothesis: lowest value 5 is an outlier

La statistica del test è G = 1.4879 e il corrispondente valore p è p = 1 . Poiché questo valore non è inferiore a 0,05, non possiamo rifiutare l’ipotesi nulla. Non abbiamo prove sufficienti per affermare che il valore minimo di “5” sia un valore anomalo.

Infine, supponiamo di avere due valori grandi a un’estremità del set di dati: 40 e 42. Per verificare se questi due valori sono valori anomali, potremmo eseguire il test di Grubbs e specificare type=20 :

 #create dataset with two large values at one end: 40 and 42
data <- c(5, 14, 15, 15, 14, 13, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40, 42) 

#perform Grubbs' Test to see if both 40 and 42 are outliers
grubbs.test(data, type=20)

# Grubbs test for two outliers
#
#data: data
#U = 0.38111, p-value = 0.01195
#alternative hypothesis: highest values 40, 42 are outliers

Il valore p del test è 0,01195 . Poiché questo valore è inferiore a 0,05, possiamo rifiutare l’ipotesi nulla e concludere che abbiamo prove sufficienti per affermare che i valori 40 e 42 sono entrambi valori anomali.

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. Torna indietro e 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 sull’analisi complessiva.

Aggiungi un commento

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