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

Macros et VBA Excel Discussion :

Extraire coef de corrélation R² d'une droite de regression ne passant pas par 0 : LinEst() ou Correl() ? ?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    physico-chimiste
    Inscrit en
    Avril 2016
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : physico-chimiste

    Informations forums :
    Inscription : Avril 2016
    Messages : 49
    Par défaut Extraire coef de corrélation R² d'une droite de regression ne passant pas par 0 : LinEst() ou Correl() ? ?
    Bonjour,

    je cherche à extraire le coefficient R² de tableau de données Y=QS et X=CanauxS.
    Avec la fonction Linest je peux avoir les coefficients a et b de l'équation : y= ax+b comme le montre cet exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Cells(compMax + 5, 1).Formula = Application.LinEst(QS, CanauxS)(1) 'coef a
    Cells(compMax + 5, 2).Formula = Application.LinEst(QS, CanauxS)(2) ' coef b
    Mais je ne sais plus où j'ai trouvé cette façon de paramétrer la fonction linest avec (1) et (2). La documentation Microsoft VBA https://learn.microsoft.com/en-us/of...unction.linest ne présentant pas cette forme.
    Si je comprends bien, la documentation explique que le coef R² est calculé, mais elle n’explique pas comment l’obtenir.

    Du coup j’ai pensé utiliser la fonction correl() mais le coefficient de corrélation qu’elle me renvoie est celui d’une droite passant par 0 or je veux celui d’une droite dont les coefficients sont a et b.
    Je peux bien sûr reformater mes valeurs avec Y= y-a et X=x pour avoir une coefficient de correl d’une droite passant par 0, mais je me dis qu’il y a peut-être une solution plus simple que ce bricolage.

    Bref y a-t-il moyen d’extraire de la fonction Linest le coef R² d’une droite de régression ne passant pas par 0 ?

    Merci d’avance pour vos réponses,

    David

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 545
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 545
    Par défaut
    c'est dans la doc, LinEst renvoie un tableau des coefficients a et b (et éventuellement les paramètres statistiques de régression).
    Tu as aussi des infos et exemples dans l'aide d'Excel de la fonction DROITREG (équivalent Fr à la fonction LinEst) où tu as trouvé tes méthodes pour récupérer a et b comme tu le décrit.

    N'oublie que LinEst a des paramètres optionnels, en l'occurrence, le dernier paramètre stats, en le passant à True, la fonction renvoie les paramètres statistiques de régression dont R2
    If stats is True, LinEst returns the additional regression statistics, so the returned array is {mn,mn-1,...,m1,b;sen,sen-1,...,se1,seb;r2,sey;F,df;ssreg,ssresid}.
    A priori, donc, dans ce cas-là ça renvoie un tableau à 2 dimensions (les points-virgules entre les noms, l'indique) avec :
    res(1,1) => mn (=> a)
    res(1,2) => b
    res(2,1) => sen (=> se a) (se=erreur standard)
    res(2,2) => seb
    res(3,1) => R2
    res(3,2) => sey
    res(4,1) => F
    res(4,2) => df
    res(5,1) => ssreg
    res(5,2) => ssresid

  3. #3
    Membre averti
    Homme Profil pro
    physico-chimiste
    Inscrit en
    Avril 2016
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : physico-chimiste

    Informations forums :
    Inscription : Avril 2016
    Messages : 49
    Par défaut
    Merci, c'est que je m'apprêtais à faire.

Discussions similaires

  1. [MySQL] création d'une table en ne passant pas par phpMyAdmin
    Par johnny3 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 21/03/2010, 12h54
  2. Superposer une droite de regression sur un gchart
    Par elfidream dans le forum ODS et reporting
    Réponses: 2
    Dernier message: 20/06/2009, 20h54
  3. Réponses: 0
    Dernier message: 21/03/2008, 13h51
  4. [JUnit] Une méthode tearDown pr TestCase et pas par method ?
    Par krollkop dans le forum Tests et Performance
    Réponses: 2
    Dernier message: 02/12/2004, 17h53
  5. [MATH] Point par rapport à une droite
    Par teska dans le forum Mathématiques
    Réponses: 6
    Dernier message: 14/05/2003, 16h11

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