Re: Calcul de distances euclidiennes

From: Daniel Chessel (chessel@biomserv.univ-lyon1.fr)
Date: Fri Mar 13 1998 - 06:20:31 MET


La réponse de Federico Spinazzi est parfaitement correcte.

On peut préciser pour comparer les sorties que la distances euclidiennes
est aussi calculée dans Distances : Canonical distance.

J'ai mis le fichier de données de Jean-Francois RAMI dans X.imp, importé
dans ADE-4 par
TextToBin : Import file
puis changer le nombre de lignes et de colonnes par
TextToBin : Changing row & col numbers.

X a 6 lignes et 203 colonnes. L'option
Distances : Canonical distance
donne la matrice :

  0.0000 7.2129 8.2381 6.9457 7.7633
7.6334
  7.2129 0.0000 8.5029 7.5013 8.0151
8.3811
  8.2381 8.5029 0.0000 8.5804 7.8776
9.5946
  6.9457 7.5013 8.5804 0.0000 6.9301
7.4851
  7.7633 8.0151 7.8776 6.9301 0.0000
8.3666
  7.6334 8.3811 9.5946 7.4851 8.3666
0.0000

Observer alors que le maximum des valeurs est 9.5946 et :

7.2129/9.5946 = 0.7517666 ce qui est ce que donne Clusters : Compute distances

Noter encore que :

0.506/0.673 = 0.7519

ce qui montre que les résultats de SysStat ont la même propriété.

Observer enfin que :

7.2129/sqrt(203) = 0.506
9.5946/sqrt(203) = 0.673

ce qui montre que
Distances : Canonical distance
calcule la somme pour les colonnes du carré de la différence des valeurs
S(xi-yi)^2
ce qui est la définition de la métrique canonique et que SysStat donne
cette valeur divisée par racine (n)
1/sqrt(n)S(xi-yi)^2)
ce qui est une autre définition très proche (mais pas identique !)

Merci à tous les deux pour ces précisions

>here is the difensor of JT&DC's work [?]....
>
>The 'problem', I think, is that Cluster computes distances and then scales
>them with respect to the maximium one. Looking at you data, the maximum
>distance (systat) occurs between obs 1 & 6 (0.673): from Cluster it comes
>with the value of 1...
>
>Well, I hope to be right...
>
>----------------------------------------
>Federico Spinazzi
>email: federico@syspr03.disat.unimi.it
>----------------------------------------
>
>
>On Thu, 12 Mar 1998, RAMI Jean-Francois wrote:
>
>> Bonjour,
>>
>>
>> J'utilise la fonction "compute distance" du module "clusters" pour estimer
>> une distance euclidienne. J'ai constatÈ dans les rÈsultats une distance
>> Ègale ý 1 entre deux observations ayant des valeurs Ègales pour plus d'une
>> variable. En outre lorsque je fait la manip avec Systat (SPSS) je n'obtient
>> pas du tout les mÍmes valeurs.
>> En quoi les fonctions du module cluster diffÈrent elles du calcul de
>> distance euclidienne de systat?
>> Voici pour appuyer mon propos les 6 premieres observations de mon fichier
>> (203 variables), les ditances calculÈes par le module cluster puis celles
>> obtenues par systat:

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:52 MET