Forum de Statistiques
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment : -43%
-100€ Pack rééquipement Philips Hue ...
Voir le deal
129.99 €

Représentation sur axes factoriels des centres de classes

2 participants

Aller en bas

Représentation sur axes factoriels des centres de classes Empty Représentation sur axes factoriels des centres de classes

Message par HDKalit Mer 5 Juin 2013 - 14:21

Bonjour tout le monde,

Sur un jeu de données de 500000 individus pour 10 variables j'ai réalisé une analyse en composante principale pour avoir une représentation graphique de toutes mes données (individus mais également variables).
Après cette ACP (je n'avais que des données quantitatives) j'ai réalisé une CAH pour avoir un "profil" de mes individus. J'ai retenu 4 classes.

J'arrive à représenter sur le plan factoriel mes individus en fonction de leur classe (ça se fait même automatiquement) mais du fait du trop grand nombre d'individus j'aimerai ne représenter que les centres de classes avec soit une ellipse représentant l'étendue des mes individus appartenant à cette classe, soit des petits points sans le nom pour chaque individu (mais même là je pense que ça sera illisible).

Voici le code (très simple) que j'ai utilisé

Code:

library(FactoMineR)
res.ACP<-PCA(datasACP)
res.hcpc <- HCPC(res.ACP)
où le dernier appel me propose automatiquement où couper ma CAH et après les graphiques "classiques" de l'ACP en tenant compte des classes retenues dans la CAH.

Je sais qu'il existe également le package ade4 (mais je le maîtrise moins dans l'interprétation des sorties même si je me doute que ça doit être assez proche) mais si vous aviez des idées sur ce que j'aimerai faire j'en serai ravi Smile

Cordialement,

KhaliHD

HDKalit

Nombre de messages : 85
Date d'inscription : 10/01/2013

Revenir en haut Aller en bas

Représentation sur axes factoriels des centres de classes Empty Re: Représentation sur axes factoriels des centres de classes

Message par droopy Mer 5 Juin 2013 - 15:01

Concernant ade4, tu as les fonctions s.class (et ses différents arguments pour enlever les points, réduire leur taille, de même pour les ellipses), et s.chull qui peuvent t'aider. Tu peux très bien te servir de ces fonctions graphiques avec les sorties de ton acp du moment que tu connais la structure des objets en sortie de PCA et autre HCPC.
droopy
droopy

Nombre de messages : 1156
Date d'inscription : 04/09/2009

Revenir en haut Aller en bas

Représentation sur axes factoriels des centres de classes Empty Re: Représentation sur axes factoriels des centres de classes

Message par HDKalit Mer 5 Juin 2013 - 15:10

droopy a écrit:Concernant ade4, tu as les fonctions s.class (et ses différents arguments pour enlever les points, réduire leur taille, de même pour les ellipses), et s.chull qui peuvent t'aider. Tu peux très bien te servir de ces fonctions graphiques avec les sorties de ton acp du moment que tu connais la structure des objets en sortie de PCA et autre HCPC.

Oui je parlais d'ade4 car justement une sortie graphique de ce type m'intéressait.
Ceci dit je ne savais pas si les algos utilisés étaient les même que ce soit pour l'acp ou pour la hcpc.

Je vais regarder de plus près ade4 et les fonctions que tu m'a donné pour justement voir la structure attendue en entrée comparativement aux structures que j'ai en sortie de factominer.

Si quelqu'un a d'autres idées en lien avec factominer uniquement je suis preneur également Wink

Encore merci droopy de l'info,

Cdlt,

KaliHD

HDKalit

Nombre de messages : 85
Date d'inscription : 10/01/2013

Revenir en haut Aller en bas

Représentation sur axes factoriels des centres de classes Empty Re: Représentation sur axes factoriels des centres de classes

Message par droopy Jeu 6 Juin 2013 - 8:15

re,

tu peux très bien utiliser les fonctions graphiques d'ade4 avec les sorties de FactoMineR. Les deux packages ne sont pas exclusifs :
Code:
require(ade4)
require(FactoMineR)

data(meaudret)
tab <- meaudret$mil

