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).
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?
clustering
covariance
distance-functions
distance
Piotr Migdal
la source
la source
Réponses:
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 jd2ij=σ2i+σ2j−2covij d2ij : 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.
la source
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.
la source