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

MATLAB Discussion :

Corrélation vs régression


Sujet :

MATLAB

  1. #1
    Invité
    Invité(e)
    Par défaut Corrélation vs régression
    Bonjour,

    J'essaie de quantifier les liens qui unissent plusieures variables, et une petite question me vient.

    D'une part, Matlab propose d'utiliser les coefficients de corrélation pour déterminer la force du lien unissant deux variables, grâce à la fonction corrcoef.

    D'autre part, lorsque je trace (plot) un régression entre ces deux variables, Matlab peut me calculer le coefficient de détermination R².

    Ma question vient du fait que les coefficients issus de corrcoef sont différents de ceux issus de R² (corrcoef supérieurs).
    A noter que les R² dépendent du type de régression que je choisi (d'ordre 2 en ce qui me concerne).

    Quel type de "quatification des liens" utiliser ? R² ou corrcoef ?
    Et pour corréler une variable A à un groupe (couple, triplet, etc) d'autres variables B, C, D, comment faire avec corrcoef (corrcoef([A B C D]) corrèle chaque variable les unes avec les autres, ce n'est pas ce que je veux) ?

    Merci de votre aide !
    Dernière modification par Invité ; 17/08/2011 à 09h51.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Une seconde question, similaire à la première : comment corréler un couple de variables (assez bien corrélées entre elles, avec un coefficient de 0.815) à un autre variable ou à un autre couple/triplet/quadruplet/... de variables ?

    Merci

  3. #3
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,

    quelle fonction utilises-tu pour calculer le coefficient de détermination R²? (je ne connais pas ce coefficient)

    Pour ta deuxième question, qu'entends-tu par corréler une variable à un groupe d'autres variables? corrcoef ne "corrèle" pas les variables entre elles mais permet juste de calculer des coefficients de corrélation.
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    R² est le coefficient de détermination, qui évalue la justesse d'une régression en utilisant les résidus.
    (cf "Residuals and Goodness of Fit" de http://www.mathworks.com/help/techdo...s/f1-5937.html)

    R²=1–SSresid/SStotal
    avec SSresid la somme des carrés des résidus et SStotal la somme (sur toutes les valeurs) des carrés des différences à la moyenne.

    En ce qui concerne ma seconde question, abus de langage effectivement ; je reformule :
    Comment connaître la corrélation entre un couple de variables (assez bien corrélées entre elles, avec un coefficient de 0.815) et une autre variable ou un autre couple/triplet/quadruplet/... de variables ?

  5. #5
    Membre régulier
    Inscrit en
    Novembre 2009
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 94
    Points : 85
    Points
    85
    Par défaut
    Ben, à mon avis, le seul moyen de mesurer la corrélation entre un couple A B et un autre groupe de variables C D E ..., c'est de mesurer les coefficients de corrélation deux à deux de toutes ces variables, soit, comme le fait Matlab avec corrcoef.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ac=corrcoef(A,C);
    ad=corrcoef(A,D);
    etc.
    Ensuite, c'est à toi de trouver une combinaison de ces mesures de la corrélation ac ad ... si tu veux n'avoir in fine qu'un seul nombre significatif, par exemple:
    De même avec le coefficient de détermination R2, à calculer deux à deux

    Cordialement

  6. #6
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Citation Envoyé par labtoy Voir le message
    Quel type de "quatification des liens" utiliser ? R² ou corrcoef ?
    Cela dépend énormément du problème traité. Dans certains cas, les 2 résultats peuvent aussi être complémentaires. Tu trouveras pas mal d'explications sur le web sur ces 2 notions.
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Ok. Je vais creuser donc ... Merci à tous les deux !
    Cela dit, je pense que si effectivement il est impossible de connaître la corrélation d'un set de variables avec un autre sans passer par la corrélation de chacune des variables avec toutes les autres, R² a plus de chances d'être exact que corrcoef qui passerait par le choix d'un unique coefficient de corrélation (comme le max, la moyenne, la médiane, ou autres).
    Dernière modification par Invité ; 18/08/2011 à 11h16.

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/01/2011, 09h36
  2. Module qui permet de faire des régression linéaire ?
    Par Anti-T dans le forum Calcul scientifique
    Réponses: 3
    Dernier message: 04/09/2009, 13h28
  3. UPDATE avec corrélation?
    Par JFDelges dans le forum Langage SQL
    Réponses: 3
    Dernier message: 16/03/2006, 15h01
  4. tri par corrélation entre chaînes de caractères
    Par petitmic dans le forum Langage SQL
    Réponses: 7
    Dernier message: 09/09/2005, 15h15
  5. corrélation
    Par sole dans le forum Algorithmes et structures de données
    Réponses: 12
    Dernier message: 08/09/2005, 14h12

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