Distances de Mahalanobis

From: Daniel Chessel (chessel@biomserv.univ-lyon1.fr)
Date: Thu Jan 22 1998 - 06:44:05 MET


Bonjour

La question de Sebastien Sarramegna (ci-dessous) n'est pas claire mais permet de préciser ce qu'est la distance de Mahalanobis. Il y a en effet au moins deux définitions en usage et plusieurs manières de s'en servir.

Soit (X,Q,D) un triplet statistique avec n lignes et p colonnes. Le cas ordinaire est X tableau de variables quantitatives normalisées, Q l'identité et D la pondération uniforme (ACP normée).

On peut vouloir mesurer la distance entre deux lignes de ce tableau. l'option Distances : Triplet To Distance calcule la matrice des distances entre lignes en utilisant la métrique Q (dans le cas commun de l'ACP normée, on l'appelle métrique canonique ou ordinaire).

Pourquoi en changer ?

En morphométrie, cette manière de procéder compte presque exclusivement une différence de taille car elle ajoute simplement les carrés des différences des mesures et donc enregistre la valeur (grand-petit) au carré autant de fois qu'il y a de variables (un grand a une grosse tête, de grands pieds, une large poitrine etc !). C'est la question fondamentale de l'analyse des données en morphométrie (voir Yoccoz, N. (1988) Le rôle du modèle euclidien d'analyse des données en biologie évolutive. Thèse de doctorat, Université Lyon 1. 1-254 ou Yoccoz, N. G. (1993) Morphométrie et analyses multidimensionelles. Une revue des méthodes séparant taille et forme. In : Biométrie et Environment. Lebreton, J.D. & Asselain, B. (Eds.) Masson, Paris. 73-99) et c'est une erreur historique d'en avoir fait un problème de tout le monde. Les statisticiens indiens, qui s'intéressent à la morphométrie dans une société très hétérogène, ont privilégié ce problème qui ne se pose pratiquement pas en écologie.

Si on veut vraiment se débarasser de l'effet taille ?

Si on veut ne compter dans le calcul des distances qu'une seule fois un élément qui apparaît dans plusieurs reprises, il faut décorréler. Le plus simple est de faire l'analyse de (X,Q,D) puis d'ajouter les scores de variance unité des coordonnées parDDUtil : Add normed scores et calculer les distances par Distances : Canonical distance sur les coordonnées normalisées (fichier X.xxl1). Si on a gardé toutes les valeurs propres non nulles dans l'analyse de départ, on aura utilisé la métrique C- dite de Mahalanobis dans de nombreux travaux bien que ce ne soit pas celle de l'article d'origine (Mahalanobis, P.C. (1936) On the generalized distance in statistics. Proceedings of the National Institute of Sciences of India : 12, 49-55). Si l'analyse a donné des valeurs propres nulles on aura utilisé un inverse généralisé de C=XtDX comme métrique dite T-1 ou T- ou C-1 ou C- ou inverse de la matrice des covariances totales. Concrètement on aura décorréler mais l'usage des scores de tous les facteurs génèrent un abus da
ns l'autre sens à savoir qu'on a compté à égalité le premier axe qui intégre beaucoup d'information et le dernier qui n'est qu'un résidu ne contenant aucune information. On aura alors intérêt à ne faire porter Distances : Canonical distance que sur les coordonnées interprétées.

Distances entre classes

La distance de Malanobis décrit en fait la distance entre classes de points et non entre points. La confusion vient du fait que quand on sait calculer la distance entre deux points on peut s'en servir pour calculer la distance entre les centres de gravité de deux sous-nuages de points et on dit alors qu'on a une distance entre classes. Lorsqu'on rajoute des groupes la matrice C se décompose en deux morceaux C=W+B (W pour within, variances-covariances intra-groupes et B pour between variances-covariances inter-groupes). On peut donc calculer les distances entre lignes au sens de C- et utiliser cette distance pour calculer la distance entre les centres de gravités des classes (FilesUtil : CateRowSum-Mean sur le fichier X.xxl1 et Distances : Canonical distance sur le résultat). Pour avoir strictement la distance de Mahalanobis entre groupes, il faut prendre l'inverse de W (métrique W-1) qui est la distance entre classes lorsqu'on part de l'idée que la structure interne de chaque groupe est la même. Ceci est déc
rit dans Manly, B.F. (1994a) Multivariate Statistical Methods. A primer. Second edition. Chapman & Hall, London. 1-215 p. 62-67, correspond à l'article d'origine de Mahalanobis et s'exécute par Discrimin : Among_group_distances après Discrimin : Initialize/LinkPrep. Essayer avec l'exemple donné par Manly et disponible dans la carte Skulls (un problème de morphométrie, ce n'est pas un hasard !). En écologie, on aura plutôt intérêt à prendre Distances : Triplet To Distance sur un Z.beta après une analyse inter-classe (Discrimin : Between analysis/Run après Discrimin : Initialize/LinkPrep).

Cordialement

>Bonjour,
>Aprés avoir fait un AFC sur des données de présence-absence et des donées
>d'abondance, je voudrai calculer les distance de Mahalanobis. Je ne vois
>pas dans les docs que j'ai d'indications à ce sujet. Est il possible de le
>faire avec ADE-4 et si oui comment procede t-on?
>Par avance merci

Daniel Chessel
----------------------------------------------------------------
Universite Lyon 1 - Bat 401C - 69622 Villeurbanne CEDEX - France
Tel : 04 72 44 82 77 Fax : 04 72 43 11 41
----------------------------------------------------------------



This archive was generated by hypermail 2b30 : Sat Feb 10 2001 - 10:21:48 MET