Bentornati alla mia serie di blog sugli Outlier. In il primo episodio , abbiamo esaminato la definizione e l'identificazione visiva dei valori anomali. In il secondo episodio , abbiamo utilizzato i quantili (tramite i grafici Box & Whisker) per aiutare a identificare i valori anomali in una dimensione.
In questo episodio, esaminiamo l'identificazione dei valori anomali in più dimensioni utilizzando la distanza di Mahalanobis. Diamo anche un rapido sguardo a T 2 , che è una semplice estensione della distanza di Mahalanobis.
Outlier multidimensionali
La figura 1 è una riproduzione di una delle figure da Episodio 1 e mostra un grafico bidimensionale di 1.000 punti dati con un chiaro valore anomalo (contrassegnato dal quadrato rosso):
Figure 1: 1,000 data points in two dimensions, outlier marked in redFigure 1: 1,000 data points in two dimensions, outlier marked in redFigure 1: 1,000 data points in two dimensions, outlier marked in redFigure 1: 1,000 data points in two dimensions, outlier marked in redFigura 1: 1.000 punti dati in due dimensioni, valore anomalo contrassegnato in rosso
Il grafico a dispersione nella Figura 1 ci consente di determinare facilmente i valori anomali visivamente in due dimensioni, anche quando il valore anomalo non è evidente dalle distribuzioni univariate dell'istogramma. Quindi, le tecniche Box & Whisker (quantile) descritte in Episodio 2 non sono sempre affidabili quando si analizzano dati multidimensionali. E identificare visivamente i valori anomali (come in Episodio 1 ) diventa difficile all'aumentare del numero di dimensioni. Quindi, come possiamo rilevare in modo più affidabile questi valori anomali multidimensionali?
La distanza di Mahalanobis
La distanza di Mahalanobis (D M ) ci fornisce un metodo numerico per identificare valori anomali multidimensionali. Prende il nome dal suo creatore, lo statistico indiano Prasanta Chandra Mahalanobis (1893-1972). Per ulteriori informazioni sul Dr. Mahalanobis, ti rimando a questo articolo di Wikipedia .
ANNO DOMINI M il grafico per il set di dati mostrato nella Figura 1 è mostrato di seguito:
Figure 2: Mahalanobis Distance plot for 1,000 data points from Figure 1Figure 2: Mahalanobis Distance plot for 1,000 data points from Figure 1Figure 2: Mahalanobis Distance plot for 1,000 data points from Figure 1Figure 2: Mahalanobis Distance plot for 1,000 data points from Figure 1Figura 2: Grafico della distanza di Mahalanobis per 1.000 punti dati dalla Figura 1
La Figura 2 mostra tutti i punti dati in ordine di riga rispetto a D M sull'asse Y. Il valore di d M per ogni punto rappresenta la "distanza" standardizzata di ogni punto dal baricentro di tutti i punti dati. Il punto dati rosso si distingue chiaramente dai punti rimanenti, quindi meriterebbe ulteriori indagini come valore anomalo.
Allora come funziona questo calcolo?
Il metodo generale
Diciamo che abbiamo una distribuzione bidimensionale di 1.000 punti. In ciascuna dimensione, 999 dei punti sono tratti da una popolazione distribuita normalmente con media zero e deviazione standard pari a 1,0. Quindi ho aggiunto un punto anomalo come ultimo punto nell'esempio. Se creiamo un grafico a dispersione XY, potremmo avere qualcosa del genere:
Figure 3: Scatterplot of 1,000 uncorrelated data points, with one marked outlier (red)Figure 3: Scatterplot of 1,000 uncorrelated data points, with one marked outlier (red)Figure 3: Scatterplot of 1,000 uncorrelated data points, with one marked outlier (red)Figure 3: Scatterplot of 1,000 uncorrelated data points, with one marked outlier (red)Figura 3: grafico a dispersione di 1.000 punti dati non correlati, con un valore anomalo contrassegnato (rosso)
Notare il punto di interesse rosso nella Figura 3. Possiamo facilmente calcolare la media e la deviazione standard del campione di 1.000 punti in ciascuna dimensione e possiamo calcolare la distanza euclidea dal punto rosso al baricentro dei punti usando il teorema di Pitagora. Per multidimensioni:

