Come identificare i valori anomali in sas (con esempio)


Un valore anomalo è un’osservazione anormalmente distante da altri valori in un set di dati. I valori anomali possono essere problematici perché possono influenzare i risultati di un’analisi.

Il modo più comune per identificare i valori anomali in un set di dati è utilizzare l’intervallo interquartile.

L’intervallo interquartile (IQR) è la differenza tra il 75° percentile (Q3) e il 25° percentile (Q1) in un set di dati. Misura la distribuzione media del 50% dei valori.

Generalmente definiamo un’osservazione come un valore anomalo se è 1,5 volte l’intervallo interquartile al di sopra del terzo quartile (Q3) o 1,5 volte l’intervallo interquartile al di sotto del primo quartile (Q1).

Valori anomali = Osservazioni > Q3 + 1,5*IQR o < Q1 – 1,5*IQR

L’esempio seguente mostra come utilizzare questa formula per identificare i valori anomali in un set di dati in SAS.

Esempio: identificazione dei valori anomali in SAS

Supponiamo di avere il seguente set di dati in SAS:

 /*create dataset*/
data original_data;
    input team $points;
    datalines ;
At 18
B24
C26
D 34
E 38
F45
G 48
H 54
I 60
Day 73
K 79
L 85
M 94
No. 98
O 221
P 223
;
run ;

/*view dataset*/
proc print data = original_data;

Il modo più semplice per identificare i valori anomali in SAS è creare un boxplot, che utilizza automaticamente la formula menzionata in precedenza per identificare e visualizzare i valori anomali nel set di dati come piccoli cerchi:

 /*create boxplot to visualize distribution of points*/
ods output sgplot=boxplot_data;
proc sgplot data =original_data;
    vbox points;
run ;

/*view summary of boxplot descriptive statistics*/
proc print data =boxplot_data; 

Dal boxplot possiamo vedere che ci sono due piccoli cerchi vicino alla parte superiore del grafico. Ciò indica che ci sono due valori anomali.

Nella tabella sotto il boxplot possiamo vedere i valori esatti dei due outlier: 221 e 223 .

Possiamo verificare manualmente che questi due valori siano anomali utilizzando la formula precedente:

Valori anomali = Osservazioni > Q3 + 1,5*IQR o < Q1 – 1,5*IQR

L’intervallo interquartile è: Q3 – Q1 = 89,5 – 36 = 53,5.

Il limite superiore per i valori anomali sarebbe: Q3 + 1,5*IQR = 89,5 + 1,5*53,5 = 169,75.

Poiché 221 e 223 sono entrambi maggiori di questo valore, vengono classificati come valori anomali.

Se volessimo, potremmo quindi utilizzare il codice seguente per rimuovere questi due valori anomali dal set di dati:

 /*create new dataset with outliers removed*/
data new_data;
    set original_data;
    if points >= 221 then delete;
run ;

/*view new dataset*/
proc print data =new_data; 

Si noti che i due valori anomali sono stati rimossi.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in SAS:

Come utilizzare il riepilogo della procedura in SAS
Come utilizzare Proc Tabulate in SAS
Come calcolare la correlazione in SAS
Come creare tabelle di frequenza in SAS
Come sostituire i valori mancanti con zero in SAS

Aggiungi un commento

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