Bienvenue dans ma série de blogs sur les valeurs aberrantes. Dans le premier épisode , nous avons cherché à définir et à identifier visuellement les valeurs aberrantes. Dans le deuxième épisode , nous avons utilisé des quantiles (via des diagrammes Box & Whisker) pour aider à identifier les valeurs aberrantes dans une dimension.
Dans cet épisode, nous examinons l'identification des valeurs aberrantes dans plusieurs dimensions à l'aide de la distance de Mahalanobis. Nous examinons également rapidement T 2 , qui est une simple extension de la distance de Mahalanobis.
Valeurs aberrantes multidimensionnelles
La figure 1 est une reproduction d'une des figures de Épisode 1 et montre un graphique bidimensionnel de 1 000 points de données avec une valeur aberrante claire (marquée d'un carré rouge) :
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 redFigure 1 : 1 000 points de données en deux dimensions, valeur aberrante marquée en rouge
Le nuage de points de la figure 1 nous permet de déterminer facilement les valeurs aberrantes visuellement en deux dimensions, même lorsque la valeur aberrante n'est pas évidente à partir des distributions d'histogrammes univariés. Ainsi, les techniques Box & Whisker (quantile) décrites dans Épisode 2 ne sont pas toujours fiables lors de l'analyse de données multidimensionnelles. Et identifier visuellement les valeurs aberrantes (comme dans Épisode 1 ) devient difficile à mesure que le nombre de dimensions augmente. Alors, comment pouvons-nous détecter de manière plus fiable ces valeurs aberrantes multidimensionnelles ?
La distance de Mahalanobis
La distance de Mahalanobis (D M ) nous donne une méthode numérique pour identifier les valeurs aberrantes multidimensionnelles. Il porte le nom de son créateur, le statisticien indien Prasanta Chandra Mahalanobis (1893-1972). Pour plus d'informations sur le Dr Mahalanobis, je vous dirige vers cet article Wikipédia .
PUBLICITÉ M graphique pour l'ensemble de données illustré à la figure 1 est illustré ci-dessous :
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 1Figure 2 : Tracé de la distance de Mahalanobis pour 1 000 points de données de la figure 1
La figure 2 montre tous les points de données dans l'ordre des lignes par rapport à D M sur l'axe Y. La valeur de D M pour chaque point représente la « distance » normalisée de chaque point par rapport au centroïde de tous les points de données. Le point de données rouge se démarque clairement des points restants, il justifierait donc une enquête plus approfondie en tant que valeur aberrante.
Alors comment fonctionne ce calcul ?
La méthode générale
Disons que nous avons une distribution bidimensionnelle de 1 000 points. Dans chaque dimension, 999 des points sont tirés d'une population distribuée normalement avec une moyenne de zéro et un écart type de 1,0. Ensuite, j'ai ajouté un point aberrant comme dernier point de l'échantillon. Si nous faisons un nuage de points XY, nous pourrions avoir quelque chose comme ceci :
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)Figure 3 : Nuage de points de 1 000 points de données non corrélés, avec une valeur aberrante marquée (rouge)
Notez le point d'intérêt rouge sur la figure 3. Nous pouvons facilement calculer la moyenne et l'écart type de l'échantillon de 1 000 points dans chaque dimension, et nous pouvons calculer la distance euclidienne du point rouge au centroïde des points en utilisant le théorème de Pythagore. Pour les multidimensions :

