IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

PCA{FactoMineR} Cercle des corrélations


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 69
    Par défaut PCA{FactoMineR} Cercle des corrélations
    Bonjour,
    J'ai fait une ACP avec la fonction PCA du package FactoMineR et sur le graphe de sortie je n'obtiens pas de cercle de corrélation. Seulement mes variables placées selon les 2 premiers axes de mon ACP, mais pas de cercle (cf. pièce jointe).

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    a=read.table("totaldata2.txt",header=TRUE)
    z=PCA(a[,-c(1)],graph=T,scale.unit=F,quali.sup=1:3)
    Comment puis-je obtenir le cercle des corrélation?
    Merci de votre aide!
    Images attachées Images attachées  

  2. #2
    Inactif  
    Profil pro
    " "
    Inscrit en
    Janvier 2008
    Messages
    330
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : " "

    Informations forums :
    Inscription : Janvier 2008
    Messages : 330
    Par défaut
    Bonjour,

    Je pense que tu devrais avoir une liste contenant toutes les informations sur les variables actives.

    BC

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 69
    Par défaut
    Il y a bien la commande:
    Mais je ne comprends pas la sortie de cette commande. En voici le début:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    > z$var$cor
              Dim.1         Dim.2         Dim.3         Dim.4         Dim.5
    X400  0.7044234  0.6972447666  0.0032425827 -0.0918712633 -2.074036e-02
    X401  0.6999258  0.7021095505  0.0016827976 -0.0860622901 -1.164070e-02
    X402  0.7029790  0.6995144310  0.0016878852 -0.0835322014 -1.525771e-02
    X403  0.7039987  0.6977874328  0.0046004261 -0.0862880234 -1.492602e-02
    X400, X401, X402, X403 sont mes 4 premières variables.

    De plus, j'aurais souhaité obtenir quelque chose de visuel. Mais peut-être n'est ce pas possible avec la fonction "PCA".

  4. #4
    Inactif  
    Profil pro
    " "
    Inscrit en
    Janvier 2008
    Messages
    330
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : " "

    Informations forums :
    Inscription : Janvier 2008
    Messages : 330
    Par défaut
    Mais je ne comprends pas la sortie de cette commande. En voici le début:
    • 1 Si vous lisez cette table par ligne vous aurez:
      correllation(X400, DIM)= 0.7044234, correlation(X400, DIM2)=0.6972447666, ...
    • 2 Si vous la lisez par colonne: la première colonne correspondra aux corrélations entre tes variables et la première composante DIM1.


    De plus, j'aurais souhaité obtenir quelque chose de visuel. Mais peut-être n'est ce pas possible avec la fonction "PCA".
    Le graphique du cercle de corrélation, vous obtenez en même temps que le graphique des individus, dés que vous appelez la fonction PCA.

    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    library(FactoMineR)
    data(decathlon)
    res.pca <- PCA(decathlon, quanti.sup = 11:12, quali.sup=13)

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 69
    Par défaut
    C'est justement là tout mon problème, lorsque je rentre la ligne de code suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    z=PCA(a[,-c(1)],graph=T,ncp=5,scale.unit=F,quali.sup=1:3)
    Je n'obtiens pas directement le cercle des corrélations mais simplement le graphe que je vous ai mis en pièce jointe. J'ai bien essayé ces lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    library(FactoMineR)
    data(decathlon)
    res.pca <- PCA(decathlon, quanti.sup = 11:12, quali.sup=13)
    Et en effet, là j'obtiens le cercle des corrélations sur le graphe. D'où ma question : pourquoi dans le cas des données fournies avec la fonction PCA j'obtiens ce cercle alors qu'avec mes données non??? Je ne comprends pas.

    J'ai réussi à le retrouver via la fonction "s.corcircle" du package "ade4" mais le résultat n'est pas aussi "sympa" (cf. pièce jointe).
    Images attachées Images attachées  

  6. #6
    Inactif  
    Profil pro
    " "
    Inscrit en
    Janvier 2008
    Messages
    330
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : " "

    Informations forums :
    Inscription : Janvier 2008
    Messages : 330
    Par défaut
    Peut être qu'il faudrait plus regarder la structure de vos données. Sinon, sur ce lien vous avez une très bonne documention sur l'utilisation du package FactoMineR et sur celui-ci quelques idées pour l’interprétation de l'ACP.

    BC

  7. #7
    Membre émérite
    Homme Profil pro
    Chercheur
    Inscrit en
    Décembre 2015
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2015
    Messages : 327
    Par défaut
    scale.unit=FALSE signifie qu'on analyse une matrice de variance/covariance et non une matrice de corrélation. En conséquence, scale.unit=FALSE ne peut pas garantir que la norme des vecteurs-variables est l'unité dans l'espace N-dimensionnel où N est le nombre de variables, donc ne peut pas non plus garantir que la projection de ces vecteurs-variables sur le plan représenté dans le plot (souvent le plan dimension 1 x dimension 2) ne dépasse pas le cercle de rayon unité. Par contre scale.unit=TRUE projette toujours ces vecteurs à l'intérieur du cercle de corrélation qui est un cercle de rayon unité. Dans ce cas, le tracé de ce cercle et la position des vecteurs dans ce cercle a un sens, sens que cela n'a pas avec scale.unit=FALSE. En effet,avac scale.unit=TRUE, les variables projetées sur le cercle de corrélation sont celles qui sont intégralement dans ce plan et donc orthogonales aux autres dimensions.

    De manière informelle, scale.unit=TRUE permet d'analyser l'information commune entre paires de variables indépendamment de l'amplitude des variables en les transformant en unités arbitraires de dispersion ou en d'autres termes à combien d'unités de dispersion d'une variable correspond une unité de dispersion de l'autre - tandis que scale.unit=FALSE analyse ce qu'une variable apporte sur l'autre en terme d'amplitude ou à combien d'unités réelles d'une variable correspond une unité réelle de l'autre (par exemple à combien de cm correspond une variation d'un an pour scale.unit=FALSE tandis que pour scale.unit=TRUE, ce sera à combien de cm / sd(cm) correspond une variation de un an/sd(an) ou sd(x) est la déviation standard de la variable x dans mes données).

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2018
    Messages : 12
    Par défaut merciii beaucoup
    Citation Envoyé par faubry Voir le message
    scale.unit=FALSE signifie qu'on analyse une matrice de variance/covariance et non une matrice de corrélation. En conséquence, scale.unit=FALSE ne peut pas garantir que la norme des vecteurs-variables est l'unité dans l'espace N-dimensionnel où N est le nombre de variables, donc ne peut pas non plus garantir que la projection de ces vecteurs-variables sur le plan représenté dans le plot (souvent le plan dimension 1 x dimension 2) ne dépasse pas le cercle de rayon unité. Par contre scale.unit=TRUE projette toujours ces vecteurs à l'intérieur du cercle de corrélation qui est un cercle de rayon unité. Dans ce cas, le tracé de ce cercle et la position des vecteurs dans ce cercle a un sens, sens que cela n'a pas avec scale.unit=FALSE. En effet,avac scale.unit=TRUE, les variables projetées sur le cercle de corrélation sont celles qui sont intégralement dans ce plan et donc orthogonales aux autres dimensions.

    De manière informelle, scale.unit=TRUE permet d'analyser l'information commune entre paires de variables indépendamment de l'amplitude des variables en les transformant en unités arbitraires de dispersion ou en d'autres termes à combien d'unités de dispersion d'une variable correspond une unité de dispersion de l'autre - tandis que scale.unit=FALSE analyse ce qu'une variable apporte sur l'autre en terme d'amplitude ou à combien d'unités réelles d'une variable correspond une unité réelle de l'autre (par exemple à combien de cm correspond une variation d'un an pour scale.unit=FALSE tandis que pour scale.unit=TRUE, ce sera à combien de cm / sd(cm) correspond une variation de un an/sd(an) ou sd(x) est la déviation standard de la variable x dans mes données).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Matrice centré reduite et matrice des corrélations
    Par clement1990 dans le forum SAS STAT
    Réponses: 4
    Dernier message: 13/11/2017, 10h05
  2. Réponses: 0
    Dernier message: 13/12/2014, 18h55
  3. ACP cercle de corrélation
    Par ebongue dans le forum SAS STAT
    Réponses: 7
    Dernier message: 07/03/2013, 15h34
  4. Cercle des correlations sous SAS
    Par tomjr dans le forum SAS STAT
    Réponses: 0
    Dernier message: 02/06/2010, 17h03
  5. Matrice des corrélations
    Par fafabzh6 dans le forum SAS STAT
    Réponses: 0
    Dernier message: 30/07/2008, 14h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo