--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "FactoMineR users".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse factominer-use...@googlegroups.com.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/factominer-users/cbdc44ea-6a12-437a-b324-c492bfaee5d1n%40googlegroups.com.
Bonjour,
Je vous remercie d’avoir pris le temps de répondre à mes questions !
Je me permets de vous joindre cette fois des illustrations du problème auquel je suis confrontée, qui seront peut-être plus parlantes, ainsi que le passage de script en question en fin de mail.
Pour l’utilisation de l’argument kk, je suis toujours gênée par le fait de ne pas pouvoir avoir de « bout » de script qui soit reproductible. Ci-dessous à titre d’exemple les effectifs de classes que j’obtiens avec 3 itérations (typokk1, typokk2 et typokk3) de la fonction HCPC, argument kk = 1000 :
J’ai bien conscience du fait que les n° de clusters peuvent changer d’une itération à l’autre, mais il y a ici par exemple une différence de 68 422 individus entre les clusters ayant le plus d’individus des typokk1 et 3. Cela me semble être trop (pour rappel, j’ai environ 400 000 individus au total), alors que vous insistiez dans un précédent message sur l’interprétabilité des classes qui primait sur le reste. Le nombre de clusters suggérés et le diagramme des gains d’inertie changent aussi beaucoup d’une itération à l’autre. Comment alors s’arrêter à une itération en se disant que c’est la bonne ? A titre d'illustration, les arbres obtenus à l'issue des 3 classifications (le découpage en 8 classes est basé sur la typo du milieu):
Un dernier élément m’interpelle dans cet essai : le plan factoriel des individus avec coloration par cluster semble ne pas présenter de lien logique et ainsi ne pas découler d’une CAH (même pour l'essai "bien découpé", en illustration ci-dessous). Quelle est l’origine de cette apparence ?
Utiliser la fonction kmeans séparément me semblait ainsi être un bon compromis, parce qu’elle me permettait :
Toutefois, je ne comprends pas pourquoi le plan factoriel (avec les positions des individus) dans lequel sont colorés les clusters en sortie d’HCPC ne correspond pas à celui obtenu en sortie de kmeans, et ne présente pas non plus de ressemblance avec celui obtenu en sortie d’AFDM. Ci-dessous les 3 nuages de points :
1. individus de l'AFDM sur les 2 premiers axes 2. 1000 barycentres obtenus par k-means 3. plan factoriel en sortie d'HCPC
Je me demandais également quelle était l’origine de l’inertie affichée sur les axes en sortie d’HCPC ? Quand vous parlez de « représenter éventuellement les classes sur un plan d'ACP », sur quoi cette dernière est-elle réalisée, et pourquoi ?
Il me semble enfin avoir déjà vu des précédents d’utilisation des centres kmeans dans HCPC sans les pondérer. Ainsi:
Bien cordialement,
Marie H
Les extraits de code concernés:
Bonjour,
Vous dites dans la réponse ci-dessous que la méthode HCPC
n'utilise pas le résultat d'une ACP pour calculer son arborescence
:
...
HCPC ne fait pas d'ACP pour faire les classes ou l'arbre, seulement pour représenter éventuellement les classes sur un plan d'ACP.
Et dans cette vidéo d'introduction à la Classification Ascendante
Hiérarchique datant du 17 avr. 2013 vous dites ceci :
3:59 ... je vais faire la
4:01 classification en utilisant uniquement
4:03 les cinq premières composantes de la CP
4:05 donc je [ne] vais pas utiliser l'ensemble des
4:07 données mais uniquement les cinq
4:09 premières composantes alors si je veux
4:10 utiliser l'ensemble des composantes de
4:12 l'ACP et bien dans la fonction PCA il
4:15 faut que je précise l'argument NCP =
4:19 inf alors ça peut être intéressant de ne
4:22 pas utiliser toutes les composantes de
4:23 la CP parce que bien justement les
4:25 dernières composantes on peut considérer
4:27 bien souvent que c'est du bruit et donc
4:30 d'enlever ces dernières composantes va
4:31 permettre de stabiliser les résultats
https://www.youtube.com/watch?v=3tT29UtHqd0
17 avr. 2013 Classification Ascendante Hiérarchique
Ce qui pour moi exprime le contraire.
Est-ce que le code d'HCPC a changé sur cet aspect entre 2013 et
2024 ?
Cordialement,
Serge Heiden
--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "FactoMineR users".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse factominer-use...@googlegroups.com.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/factominer-users/ac828f74-d58d-4615-b4d4-e823731f1ade%40gmail.com.
set.seed(12345)
Bonjour,
Je vous remercie d’avoir pris le temps de répondre à mes questions !
Je me permets de vous joindre cette fois des illustrations du problème auquel je suis confrontée, qui seront peut-être plus parlantes, ainsi que le passage de script en question en fin de mail.
Pour l’utilisation de l’argument kk, je suis toujours gênée par le fait de ne pas pouvoir avoir de « bout » de script qui soit reproductible. Ci-dessous à titre d’exemple les effectifs de classes que j’obtiens avec 3 itérations (typokk1, typokk2 et typokk3) de la fonction HCPC, argument kk = 1000 :
J’ai bien conscience du fait que les n° de clusters peuvent changer d’une itération à l’autre, mais il y a ici par exemple une différence de 68 422 individus entre les clusters ayant le plus d’individus des typokk1 et 3. Cela me semble être trop (pour rappel, j’ai environ 400 000 individus au total), alors que vous insistiez dans un précédent message sur l’interprétabilité des classes qui primait sur le reste. Le nombre de clusters suggérés et le diagramme des gains d’inertie changent aussi beaucoup d’une itération à l’autre. Comment alors s’arrêter à une itération en se disant que c’est la bonne ? A titre d’illustration, ci-dessous les arbres obtenus à l’issue des 3 itérations (le découpage en 8 classes est basé sur la 2ème illustration) :
Un dernier élément m’interpelle dans cet essai : le plan factoriel des individus avec coloration par cluster semble ne pas présenter de lien logique et ainsi ne pas découler d’une CAH. Quelle est l’origine de cette apparence ? Illustration avec le plan factoriel issu du « bon découpage » :
Utiliser la fonction kmeans séparément me semblait ainsi être un bon compromis, parce qu’elle me permet :
- D’augmenter le nombre d’itérations de l’algorithme et de positions de départ des barycentres différentes (avec l’argument nstart), en faisant l’hypothèse que la position des barycentres serait ainsi plus stable. J’ai cru comprendre qu’il y avait 5 itérations avec l’argument kk dans HCPC (nombre de fois où le message d’avertissement « les étapes de quick-transfer ont dépassé le maximum » s’affiche), et je ne sais pas pour le nombre de positions de départ différentes des barycentres.
- D’exporter un fichier csv des coordonnées des 1000 barycentres sur les 5 dimensions conservées de l’AFDM (et d’ainsi obtenir toujours les mêmes classes une fois que je lance HCPC à partir de ce fichier).
Toutefois, je ne comprends pas pourquoi le plan factoriel (avec les positions des individus) dans lequel sont colorés les clusters en sortie d’HCPC ne correspond pas à celui obtenu en sortie de kmeans, et ne présente pas non plus de ressemblance avec celui obtenu en sortie d’AFDM. Ci-dessous les 3 nuages de points :
1. individus projetés par l'AFDM 2. 1000 barycentres issus des k-means 3. plan factoriel en sortie d'HCPC
Je me demandais également quelle était l’origine de l’inertie affichée sur les axes en sortie d’HCPC ? Quand vous parlez de « représenter éventuellement les classes sur un plan d'ACP », sur quoi cette dernière est-elle réalisée, et pourquoi ?
Il me semble enfin avoir déjà vu des précédents d’utilisation des centres kmeans dans HCPC sans les pondérer. Ainsi :
- En quoi cela pose-t-il précisément problème ?
- Comment effectueriez-vous cette pondération ?
Merci encore ! C’est une immense chance de pouvoir ainsi échanger avec la personne à l’origine de ces outils (et les autres utilisateurs !).
Bien cordialement,
Marie H
Les extraits de script en question :
- res = FAMD(tabAFDM, sup.var = 1:7, graph = FALSE)
- kktypo = kmeans(res$ind$coord, 1000, iter.max = 100, nstart = 100)
- tabexport_kmeans = cbind(exp20typo[exp20typo$NOM_DOSSIER != *******,], data.frame(res$ind$coord))
- tabexport_kmeans$cluster.kmeans = kktypo$cluster
- write.csv2(tabexport_kmeans, "clusters_kmeans_typo7.csv", row.names = FALSE)
- write.csv(data.frame(kktypo$centers), "centers_kmeans_typo7.csv", row.names = FALSE)
- centers = fread("centers_kmeans_typo7.csv")
- typo = HCPC(centers, nb.clust = 13, description = TRUE, graph = FALSE)
Le jeudi 13 juin 2024 à 15:29:22 UTC+2, François Husson a écrit :
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/factominer-users/89d2eb66-629b-4f3e-9b27-d43bbab1c62cn%40googlegroups.com.
Re-bonjour,
Merci, c'est très clair : ça dépend du type de données fournies à HCPC (tableau ou ACP).
Par contre, en ce qui concerne la remarque ("rq : en prenant
toutes les dimensions, on retrouve les données brutes") dans le
cas d'une AFC, confirmez vous que le cas de l'application
HCPC(tableau) est différent de l'application HCPC(AFC(tableau)) en
prenant toutes les dimensions car le nombre de dimensions
factorielles disponibles est dans ce cas limité par le rang du
tableau brut ? (même si le résultat ne doit pas être bien
différent)
--SLH
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/factominer-users/d9eac690-bab9-4aa2-96ff-e20770e130a8%40agrocampus-ouest.fr.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/factominer-users/17bcf84d-1d79-48dd-adcf-d1efce4fcec1%40gmail.com.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/factominer-users/f69c31f0-750a-45d4-98d3-fe89de4da416n%40googlegroups.com.