En fait, nous pouvons dessiner des cercles centrés sur le centroïde représentant des distances égales du centroïde, comme dans la figure 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 overlaidFigure 4 : Nuage de points de 1 000 points de données non corrélés, avec des cercles équidistants du centroïde superposés
Dans la figure 4, les cercles représentent des distances de 1, 2, 3 et 4 unités (du plus petit au plus grand) au centroïde des points. Ici, il est clair de voir que le point en rouge est le plus éloigné du centre de gravité des points. Sa distance est représentée par "d".
Cela fonctionne bien si nous avons des distributions à échelle similaire (c'est-à-dire que les écarts-types sont les mêmes).Mais que se passe-t-il si nous avons des échelles différentes, comme le montre la figure 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.Figure 5 : Nuage de points de 1 000 points de données non corrélés, ayant des moyennes et des écarts types différents dans chaque dimension.
Ici, nous avons deux problèmes. Premièrement, la moyenne des points de la dimension X3 est non nulle. C'est assez simple à résoudre en soustrayant simplement la moyenne de tous les points de données.
Le deuxième problème est que l'écart type dans la dimension X3 est beaucoup plus grand que dans la dimension X1. Cela rend inutile le calcul de la distance, à moins que nous ne puissions compenser les différences. Cela se fait aussi facilement. Après avoir corrigé le décalage moyen par rapport à zéro, nous divisons simplement dans chaque dimension par son écart type. Cela se normalise pour toute inadéquation des écarts-types. L'équation multidimensionnelle pour évaluer cette distance devient :

où m et s représentent la moyenne et l'écart type dans chaque dimension. Si nous effectuons ces calculs et retraçons les données normalisées, nous obtenons la figure ci-dessous :
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 dimensionFigure 6 : Données de la Figure 5 après transformation pour corriger la moyenne et l'écart type de chaque dimension
Nous avons donc maintenant un moyen d'ajuster les données pour les moyennes non nulles et pour les écarts-types inégaux. Cela fonctionne bien tant que les données de chaque dimension sont indépendantes les unes des autres (c'est-à-dire non corrélées). Mais s'il existe une corrélation comme celle illustrée à la figure 1, que faisons-nous ?
Une façon d'y parvenir serait d'employer des composants principaux pour établir de nouveaux axes alignés sur les tendances des données, puis d'effectuer les opérations décrites ci-dessus. Mais cela nécessite beaucoup de clics. (Si vous êtes intéressé par la façon dont cela pourrait fonctionner, consultez l'annexe A.)
Heureusement, le Dr Mahalanobis nous donne un moyen simple et élégant de calculer cette distance !
Équation de Mahalanobis pour le calcul des distances
L'élégante équation du Dr Mahalanobis pour calculer le D M est:
où:

est un vecteur de valeurs des N dimensions des i e point de données observé individuel.
N = le nombre de dimensions (ou colonnes) d'intérêt.
T indique l'opération de transposition.