# acp version ade4
acp1 <- dudi.pca(tab, scannf=F, nf=2)

# acp version FactoMineR
acp2 <- PCA(tab, ncp=2)

# meme plan factoriel des variables
all.equal(as.data.frame(acp2$var$coord), acp1$co, check.attr=FALSE)
[1] TRUE

# meme plan factoriel des individus
all.equal(as.data.frame(acp2$ind$coord), acp1$li, check.attr=FALSE)
[1] TRUE

# bref la présentation des résultats diffèrent mais pas les résultats !

res.hcpc <- HCPC(acp2)
s.class(acp2$ind$coord, res.hcpc$call$X$clust, cpoint=0, col=1:4)
s.chull(acp2$ind$coord, res.hcpc$call$X$clust, optchull=1, col=1:4)
acp3 <- PCA(cbind(tab, groupe=res.hcpc$call$X$clust), ncp=2, quali.sup=ncol(tab)+1, graph=FALSE)
plot(acp3, habillage=ncol(tab)+1)
# equivalent à :
s.class(acp2$ind$coord, res.hcpc$call$X$clust, cellipse=0, col=1:4, cstar=0)
La tu as la confirmation que les résultats des deux packages sont bien les mêmes et que tu peux très bien faire ta classif avec FactoMineR et faire les graphs avec ade4 ...
droopy
droopy

Nombre de messages : 1156
Date d'inscription : 04/09/2009

Revenir en haut Aller en bas

Représentation sur axes factoriels des centres de classes Empty Re: Représentation sur axes factoriels des centres de classes

Message par HDKalit Jeu 6 Juin 2013 - 8:38

Merci droopy,

Je vais regarder ça aujourd'hui.
Hier j'avais lancé un test sur un trop gros jeu de données et ça avait fait planter mon R avec ade4.

Je vais le refaire avec un plus petit jeu de données pour voir un peu les possibilités Smile

Encore merci Wink

Cdlt,

KhaliHD

HDKalit

Nombre de messages : 85
Date d'inscription : 10/01/2013

Revenir en haut Aller en bas

Représentation sur axes factoriels des centres de classes Empty Re: Représentation sur axes factoriels des centres de classes

Message par HDKalit Jeu 6 Juin 2013 - 9:38

Bon effectivement ça marche.

Malheureusement c'est toujours assez illisible puisque les ellipses se chevauchent (idem pour les triangles). Sad
Pour un souci de lisibilité je ne vois pas trop comment faire ...

Encore merci pour ton aide droopy Wink

Cdlt,

KhaliHD

HDKalit

Nombre de messages : 85
Date d'inscription : 10/01/2013

Revenir en haut Aller en bas

Représentation sur axes factoriels des centres de classes Empty Re: Représentation sur axes factoriels des centres de classes

Message par droopy Jeu 6 Juin 2013 - 9:57

tu peux faire apparaître les points en très petit, cpoint=0.01 ou plus gros comme tu veux, faire disparaitre les ellipses : cellipse=0, et juste garder le depart des segments entre chaque point et son barycentre de classe : cstar=0.15. Faut jouer sur les différents paramètres.
droopy
droopy

Nombre de messages : 1156
Date d'inscription : 04/09/2009

Revenir en haut Aller en bas

Représentation sur axes factoriels des centres de classes Empty Re: Représentation sur axes factoriels des centres de classes

Message par HDKalit Jeu 6 Juin 2013 - 10:06

Ouaip.
J'avais pensé au cpoint = 0.01

Malheureusement je n'arrive pas encore à maitriser tous les paramètres de s.class (ou s.chull) pour avoir une représentation similaire à ce que j'ai montrer avec factominer (notamment au niveau des axes).

Et scatter appliqué à mon dudi.pca me donne pas les même axes (enfin j'ai l'impression qu'ils sont "à l'envers").

Bref va falloir que je comprenne tout ça ^^

Encore merci

KhaliHD

HDKalit

Nombre de messages : 85
Date d'inscription : 10/01/2013

Revenir en haut Aller en bas

Représentation sur axes factoriels des centres de classes Empty Re: Représentation sur axes factoriels des centres de classes

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum