Qualité des individus.

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

sara badi
Messages : 5
Enregistré le : 14 Juin 2007, 10:29

Qualité des individus.

Messagepar sara badi » 04 Juil 2007, 23:21

salut à vous tous!
je devais effectuer une acp,une classification,et une k-moyenne,j'ai reussi à le faire en utilisant les commandes suivante:

Code : Tout sélectionner

> donnees=read.table("C:/n/don.csv", header=TRUE, sep=";", dec=",")
>b<-scale(donnees)
>cor(b)
>acp <- dudi.pca(donnees)
> head(acp$tab)
> acp$cw
> acp$lw
>acp$eig
> axe<- 100 * acp$eig/sum(acp$eig)
> cumsum(axe)
> acp$rank
> acp$nf
> acp$co
> acp$li
> s.label(acp$li, xax = 1, yax = 2)
> s.corcircle(acp$co, xax = 1, yax = 2)
> scatter(acp)

tout ça marche à merveille!mon problème maintenant consiste à trouver la qualité des individus,j'ai essayer quelques commandes mais ça marche pas :(

Héléna Castermant
Messages : 39
Enregistré le : 08 Juin 2007, 07:40

Messagepar Héléna Castermant » 05 Juil 2007, 08:35

Salut,

Moi j'utilise la fonction princomp pour faire l'ACP...
Avec cette fonction, voilà les commandes pour calculer la qualité des individus :

Code : Tout sélectionner

>nom.acp<-princomp("nomtable",cor=TRUE,scores=TRUE)
>F<-nom.acp$score
>F2<-F*F
>N2<-apply(F2,1,sum)
>Q<-F2/N2

F te donne les projections des individus.
Q te donne la qualité des individus (l'histoire du cos²).
J'espère que cela t'aidera.

Tillard
Messages : 87
Enregistré le : 17 Déc 2004, 10:32

Messagepar Tillard » 05 Juil 2007, 10:09

bonjour
voir

inertia.dudi(acp, row=T)$col.rel

Emmanuel
Emmanuel Tillard
UMR ERRC (Elevage des Ruminants en Regions Chaudes)
CIRAD - St PIERRE (La Réunion)
tel: 02 62 49 92 54

sara badi
Messages : 5
Enregistré le : 14 Juin 2007, 10:29

Messagepar sara badi » 06 Juil 2007, 22:43

Merci bien!!Mais ça me donne pas de bon resultats (des grands nombres)pour les deux propositions.ce que je cherche exactement c'est une fonction ou une commande de la bibliothèque ade4 (acp normé)pour calculer la qualités de représentations des individus et aussi calculer la contribution des inividus et des variables pour pouvoir intérpreter mes résultats.
merci d'avance!
ça serai trés aimable si vous pouvez ajouter des commentaires pour chaque commande. :wink:

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Messagepar Logez Maxime » 09 Juil 2007, 06:53

Bonjour,


Pour la librairie ade4 il te suffit de diviser chaque nombre par 10000.

Code : Tout sélectionner

data(doubs)
tab <- doubs$mil # récupération d'un tableau de données
acp1 <- dudi.pca(tab,scannf=F,nf=2) #acp centré et normé
inertia.dudi(acp1,row=T)$row.cum/10000 #pour l'avoir en valeur absolu voir row.rel pour l'avoir en relatif


Ce qui revient à la matrice Q du calcul de Héléna.

Maxime

Héléna Castermant
Messages : 39
Enregistré le : 08 Juin 2007, 07:40

Messagepar Héléna Castermant » 09 Juil 2007, 07:36

Salut !

Alors, je vais te donner le mini-cours qu'un prof nous a donné pour faire ce que tu veux. En ce qui concerne les variables, je peux dire que c'est bon (car je m'en suis servi, et ai corrigé une erreur certaine du prof :lol: à propos du calcul de Cet, mais à vérifier au cas où), mais les lignes de code en ce qui concerne les individus sont à vérifier par rapport aux formules théoriques.

Pour effectuer une ACP normée, faire :

Code : Tout sélectionner

nom.acp<-princomp("nomtable",cor=TRUE,scores=TRUE)

Pour obtenir les valeurs propres, faire :

Code : Tout sélectionner

lambda<-nom.acp$sdev*nom.acp$sdev

Pour avoir les projections Fet des variables sur les axes factoriels, leur cosinus carré Qet et leur contribution Cet par rapport à ces mêmes axes, faire :

Code : Tout sélectionner

Fet<-t(t(nom.acp$loadings)*nom.acp$sdev)
Fet2<-Fet*Fet
Net2<-apply(Fet2,1,sum)
Qet<-Fet2/Net2
Cet<-matrix(nrow=nombre de variables,ncol=nombre de variables)
for (i in 1: nombre de variables)
Cet[i, ]<-Fet2[i, ]/lambda

Pour avoir le calcul des projections F, des individus sur les axes principaux, de leur cosinus carré Q et de leur contribution C, par rapport à ces mêmes axes, faire :

Code : Tout sélectionner

F<-nom.acp$score
F2<-F*F
N2<-apply(F2,1,sum)
Q<-F2/N2
C<-t(t(F2))/(nom.acp$n.obs*lambda)

où nom.acp$n.obs est le nombre d'individus.

J'espère que cela pourra t'aider ! :wink:

sara badi
Messages : 5
Enregistré le : 14 Juin 2007, 10:29

Qualité des individus.

Messagepar sara badi » 09 Juil 2007, 23:02

enfinnnnn !!!ça marche à merveille! :lol:
j'ai plus envie de quitter R de peur que ça marche pas la prochaine fois!!
Merci bien Maxime (toujours des solutions superbes);merci Hélene et aussi merci à tous les utilisateurs pour leurs solutions !:)

Fabrice Morlais
Messages : 19
Enregistré le : 25 Oct 2007, 16:18

Messagepar Fabrice Morlais » 30 Jan 2008, 15:58

Bonjour,
Pour les contributions des individus il me semble qu'il y a un problème de transposé :

Code : Tout sélectionner

C<-t(t(F2)/(ville.pca$n.obs*lambda))


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité