La covariance / corrélation de distance (= covariance / corrélation brownienne) est calculée comme suit:
- Compute matrice de distances euclidiennes entre les
N
cas de variables , et un autre de même matrice par la variable Y . L'une ou l'autre des deux caractéristiques quantitatives, X ou Y , peut être multivariée, pas seulement univariée.XOuiXOui
- Effectuez un double centrage de chaque matrice. Découvrez comment le double centrage est généralement effectué. Cependant, dans notre cas, lorsque vous le faites, ne rectifiez pas les distances au départ et ne divisez pas par à la fin. Les moyennes des lignes, des colonnes et la moyenne globale des éléments deviennent nulles.- 2
- Multipliez les deux matrices résultantes par élément et calculez la somme; ou de manière équivalente, déballer les matrices en deux vecteurs de colonne et calculer leur produit croisé additionné.
- Moyenne, en divisant par le nombre d'éléments,
N^2
.
- Prenez racine carrée. Le résultat est la covariance de la distance entre et Y .XOui
- Les variances de distance sont les covariances de distance de , de Y avec soi-même, vous les calculez également, points 3-4-5.XOui
- La corrélation de distance est obtenue à partir des trois nombres de la même manière que la corrélation de Pearson est obtenue à partir de la covariance habituelle et de la paire de variances: divisez la covariance par la racine carrée du produit de deux variances.
La covariance (et corrélation) de distance n'est pas la covariance (ou corrélation) entre les distances elles-mêmes. C'est la covariance (corrélation) entre les produits scalaires spéciaux ( produits scalaires ) dont sont constituées les matrices "double centrées".
Dans l'espace euclidien, un produit scalaire est la similitude liée de manière univoque avec la distance correspondante. Si vous avez deux points (vecteurs), vous pouvez exprimer leur proximité en tant que produit scalaire au lieu de leur distance sans perdre d'informations.
Cependant, pour calculer un produit scalaire, vous devez vous référer au point d'origine de l'espace (les vecteurs viennent de l'origine). Généralement, on pourrait placer l'origine où il veut, mais souvent et commodément c'est de la placer au milieu géométrique du nuage des points, la moyenne. Parce que la moyenne appartient au même espace que celui couvert par le nuage, la dimensionnalité ne gonflerait pas.
Maintenant, le double centrage habituel de la matrice de distance (entre les points d'un nuage) est l'opération de conversion des distances en produits scalaires tout en plaçant l'origine à ce milieu géométrique. Ce faisant, le "réseau" de distances est remplacé de manière équivalente par le "burst" de vecteurs, de longueurs spécifiques et d'angles par paires, depuis l'origine:
[La constellation sur mon exemple d'image est plane, ce qui montre que la "variable", disons que c'était , l'ayant générée était bidimensionnelle. Bien sûr, lorsque X est une variable à colonne unique, tous les points se trouvent sur une seule ligne.]XX
Un peu formellement sur l'opération de double centrage. Soit des n points x p dimensions
données (dans le cas univarié, ). Soit D la matrice des distances euclidiennes entre les points. Que C soit X avec ses colonnes centrées. Alors S = double centre D 2 est égal à C C ' , les produits scalaires entre les rangées après que le nuage de points a été centré. La propriété principale du double centrage est que 1Xp=1
Dn x n
n
CXS=double-centered D2CC′ , et cette somme est égalela somme inversée de l'arrêtéléments -diagonal de S .12n∑D2=trace(S)=trace(C′C)S
Retour à la corrélation de distance. Que faisons-nous lorsque nous calculons la covariance de distance? Nous avons converti les deux réseaux de distances en leurs paquets de vecteurs correspondants. Et puis nous calculons la covariation (et par la suite la corrélation) entre les valeurs correspondantes des deux paquets: chaque valeur de produit scalaire (ancienne valeur de distance) d'une configuration est multipliée par sa correspondante de l'autre configuration. Cela peut être vu comme (comme cela a été dit au point 3) le calcul de la covariance habituelle entre deux variables, après vectorisation des deux matrices dans ces "variables".
Ainsi, nous covarions les deux ensembles de similitudes (les produits scalaires, qui sont les distances converties). Toute covariance est le produit croisé des moments: vous devez calculer ces moments, les écarts par rapport à la moyenne, d'abord, - et le double centrage était ce calcul. Voici la réponse à votre question: une covariance doit être basée sur des moments mais les distances ne sont pas des moments.
La prise supplémentaire de racine carrée après (point 5) semble logique parce que dans notre cas, le moment était déjà lui-même une sorte de covariance (un produit scalaire et une covariance sont structurellement compeers ) et il est donc venu que vous avez une sorte de covariances multipliées deux fois. Par conséquent, pour redescendre au niveau des valeurs des données d'origine (et pour pouvoir calculer la valeur de corrélation), il faut ensuite prendre la racine.
(0,2)12
Je pense que vos deux questions sont profondément liées. Alors que les diagonales d'origine dans la matrice de distance sont 0, ce qui est utilisé pour la covariance (qui détermine le numérateur de la corrélation) est les valeurs doublement centrées des distances - ce qui, pour un vecteur avec une variation, signifie que les diagonales seront négatif.
Passons donc en revue un cas indépendant simple et voyons si cela nous donne une intuition quant à la raison pour laquelle la corrélation est 0 lorsque les deux variables sont indépendantes.
(Comme le souligne ttnphns, cela ne suffit pas en soi, car la puissance est également importante. Nous pouvons faire le même double centrage, mais si nous les ajoutons en quadrature, nous perdrons la propriété if et only if.)
la source