Je me demande s'il est possible d'effectuer au sein de R un clustering de données ayant des variables de données mixtes. En d'autres termes, j'ai un ensemble de données contenant à la fois des variables numériques et catégorielles et je trouve la meilleure façon de les regrouper. Dans SPSS, j'utiliserais un cluster en deux étapes. Je me demande si en R je peux trouver une technique similaire. On m'a parlé du paquet poLCA, mais je ne suis pas sûr ...
r
clustering
mixed-type-data
Giorgio Spedicato
la source
la source
Réponses:
Cela peut arriver tard mais essayez klaR ( http://cran.r-project.org/web/packages/klaR/index.html )
Il utilise l'algorithme non hiérarchique des modes k, qui est basé sur l'appariement simple comme fonction de distance, de sorte que la distance δ entre une variable m de deux points de donnéesX et y est donnée par
Il y a un défaut avec le package, c'est-à-dire que si deux points de données ont la même distance à un centre de cluster, le premier de vos données est choisi par opposition à un point aléatoire, mais vous pouvez facilement modifier le bit dans le code.
Pour s'adapter à la mise en cluster à variables mixtes, vous devrez entrer dans le code et modifier la fonction de distance pour identifier les modes et variables numériques et non numériques.
la source
Une autre façon intéressante de gérer les variables de types mixtes consiste à utiliser la matrice de proximité / similitude de Random Forests: http://cogns.northwestern.edu/cbmg/LiawAndWiener2002.pdf . Cela facilite une façon unifiée de traiter également toutes les variables (néanmoins, soyez conscient du problème du biais de sélection des variables). D'un autre côté, il n'existe pas vraiment de méthode universelle pour définir la distance pour les variables de types mixtes. Tout dépend des contextes d'application.
la source
Vous pouvez utiliser l'analyse de correspondance multiple pour créer des dimensions continues à partir des variables catégorielles, puis les utiliser avec les variables numériques dans une deuxième étape.
la source
Eh bien, certainement. En rendant les variables catégorielles artificiellement numériques. Ou en utilisant un clustering basé sur une matrice de distance (fpc peut probablement le faire). La question à laquelle vous devez d'abord essayer de répondre est la suivante: est-ce vraiment logique?
la source
Vous pouvez utiliser le coefficient de similitude universel de Gower (voir Sneath & Sokal 1973, pp 135-136), qui pour deux OTU et est pour tous les caractères .j k
Le poids est soit 1 soit 0, selon que la comparaison est valide ou non (données manquantes, absence de caractère binaire dans les deux OTU). Des schémas de pesée plus compliqués ont été publiés.wi , j , k
variables binaires: 1 pour la concordance, 0 pour la discordance (équivalent au coefficient de Jaccard si est réglé sur 0 pour les absences concordantes)wi , j , k
caractères multi-états (nominaux ou ordinaux): 1 pour l'égalité, 0 sinon (équivalent au coefficient d'appariement simple)
caractère cardinal: avec la plage de caractères (soit dans la population, soit dans l'échantillon).si , j , k= 1 - | Xi , j- Xi , k|Rje Rje je
La bonne chose à propos de est qu'il peut non seulement gérer tous les types de données, mais qu'il est également robuste contre les données manquantes. Il en résulte également des matrices de similitude semi-définie positives, c'est-à-dire que les OTU sont représentées par des points dans l'espace euklidien (au moins sinon trop de données manquent).Sg
La distance entre les OTU peut être représentée par1 - Sg------√
la source
Si les valeurs possibles des variables catégorielles ne sont pas trop nombreuses, vous pouvez penser à créer des variables binaires à partir de ces valeurs. Vous pouvez traiter ces variables binaires comme des variables numériques et exécuter votre clustering. C'est ce que j'ai fait pour mon projet.
la source
Le clustering k-prototypes pourrait être mieux adapté ici. Il combine les modes k et les moyens k et est capable de regrouper des données numériques / catégorielles mixtes. Pour R, utilisez le package 'clustMixType'.
https://cran.r-project.org/web/packages/clustMixType/clustMixType.pdf
la source
VarSelLCM
offres forfaitairesSur CRAN , et décrit plus en papier .
L'avantage par rapport à certaines des méthodes précédentes est qu'il offre une aide au choix du nombre de clusters et gère les données manquantes. Une belle application brillante fournie n'est pas non plus désapprouvée.
la source