In un post precedente del blog , abbiamo cercato di ripulire i dati sporchi in categorie. Questa volta, cerchiamo di pulire i dati sporchi sotto forma di valori anomali per le colonne continue.
Nell'industria, non è insolito avere la maggior parte dei valori in un intervallo ristretto (ad esempio tra .1 e .7) con alcuni valori ben al di fuori di tale intervallo (ad esempio 99, che è il codice del valore mancante). Alcuni degli esempi più comuni di valori anomali includono:
• Codici dei valori mancanti, spesso una stringa di 9 secondi.
• Ovviamente valori errati, inseriti manualmente, specialmente quando il punto decimale è smarrito.
• Guasti dello strumento, che provocano l'inserimento di un codice di errore dello strumento in corrispondenza dei dati.
• Eventi insoliti, come un cortocircuito elettrico che causa un aumento di corrente o un calo di tensione.
• Distribuzioni a coda lunga, come distribuzioni time-to-failure, in cui valori elevati possono essere rari, ma reali.
• Valori anomali della contaminazione, in cui alcuni articoli si sono insinuati in una raccolta di articoli che si presumeva fossero puliti.
Se avessimo solo poche colonne da esplorare e ripulire, sarebbe ragionevole farlo a mano. Tuttavia, con dozzine o migliaia di colonne, hai bisogno di aiuto. Lo strumento "Explore Outliers" in Cols-> Modeling Utilities è il nuovo strumento da utilizzare.
L'approccio più diretto è quello di ottenere alcuni quantili di coda e quindi misurare una scala dell'intervallo interquantile oltre i quantili di coda. Il ANSUR Dati di antropometria fornisce una buona illustrazione; misura 131 misure corporee su 3.982 individui. Prima di analizzare questi dati, è necessario innanzitutto verificare e conoscere i valori anomali.
Per ciascuna variabile selezionata, Explore Outliers calcola innanzitutto i quantili 10% e 90% per determinare una buona stima per l'intervallo della maggior parte dei dati. Se c'è un numero enorme di legami, il che significa che il 10% e il 90% dei quantili sono gli stessi, l'utilità raggiunge ulteriormente la coda per ottenere un valore. Quindi moltiplica l'intervallo interquantile per 3 (il fattore di scala 'Q' predefinito) e cerca qualsiasi valore che sia più lontano dal quantile 10% e 90% di tre volte l'intervallo interquantile. Questo è un criterio di selezione anomalo predefinito piuttosto estremo, ma probabilmente siete più interessati ai valori anomali più remoti, almeno all'inizio. È possibile regolare i quantili e il moltiplicatore in seguito per essere più sensibili.
La scansione di default dei dati ANSUR ha rivelato due colonne con un valore di -999, che è più di tre intervalli interquantili oltre le code 10% e 90%. In questo caso, è ovvio che si tratta di codici valore mancante, non di dati reali.
Poiché le altre 129 variabili non hanno mostrato valori anomali, possiamo concentrarci più facilmente sulle colonne che hanno fatto selezionando "Mostra solo colonne con valori anomali". Selezionando queste colonne nel display si selezionano le colonne nella tabella dei dati.
Successivamente, dobbiamo determinare quale azione intraprendere per risolvere questi valori anomali. Ci sono sei pulsanti di azione. È possibile selezionare le righe e utilizzare il comando Righe "Successivo selezionato" per far avanzare la vista della tabella di dati su ciascuna riga selezionata. Puoi colorare le righe per sottolineare che la riga ha un valore anomalo. Puoi colorare le celle per farle risaltare mentre navighi nella tabella dati, mostrata sotto. Puoi anche escludere le righe per trattenerle da un'analisi.

In questo caso, poiché i valori anomali rappresentano davvero i dati mancanti, le due azioni rimanenti presentano le scelte ovvie: fare clic su "Aggiungi a codici valore mancanti", che installa una proprietà colonna "codice valore mancante" per quella colonna o fare clic su "Modifica mancante ", che lo modifica in un valore hardware mancante (NAN) JMP riconosce sempre come mancante. Potresti voler usare il pulsante precedente se ci sono più codici valore mancanti con significati distinti.

Controlliamo anche high-nines, poiché questi sono spesso usati come codici valore mancanti, ma tutti i high-nove non sono lontani dalla coda superiore dei dati, e quindi non rappresentano probabilmente valori mancanti.
A volte i valori anomali sono marginali in un senso multivariato, il che significa che possono essere piacevolmente nell'intervallo quantile di ogni colonna, ma i dati sono in cluster e alcuni punti sono lontani da altri punti. Usando i dati di Fisher's Iris come esempio, vediamo che ci sono davvero tre cluster, che rappresentano le tre specie. Poiché la specie è ampiamente separata, vi è abbondanza di spazi quasi vuoti in cui un outlier può essere distante da tutti gli altri punti, anche se non è un outlier univariato. Abbiamo la struttura k-vicino-vicino per trovare questi valori anomali. Per ogni punto, trova la distanza di quel punto nel punto più vicino, il secondo punto più vicino, il terzo punto più vicino e così via. Qui, identifichiamo un punto che è lontano dal punto più vicino.

Se guardiamo a questo punto in una matrice di Scatterplot, vediamo che non è insolito in nessuna delle singole coordinate, ma è molto lontano da altri punti. È molto lontano in larghezza Sepal se si considera la sua posizione rispetto alla lunghezza del petalo e alla larghezza del petalo. Capita di conoscere le identità di questi cluster, e la caratteristica insolita è che ha una larghezza Sepal molto bassa rispetto ad altri nella sua specie.

Per continuare, potremmo avere più outlier, cioè quei punti che non sono lontani dai loro vicini più prossimi ma sono ancora lontani dai dati. Ecco la distanza di ogni punto dal suo terzo vicino vicino.

Se guardi la matrice di Scatterplot dei due valori anomali di blu k = 3, vedi che sono vicini l'uno all'altro, ma separati da altri punti, concentrandosi sulla larghezza di Sepal per il diagramma di dispersione della lunghezza di Sepal.

Quindi, i valori anomali multivariati possono essere esplorati e considerati per discernere cosa sta succedendo. Valori anomali nel senso k-più vicino possono verificarsi in situazioni di contaminazione, ad esempio se un iride proveniente da una specie totalmente separata è stato mescolato e identificato erroneamente nei dati di Fisher Iris.
Cosa fare per i valori anomali dipende dalla situazione, anche se alcune azioni sono chiare. Se mancano dei codici valore, è necessario aggiungere una proprietà del codice valore mancante in modo che le piattaforme di analisi lo considerino mancante. Se si dispone di un punto decimale posizionato erroneamente, è necessario correggerlo se si tratta di un caso chiaro o di modificarlo in un valore mancante se non è chiaro.
A volte trovare valori anomali può portare a scoperte importanti. Non dovrebbero essere trattati automaticamente come lo sporco che non si adatta.
Questo argomento è stato anche affrontato in un precedente post sul blog .
Nota: Questo fa parte di a Grandi statistiche serie di post sul blog di John Sall. Leggi tutti i suoi Messaggi di statistiche grandi .