Quelles sont les distances entre les variables constituant une matrice de covariance?


11

J'ai une matrice de covariance et je souhaite partitionner les variables en clusters en utilisant un clustering hiérarchique (par exemple, pour trier une matrice de covariance).n×nk

Existe-t-il une fonction de distance typique entre les variables (c'est-à-dire entre les colonnes / lignes de la matrice de covariance carrée)?

Ou s'il y en a plus, existe-t-il une bonne référence sur le sujet?


Pourquoi voudriez-vous utiliser un clustering hiérarchique sur des variables? En général, nous pensons à une matrice de données , avec des variables dans les colonnes et des observations dans les lignes. Si vous voulez rechercher des groupements latents, vous pouvez essayer, par exemple, un regroupement hiérarchique sur des lignes / observations, ou, par exemple, une analyse factorielle sur des colonnes / variables. X
gung - Rétablir Monica

@Piotr, Oui, la covariance (ou corrélation ou cosinus) peut être facilement et naturellement convertie en distance euclidienne, car il s'agit d'un produit scalaire (= similitude de type angulaire). Connaître la covariance entre deux variables ainsi que leurs variances implique automatiquement de connaître d entre les variables: . d2=σ12+σ222cov
ttnphns

Notez que cette formule signifie qu'une covariance négative est plus éloignée que la covariance positive (et c'est en effet le cas du point de vue géométrique). Si vous ne voulez pas que le signe de la covariance joue un rôle, supprimez le signe négatif.
ttnphns

@gung C'est une matrice symétrique, donc lignes ~ colonnes. Pour moi, il est crucial de le diviser en ensembles de variables, non pas de les «faire pivoter» avec l'analyse factorielle (en fait, je ne travaille pas avec une matrice de cov standard, mais complexe (matrice de densité en mécanique quantique)).
Piotr Migdal

@ttnphns Merci. Ce qui me dérange, c'est que je veux séparer les variables non corrélées - la corrélation négative est pour moi (presque) aussi bonne que la positive.
Piotr Migdal

Réponses:


13

La covariance (ou corrélation ou cosinus) peut être facilement et naturellement convertie en distance euclidienne au moyen de la loi des cosinus , car c'est un produit scalaire (= similitude angulaire) dans l'espace euclidien. Connaître la covariance entre deux variables i et j ainsi que leurs variances implique automatiquement de connaître d entre les variables: . (Que est directement proportionnel à la distance euclidienne au carré habituelle d 2 i jdij2=σi2+σj22covijdij2: vous obtenez ce dernier si vous utilisez les sommes des carrés et la somme des produits croisés à la place des variances et de la covariance. Les deux variables doivent bien sûr être centrées au départ: parler de «covariances» revient à penser à des données avec des moyennes supprimées.)

Remarque, cette formule signifie qu'une covariance négative est plus grande que la covariance positive (et c'est en effet le cas du point de vue géométrique, c'est-à-dire lorsque les variables sont vues comme des vecteurs dans l' espace sujet ). Si vous ne voulez pas que le signe de la covariance joue un rôle, supprimez le signe négatif. Ignorer le signe négatif n'est pas une opération de «correction manuelle» et est garanti, si nécessaire: si la matrice cov est définie positive, la matrice abs (cov) sera également définie positive; et donc les distances obtenues par la formule ci - dessus seront vrais euclidiennes distances (distance euclidienne est une sorte particulière de métrique de distance).

Les distances euclidiennes sont universelles en ce qui concerne le clustering hiérarchique : toute méthode d'un tel clustering est valide avec euclidienne ou euclidienne au carré d . Mais certaines méthodes, par exemple la liaison moyenne ou la liaison complète, peuvent être utilisées avec n'importe quelle dissemblance ou similitude (pas seulement des distances métriques). Vous pouvez donc utiliser ces méthodes directement avec la matrice de cov ou abs (cov) ou - juste par exemple - avec la matrice de distance max (abs (cov)) - abs (cov) . Bien sûr, les résultats de regroupement dépendent potentiellement de la nature exacte de la (dis) similitude utilisée.


Comment définissez-vous ? J'ai trouvé que cela est égal à la valeur attendue de la distance au carré entre deux variables stochastiques si les deux variables ont la même moyenne, mais pas si elles ont une moyenne différente (alors sera plus petit). d 2 i jdij2dij2
HelloGoodbye

@HelloGoodbye, oui j'implique deux variables (vecteurs) avec des moyens égaux - en fait, avec des moyens supprimés, en premier lieu.
ttnphns

3

Pourquoi ne pas utiliser la matrice de corrélation pour faire le clustering? En supposant que vos variables aléatoires sont centrées, en calculant la corrélation entre les variables, vous calculez la distance de similitude en cosinus . Cette distance est également mentionnée dans votre lien. Cette distance peut être utilisée pour le clustering hiérarchique. Plus la similitude 1 - | cosinus est petite, plus vos variables sont similaires.


Et leurs propriétés? Je n'ai aucun problème à venir avec certaines distances (par exemple , ou une effectivement la même que la distance cosinus., Ou certains liés aux projections sur les vecteurs propres). Je veux juste le faire d'une manière instruite adaptée à la matrice de covariance. d(i,j)=1Aij2/(AiiAjj)
Piotr Migdal

3
Ah, désolé pour le malentendu. La meilleure source que je connaisse est celle-ci . Ils étudient la qualité de plusieurs métriques (qui utilisent la corrélation) avec le clustering hiérarchique. Pour le clustering hiérarchique, j'essaie normalement de nombreuses mesures et je vois laquelle fonctionne le mieux pour mon objectif et mes données.
Jorge Banuelos

le lien ne semble plus fonctionner?
Matifou
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.