Comment PCA pourrait-il aider avec une analyse de classification k-means?

32

Contexte : Je souhaite classer les zones résidentielles d'une ville en groupes en fonction de leurs caractéristiques socio-économiques, y compris la densité d'unités de logement, la densité de population, les espaces verts, le prix du logement, le nombre d'écoles / centres de santé / garderies, etc. Je veux comprendre combien de groupes différents les zones résidentielles peuvent être divisées et quelles sont leurs caractéristiques uniques. Ces informations pourraient faciliter la planification de la ville.

Sur la base de quelques exemples (cf., ce billet de blog: Clustering PCA et K-means de Delta Aircraft ), j'ai trouvé la façon de faire l'analyse:

  1. Faites d'abord une analyse PCA.

  2. Déterminer le nombre de groupes uniques (grappes) sur la base des résultats de l'ACP (par exemple, en utilisant la méthode du «coude», ou alternativement, le nombre de composants qui explique 80 à 90% de la variance totale).

  3. Après avoir déterminé le nombre de clusters, appliquez le clustering k-means pour effectuer la classification.

Mes questions: il semble que le nombre de composants de l'ACP soit lié à l'analyse des clusters. C'est donc vrai, si, par exemple, nous avons trouvé 5 composants PCA expliqués à plus de 90% de la variation de toutes les fonctionnalités, alors nous appliquerions le clustering k-means et obtiendrions 5 clusters. Les 5 groupes correspondraient-ils exactement aux 5 composantes de l'analyse PCA?

En d'autres termes, je suppose que ma question est: Quel est le lien entre l'analyse PCA et le clustering k-means?

Mises à jour: Merci aux entrées d'Emre, de xeon et de Kirill. Donc, les réponses actuelles:

  1. Faire PCA avant l'analyse de clustering est également utile pour réduire la dimensionnalité en tant qu'extracteur de fonctionnalités et visualiser / révéler les clusters.

  2. Faire PCA après le clustering peut valider l'algorithme de clustering (référence: analyse du composant principal du noyau ).

  3. L'ACP est parfois appliquée pour réduire la dimensionnalité de l'ensemble de données avant le regroupement. Cependant, Yeung et Ruzzo (2000) ont montré que le regroupement avec les PC au lieu des variables d'origine n'améliore pas nécessairement la qualité du cluster. En particulier, les premiers PC (qui contiennent la plupart des variations des données) ne capturent pas nécessairement la majeure partie de la structure du cluster.

    • Yeung, Ka Yee et Walter L. Ruzzo. Une étude empirique sur l'analyse en composantes principales pour regrouper les données d'expression génique. Rapport technique, Département d'informatique et d'ingénierie, Université de Washington, 2000. ( pdf )
  4. Il semblait que l'ACP était nécessaire avant une analyse de regroupement en deux étapes . Basé sur Ibes (2015), dans lequel l'analyse des grappes a été réalisée en utilisant les facteurs identifiés dans l'ACP.

enaJ
la source
1
Vous pouvez utiliser PCA pour réduire la dimensionnalité en tant qu'extracteur de fonctionnalités et pour visualiser les clusters.
Emre
3
Commencez simplement: exécutez un classificateur directement sur les données dont vous disposez et notez les performances. Si vous n'êtes pas satisfait des performances, essayez PCA (sélectionnez le nombre de composants au "genou" du tracé de valeurs propres triées) et exécutez k-means. Si vous voyez de bons clusters, il y a de fortes chances que le classificateur PCA + fasse du bon travail.
Vladislavs Dovgalecs
1
Vous pouvez également effectuer PCA après le clustering, pour valider votre algorithme de clustering; code couleur chaque point par son étiquette de cluster. Je recommande également d'examiner le noyau PCA .
Emre
Il existe des méthodes qui effectuent simultanément la réduction de dimensionnalité et le clustering. Ces méthodes recherchent une représentation de faible dimension choisie de manière optimale afin de faciliter l'identification des clusters. Par exemple, voir package clustrd dans R et les références associées.
Nat

Réponses:

16

PCA n'est pas une méthode de clustering. Mais parfois, cela aide à révéler les clusters.

0dix

1dix2dixdixdix

0

Kirill
la source
Merci pour vos contributions. Pourriez-vous expliquer ce que sont les distributions normales à 10 dimensions avec une moyenne de 0? Voulez-vous dire dix variables d'entité en entrée et chacune d'elles suit une distribution normale?
enaJ
Désolé, je parle d'une variable aléatoire qui suit une distribution normale multivariée avec une moyenne qui sera un vecteur à 10 dimensions et une matrice de covariance qui est une matrice symétrique 10x10.
Kirill