Infatti, possiamo disegnare cerchi centrati sul baricentro che rappresentano distanze uguali dal baricentro, come in Figura 4:
Figure 4: Scatterplot of 1,000 uncorrelated data points, with equidistant circles from centroid overlaidFigure 4: Scatterplot of 1,000 uncorrelated data points, with equidistant circles from centroid overlaidFigure 4: Scatterplot of 1,000 uncorrelated data points, with equidistant circles from centroid overlaidFigure 4: Scatterplot of 1,000 uncorrelated data points, with equidistant circles from centroid overlaidFigura 4: Grafico a dispersione di 1.000 punti dati non correlati, con cerchi equidistanti dal centroide sovrapposti
Nella Figura 4, i cerchi rappresentano le distanze di 1, 2, 3 e 4 unità (dal più piccolo al più grande) al baricentro dei punti. Qui è chiaro che il punto in rosso è il più lontano dal baricentro dei punti. La sua distanza è rappresentata da “d”.
Questo funziona bene se abbiamo distribuzioni scalate in modo simile (cioè, che le deviazioni standard sono le stesse).Ma cosa succede se abbiamo scale diverse, come mostrato nella Figura 5?
Figure 5: Scatterplot of 1,000 uncorrelated data points, having different means and standard deviations in each dimension.Figure 5: Scatterplot of 1,000 uncorrelated data points, having different means and standard deviations in each dimension.Figure 5: Scatterplot of 1,000 uncorrelated data points, having different means and standard deviations in each dimension.Figure 5: Scatterplot of 1,000 uncorrelated data points, having different means and standard deviations in each dimension.Figura 5: Grafico a dispersione di 1.000 punti dati non correlati, con medie e deviazioni standard diverse in ogni dimensione.
Qui abbiamo due problemi. Innanzitutto, la media dei punti nella dimensione X3 è diversa da zero. È abbastanza semplice da risolvere semplicemente sottraendo la media da tutti i punti dati.
Il secondo problema è che la deviazione standard nella dimensione X3 è molto maggiore che nella dimensione X1. Ciò rende discutibile un calcolo della distanza, a meno che non possiamo compensare le differenze. Anche questo è facile da fare. Dopo aver corretto lo spostamento medio da zero, dividiamo semplicemente ogni dimensione per la sua deviazione standard. Ciò si normalizza per eventuali disallineamenti nelle deviazioni standard. L'equazione multidimensionale per valutare questa distanza diventa:

