Méthode de cluster robuste pour les données mixtes dans R

12

Je cherche à regrouper un petit ensemble de données (64 observations de 4 variables d'intervalle et une seule variable catégorielle à trois facteurs). Maintenant, je suis assez nouveau dans l'analyse de cluster, mais je suis conscient qu'il y a eu des progrès considérables depuis l'époque où le clustering hiérarchique ou k-means étaient les seules options disponibles. En particulier, il semble que de nouvelles méthodes de clustering basées sur des modèles soient disponibles qui, comme souligné par chl , permettent l'utilisation "d'indices de qualité d'ajustement pour décider du nombre de clusters ou de classes".

Cependant, le package R standard pour le clustering basé sur des mclustmodèles ne convient apparemment pas aux modèles avec des types de données mixtes. Le fpcmodèle le fera, mais a du mal à s'adapter à un modèle, je suppose en raison de la nature non gaussienne des variables continues. Dois-je continuer avec l'approche basée sur un modèle? J'aimerais continuer à utiliser R si possible. Selon moi, j'ai quelques options:

  1. Convertissez la variable catégorielle à trois niveaux en deux variables fictives et utilisez mclust. Je ne sais pas si cela faussera les résultats, mais sinon c'est mon option préférée.
  2. Transformez les variables continues en quelque sorte et utilisez le fpcpackage.
  3. Utilisez un autre package R que je n'ai pas encore rencontré.
  4. Créez une matrice de dissimilarité en utilisant la mesure de Gower et utilisez les techniques traditionnelles de cluster hiérarchique ou de délocalisation.

Le stats.se hivemind a-t-il des suggestions ici?

fmark
la source
Pour convertir vos données catégorielles en code factice (un codé à chaud), vous pouvez utiliser la fonction dummy.data.frame. en entrée, vous pouvez donner vos données mixtes et en sortie, il encode simplement les données catégoriques.
Naghmeh

Réponses:

7

Je vous recommande d'utiliser Gower avec un clustering hiérarchique ultérieur. Le clustering hiérarchique reste la méthode la plus flexible et la plus appropriée dans le cas d'un petit nombre d'objets (comme 64). Si votre variable catégorielle est nominale, Gower la recodera en interne en variables factices et basera la similitude des dés (dans le cadre de Gower) sur elles. Si votre variable est ordinale, vous devez savoir que la dernière version du coefficient de Gower peut également l'adapter.

Quant à de nombreux indices pour déterminer le "meilleur" nombre de clusters, la plupart d'entre eux existent indépendamment de tel ou tel algorithme de clustering. Vous n'avez pas besoin de rechercher des packages de clustering qui incorporent nécessairement de tels index car ces derniers peuvent exister en tant que packages séparés. Vous laissez une gamme de solutions de cluster après un package de cluster, puis comparez celles-ci par un index d'un autre package.

ttnphns
la source
J'ai fini par emprunter cette voie, merci pour le conseil.
fmark