Bentornato alla mia serie di blog sui valori anomali. In il primo episodio , abbiamo esaminato la definizione e l'identificazione visiva dei valori anomali. In il secondo episodio , abbiamo utilizzato i quantili (tramite grafici Box & Whisker) per 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 una rapida occhiata a T 2 , che è una semplice estensione della distanza Mahalanobis.
Valori anomali 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 con il quadrato rosso):
Figura 1: 1.000 punti dati in due dimensioni, valori anomali contrassegnati 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 identificando visivamente i valori anomali (come in Episodio 1 ) diventa difficile con l'aumentare del numero di dimensioni. Quindi come possiamo rilevare in modo più affidabile questi valori anomali multidimensionali?
La distanza Mahalanobis
La distanza 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, vi rimando questo articolo di Wikipedia .
ANNO DOMINI M il grafico per il set di dati mostrato nella Figura 1 è mostrato di seguito:
Figura 2: diagramma 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 richiederebbe ulteriori indagini come valore anomalo.
Allora come funziona questo calcolo?
Il metodo generale
Supponiamo di avere una distribuzione bidimensionale di 1.000 punti. In ogni dimensione, 999 punti sono estratti da una popolazione normalmente distribuita con media zero e la deviazione standard è 1.0. Quindi ho aggiunto un punto anomalo come ultimo punto nel campione. Se creiamo un grafico a dispersione XY, potremmo avere qualcosa del genere:
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 centroide dei punti usando il teorema di Pitagora. Per multidimensioni:

In effetti, possiamo disegnare cerchi centrati sul baricentro che rappresentano distanze uguali dal centroide, come in Figura 4:
Figura 4: diagramma 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à (dalla più piccola alla più grande) rispetto al centroide dei punti. Qui è chiaro che il punto in rosso è il più lontano dal centroide dei punti. La sua distanza è rappresentata da "d".
Funziona bene se abbiamo distribuzioni in scala simile (cioè, che le deviazioni standard sono le stesse).Ma cosa succede se abbiamo scale diverse, come mostrato nella Figura 5?
Figura 5: grafico a dispersione di 1.000 punti dati non correlati, con medie e deviazioni standard diverse in ciascuna dimensione.
Qui abbiamo due problemi. Innanzitutto, la media dei punti nella dimensione X3 è diversa da zero. È abbastanza semplice da risolvere sottraendo la media da tutti i punti dati.
Il secondo problema è che la deviazione standard nella dimensione X3 è molto più grande che nella dimensione X1. Ciò rende discutibile il calcolo della distanza, a meno che non possiamo compensare le differenze. Anche questo è facile. Dopo aver corretto lo spostamento medio da zero, dividiamo semplicemente in ciascuna dimensione per la sua deviazione standard. Questo 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 sostituiamo i dati standardizzati, otteniamo la figura seguente:
Figura 6: dati dalla figura 5 dopo la trasformazione per correggere la media e la deviazione standard di ciascuna dimensione
Quindi ora abbiamo un modo per regolare i dati per medie diverse da zero e per deviazioni standard disuguali. Funziona bene fintanto che i dati in ciascuna 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 impiegare i componenti principali per stabilire nuovi assi allineati con le tendenze nei dati e quindi eseguire le operazioni descritte sopra. Ma questo richiede molti clic. (Se interessati a come potrebbe funzionare, vedere l'Appendice A.)
Fortunatamente, il Dr. Mahalanobis ci offre un modo semplice ed elegante per calcolare questa distanza!
L'equazione di Mahalanobis per il calcolo delle distanze
L'elegante equazione del Dr. Mahalanobis per calcolare la 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 Transpose.

è 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 i valori appropriati nell'equazione precedente si ottiene la D M dalla i th puntare al centroide 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é ci serve a poco. Ha significato solo se confrontato con altri punti dati. Il diagramma di Mahalanobis in JMP mostra questi risultati.
Possiamo generare il grafico Mahalanobis andando su Analisi / Metodi multivariati / Multivariato, selezionando le colonne, quindi dal menu a discesa rosso selezionare Analisi anomale / Distanza Mahalanobis. Per il set di dati di esempio della Figura 1, ciò fornisce:
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) se si crede che il D M è significativamente diverso da zero. Il punto rosso è chiaramente sopra l'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:
Figura 8: distanze di Mahalanobis per un campione di 10 punti dati nell'appendice B.
Il D M trama ha identificato il punto 1 come un valore anomalo. Ma vediamo anche che D M per 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 / Multivariata, quindi Analisi dei 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 realmente le stesse informazioni di D M .
Prossimo episodio
Nel prossimo episodio, tratteremo la distanza di Jackknife, che è un altro modo di guardare i valori anomali e che farà risaltare i valori anomali dal set di dati di esempio sopra.
Vedi tutti i post di questa serie su comprensione dei 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:
Figura 9: rotazione concettuale degli assi per set di dati bidimensionali
Quindi potremmo usare le tecniche descritte in precedenza per standardizzare i dati per rilevare i valori anomali.
Un modo per farlo è la Principal Component Analysis (PCA). PCA trova l'insieme di assi ortogonali (reciprocamente perpendicolari) che meglio si adattano ai dati. Puoi avere tanti componenti principali quante sono le dimensioni originali (colonne) nel tuo set di dati. In JMP, la PCA può essere trovata in due posizioni: in Analizza / Metodi multivariati / Componenti principali o in Analizza / Metodi multivariati / Multivariata, quindi dal menu a discesa rosso accanto a Multivariata, scegli Componenti principali / su Correlazioni. Il menu a discesa rosso offre anche un'opzione per salvare i componenti principali nella tabella dati. Una volta fatto ciò, è possibile utilizzare i metodi per correggere le medie e le deviazioni standard descritte sopra per determinare la distanza dal centroide.
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:
Figura 10: set di dati campione di piccole dimensioni utilizzato per i calcoli di esempio DM
In JMP, possiamo eseguire Analisi / Metodi multivariati / Multivariata su queste tre colonne per produrre la seguente matrice del grafico a dispersione:
Figura 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 nelle dimensioni X1-X2, sebbene non sia così chiaro nei grafici X1-X3 o X2-X3.
Vogliamo calcolare la distanza di Mahalanobis per il primo punto. Quindi, compilando i vettori e le matrici nella D sopra M equazione, iniziamo con il punto di interesse:

Le medie di ciascuna colonna possono essere trovate in molti modi diversi. Usiamo Cols / Column Viewer, quindi Show Summary:
Figura 12: statistiche riassuntive per esempio set di dati tridimensionali a 10 punti
Quindi il vettore dei mezzi diventa:

Successivamente, abbiamo bisogno della matrice di covarianza, che si trova in Metodi di analisi / multivariati. Seleziona Covariance Matrix dal triangolo rosso a discesa:
Figura 13: matrice di covarianza per esempio set di dati tridimensionali a 10 punti
Abbiamo anche bisogno dell'inversa 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:
Figura 14: script JMP JSL per trovare l'inverso di una matrice
Questo risulta in:
S -1 =

Quindi colleghiamo e risolviamo l'equazione della matrice:





La distanza Mahalanobis (D M ) è 2,814 per i dati mostrati nella riga 1 del set di dati di esempio.
Figura 15: diagramma di Mahalanobis per esempio di set di dati (ripetizione della figura 8)