est un vecteur des moyennes de chacune des N dimensions (ou colonnes) d'intérêt.
S -1 est l'inverse de la matrice de covariance NxN pour tous les points de données (disponible sur la plate-forme multivariée de JMP).
Brancher les valeurs appropriées dans l'équation ci-dessus donne le D M du je e pointe vers le centre de gravité de tous les points de l'ensemble de données. Si vous êtes intéressé par le fonctionnement de ce calcul, l'annexe B présente un petit exemple de problème.
L'intrigue de Mahalanobis dans JMP
D M en soi nous est peu utile. Il n'a de sens que lorsqu'il est comparé à d'autres points de données. Le diagramme de Mahalanobis dans JMP montre ces résultats.
Nous pouvons générer le graphique de Mahalanobis en allant dans Analysis/Multivariate Methods/Multivariate, en sélectionnant les colonnes, puis dans le menu déroulant rouge, sélectionnez Outlier Analysis/Mahalanobis Distance. Pour l'exemple d'ensemble de données de la figure 1, cela donne :
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)Figure 7 : Distances de Mahalanobis pour un échantillon de 1 000 points de données (répétition de la figure 2)
Ici, nous voyons que le point de données de la ligne 1 du tableau de données a la plus grande distance (D M ), indiquant qu'il est le plus éloigné du centre de gravité des 10 points de données. La ligne bleue représente une limite de confiance supérieure de 95 % (UCL) indiquant si nous croyons que le D M est significativement différent de zéro. Le point rouge est clairement au-dessus de l'UCL, il justifie donc une enquête plus approfondie en tant que valeur aberrante.
Mais les valeurs aberrantes ne sont pas toujours aussi évidentes à détecter, en particulier avec de petits ensembles de données. Dans l'exemple de l'annexe B, je montre des exemples de calculs pour un petit ensemble de données (10 points de données en trois dimensions). Cet ensemble de données génère un D M tracé comme indiqué ci-dessous :
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 BFigure 8 : Distances de Mahalanobis pour un échantillon de 10 points de données à l'annexe B
Le D M plot a identifié le point 1 comme une valeur aberrante. Mais on voit aussi que D M pour la rangée 1 n'est pas si différent de D M pour la ligne 7 ! Pourquoi est-ce? Il faudra attendre le prochain épisode pour avoir la réponse à cette question !
Une note rapide sur T 2
JMP offre également une option pour un T 2 calcul sous Analyse/Méthodes multivariées/Multivarié, puis Analyse des valeurs aberrantes. J 2 est simplement le carré de D M . Certaines personnes aiment l'utiliser pour forcer une plus grande séparation visuelle entre les valeurs aberrantes et le gros des données, mais T 2 contient vraiment les mêmes informations que D M .
L'épisode suivant
Dans le prochain épisode, nous couvrirons la distance Jackknife, qui est une autre façon d'examiner les valeurs aberrantes et qui fera ressortir la valeur aberrante de l'exemple de données ci-dessus.
Voir tous les articles de cette série sur comprendre les valeurs aberrantes .
Annexe A : Utilisation des composantes principales pour identifier les valeurs aberrantes
Ce serait bien si nous avions un moyen de faire pivoter les axes de la figure 1 afin qu'ils s'alignent sur la tendance des données, quelque chose comme ceci :
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 setFigure 9 : Rotation conceptuelle des axes pour un ensemble de données bidimensionnelles
Ensuite, nous pourrions utiliser les techniques décrites précédemment pour standardiser les données afin de détecter les valeurs aberrantes.
Une façon d'y parvenir est l'analyse en composantes principales (ACP). L'ACP trouve l'ensemble d'axes orthogonaux (mutuellement perpendiculaires) qui correspond le mieux aux données. Vous pouvez avoir autant de composantes principales que vous avez de dimensions d'origine (colonnes) dans votre ensemble de données. Dans JMP, l'ACP se trouve à deux endroits : soit sous Analyser/Méthodes multivariées/Composantes principales, soit sous Analyser/Méthodes multivariées/Multivariée, puis dans la liste déroulante rouge à côté de Multivariée, choisissez Composantes principales/sur les corrélations. La liste déroulante rouge offre également une option pour enregistrer les composants principaux dans la table de données. Une fois que vous avez fait cela, vous pouvez utiliser les méthodes pour corriger les moyennes et les écarts types décrits ci-dessus pour déterminer la distance par rapport au centroïde.
Annexe B : D M calculs pour un exemple d'ensemble de données
Disons que nous avons un exemple d'ensemble de données avec trois colonnes et 10 lignes :
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 calculationsFigure 10 : Petit échantillon de données utilisé pour les exemples de calculs DM
Dans JMP, nous pouvons exécuter Analysis/Multivariate Methods/Multivariate sur ces trois colonnes pour produire la matrice de nuage de points suivante :
Figure 11: Scatterplot matrix for example dataFigure 11: Scatterplot matrix for example dataFigure 11: Scatterplot matrix for example dataFigure 11: Scatterplot matrix for example dataFigure 11 : Matrice de nuage de points pour des exemples de données
Dans la figure 11, nous pouvons voir que les données de la ligne 1 (surlignées en rouge) semblent être une valeur aberrante lors de la comparaison dans les dimensions X1-X2, bien qu'elles ne soient pas aussi claires dans les tracés X1-X3 ou X2-X3.
Nous voulons calculer la distance de Mahalanobis pour le premier point. Donc, en remplissant les vecteurs et les matrices dans le D ci-dessus M équation, on commence par le point d'intérêt :

Les moyennes de chaque colonne peuvent être trouvées de plusieurs manières différentes. Utilisons Cols/Column Viewer, puis 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 setFigure 12 : Statistiques récapitulatives pour un exemple d'ensemble de données tridimensionnelles à 10 points
Donc le vecteur des moyennes devient :

Ensuite, nous avons besoin de la matrice de covariance, qui se trouve sous Analyse/Méthodes multivariées. Sélectionnez Matrice de covariance dans le triangle déroulant rouge :
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 setFigure 13 : Matrice de covariance pour un exemple d'ensemble de données tridimensionnel à 10 points
Nous avons également besoin de l'inverse de la matrice de covariance, S -1 . JMP ne nous donne pas ces informations à partir du système de menus, mais nous pouvons les obtenir facilement à partir d'un script personnalisé comme suit :
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 matrixFigure 14 : Script JMP JSL pour trouver l'inverse d'une matrice
Cela se traduit par :
S -1 =

Ensuite, il suffit de brancher et de résoudre l'équation matricielle :





La distance de Mahalanobis (D M ) est de 2,814 pour les données affichées à la ligne 1 de l'exemple d'ensemble de données.
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)Figure 15 : Diagramme de Mahalanobis pour un exemple d'ensemble de données (répétition de la figure 8)