dove m e s rappresentano la media e la deviazione standard in ciascuna dimensione. Se eseguiamo questi calcoli e ritracciamo i dati standardizzati, otteniamo la figura seguente:
Figure 6: Data from Figure 5 after transforming to correct for mean and standard deviation of each dimensionFigure 6: Data from Figure 5 after transforming to correct for mean and standard deviation of each dimensionFigure 6: Data from Figure 5 after transforming to correct for mean and standard deviation of each dimensionFigure 6: Data from Figure 5 after transforming to correct for mean and standard deviation of each dimensionFigura 6: Dati della Figura 5 dopo la trasformazione per correggere la media e la deviazione standard di ciascuna dimensione
Quindi ora abbiamo un modo per aggiustare i dati per medie diverse da zero e per deviazioni standard disuguali. Funziona bene fintanto che i dati in ogni dimensione sono indipendenti l'uno dall'altro (cioè non correlati). Ma se c'è una correlazione come quella mostrata nella Figura 1, allora cosa facciamo?
Un modo per farlo sarebbe quello di impiegare componenti principali per stabilire nuovi assi allineati con le tendenze nei dati, e quindi eseguire le operazioni sopra descritte. Ma questo richiede molti clic. (Se sei interessato a come potrebbe funzionare, vedi l'Appendice A.)
Fortunatamente, il Dr. Mahalanobis ci offre un modo semplice ed elegante per calcolare questa distanza!
Equazione di Mahalanobis per il calcolo delle distanze
L'elegante equazione del Dr. Mahalanobis per il calcolo del D M È:
Dove:

è un vettore di valori delle N dimensioni della i th singolo punto dati osservato.
N = il numero di dimensioni (o colonne) di interesse.
T indica l'operazione di trasposizione.

è un vettore delle medie di ciascuna delle N dimensioni (o colonne) di interesse.
S -1 è l'inverso della matrice di covarianza NxN per tutti i punti dati (disponibile dalla piattaforma Multivariata in JMP).
Inserendo valori appropriati nell'equazione di cui sopra si ottiene D M dall'i th puntare al baricentro di tutti i punti nel set di dati. Se sei interessato a come funziona questo calcolo, l'Appendice B funziona attraverso un piccolo problema di esempio.
La trama di Mahalanobis in JMP
D M di per sé è di scarsa utilità per noi. Ha significato solo se confrontato con altri punti dati. Il grafico Mahalanobis in JMP mostra questi risultati.
Possiamo generare il grafico di Mahalanobis andando su Analisi/Metodi multivariati/Multivariato, selezionando le colonne, quindi dal menu a discesa rosso selezionare Analisi anomala/Distanza di Mahalanobis. Per il set di dati di esempio della Figura 1, questo dà:
Figure 7: Mahalanobis distances for 1,000 data point sample (repeat of Figure 2)Figure 7: Mahalanobis distances for 1,000 data point sample (repeat of Figure 2)Figure 7: Mahalanobis distances for 1,000 data point sample (repeat of Figure 2)Figure 7: Mahalanobis distances for 1,000 data point sample (repeat of Figure 2)Figura 7: distanze di Mahalanobis per un campione di 1.000 punti dati (ripetizione della figura 2)
Qui vediamo che il punto dati nella riga 1 della tabella dati ha la distanza maggiore (D M ), indicando che è il più lontano dal baricentro di tutti i 10 punti dati. La linea blu rappresenta un limite di confidenza superiore del 95% (UCL) sulla nostra convinzione che il D M è significativamente diverso da zero. Il punto rosso è chiaramente al di sopra dell'UCL, quindi merita ulteriori indagini come valore anomalo.
Ma i valori anomali non sono sempre così ovvi da rilevare, in particolare con piccoli set di dati. Nell'esempio in Appendice B, mostro calcoli di esempio per un piccolo set di dati (10 punti dati in tre dimensioni). Questo set di dati genera un D M trama come mostrato di seguito:
Figure 8: Mahalanobis distances for 10 data point sample in Appendix BFigure 8: Mahalanobis distances for 10 data point sample in Appendix BFigure 8: Mahalanobis distances for 10 data point sample in Appendix BFigure 8: Mahalanobis distances for 10 data point sample in Appendix BFigura 8: distanze di Mahalanobis per un campione di 10 punti dati nell'Appendice B
Il d M plot ha identificato il punto 1 come valore anomalo. Ma vediamo anche che D M perché la riga 1 non è poi così diversa da D M per la riga 7! Perchè è questo? Dovrai aspettare il prossimo episodio per la risposta a questa domanda!
Una breve nota su T 2
JMP offre anche un'opzione per un T 2 calcolo in Analisi/Metodi multivariati/Multivariato, quindi Analisi valori anomali. T 2 è semplicemente il quadrato di D M . Ad alcune persone piace usarlo per forzare una maggiore separazione visiva tra i valori anomali e la maggior parte dei dati, ma T 2 contiene davvero le stesse informazioni di D M .
Prossimo episodio
Nel prossimo episodio, copriremo la distanza di Jackknife, che è un altro modo di guardare i valori anomali e che farà risaltare il valore anomalo del set di dati di esempio sopra.
Vedi tutti i post di questa serie su comprendere i valori anomali .
Appendice A: utilizzo dei componenti principali per identificare i valori anomali
Sarebbe bello se avessimo un modo per ruotare gli assi nella Figura 1 in modo che siano allineati con l'andamento dei dati, qualcosa del genere:
Figure 9: Conceptual rotation of axes for two-dimensional data setFigure 9: Conceptual rotation of axes for two-dimensional data setFigure 9: Conceptual rotation of axes for two-dimensional data setFigure 9: Conceptual rotation of axes for two-dimensional data setFigura 9: rotazione concettuale degli assi per set di dati bidimensionali
Quindi potremmo utilizzare le tecniche descritte in precedenza per standardizzare i dati per rilevare valori anomali.
Un modo per farlo è l'analisi dei componenti principali (PCA). PCA trova l'insieme di assi ortogonali (reciprocamente perpendicolari) che meglio si adatta ai dati. Puoi avere tanti componenti principali quante sono le dimensioni originali (colonne) nel tuo set di dati. In JMP, PCA può essere trovato in due posizioni: sotto Analizza/Metodi multivariati/Componenti principali o sotto Analizza/Metodi multivariati/Multivariato, quindi dal menu a discesa rosso accanto a Multivariato, scegliere Componenti principali/sulle correlazioni. Il menu a discesa rosso offre anche un'opzione per salvare i componenti principali nella tabella dei dati. Dopo aver eseguito questa operazione, è possibile utilizzare i metodi per correggere le medie e le deviazioni standard descritte sopra per determinare la distanza dal baricentro.
Appendice B: D M calcoli per un set di dati di esempio
Supponiamo di avere un set di dati di esempio con tre colonne e 10 righe:
Figure 10: Small sample data set used for DM example calculationsFigure 10: Small sample data set used for DM example calculationsFigure 10: Small sample data set used for DM example calculationsFigure 10: Small sample data set used for DM example calculationsFigura 10: piccolo set di dati campione utilizzato per i calcoli di esempio DM
In JMP, possiamo eseguire Analysis/Multivariate Methods/Multivariate su queste tre colonne per produrre la seguente matrice di grafici a dispersione:
Figure 11: Scatterplot matrix for example dataFigure 11: Scatterplot matrix for example dataFigure 11: Scatterplot matrix for example dataFigure 11: Scatterplot matrix for example dataFigura 11: Matrice del grafico a dispersione per dati di esempio
Nella Figura 11 possiamo vedere che i dati della riga 1 (evidenziati in rosso) sembrano essere un valore anomalo quando si confrontano le dimensioni X1-X2, sebbene non siano così chiari nei grafici X1-X3 o X2-X3.
Vogliamo calcolare la distanza di Mahalanobis per il primo punto. Quindi, compilando i vettori e le matrici nel D M equazione, iniziamo con il punto di interesse:

Le medie di ogni colonna possono essere trovate in diversi modi. Usiamo Cols/Column Viewer, quindi Show Summary:
Figure 12: Summary statistics for example three-dimensional 10-point data setFigure 12: Summary statistics for example three-dimensional 10-point data setFigure 12: Summary statistics for example three-dimensional 10-point data setFigure 12: Summary statistics for example three-dimensional 10-point data setFigura 12: Statistiche di riepilogo, ad esempio set di dati tridimensionali a 10 punti
Quindi il vettore delle medie diventa:

Successivamente, abbiamo bisogno della matrice di covarianza, che si trova in Analisi/Metodi multivariati. Seleziona Matrice di covarianza dal triangolo a discesa rosso:
Figure 13: Covariance matrix for example three-dimensional 10-point data setFigure 13: Covariance matrix for example three-dimensional 10-point data setFigure 13: Covariance matrix for example three-dimensional 10-point data setFigure 13: Covariance matrix for example three-dimensional 10-point data setFigura 13: Matrice di covarianza, ad esempio set di dati tridimensionali a 10 punti
Abbiamo anche bisogno dell'inverso della matrice di covarianza, S -1 . JMP non ci fornisce queste informazioni dal sistema di menu, ma possiamo ottenerle facilmente da uno script personalizzato come segue:
Figure 14: JMP JSL script to find inverse of a matrixFigure 14: JMP JSL script to find inverse of a matrixFigure 14: JMP JSL script to find inverse of a matrixFigure 14: JMP JSL script to find inverse of a matrixFigura 14: Script JSL di JMP per trovare l'inverso di una matrice
Questo risulta in:
S -1 =

Quindi ci limitiamo a collegare e risolvere l'equazione della matrice:





La distanza di Mahalanobis (D M ) è 2,814 per i dati mostrati nella riga 1 del set di dati di esempio.
Figure 15: Mahalanobis plot for example data set (repeat of Figure 8)Figure 15: Mahalanobis plot for example data set (repeat of Figure 8)Figure 15: Mahalanobis plot for example data set (repeat of Figure 8)Figure 15: Mahalanobis plot for example data set (repeat of Figure 8)Figura 15: grafico di Mahalanobis per set di dati di esempio (ripetizione della figura 8)