Bonjour,
désolé par avance si j'ai mal cherché mais je ne trouve pas comment faire pour avoir dans une cellule le R² d'une régression linéaire si je force la courbe par zéro.
sur le graph j'ai une valeur, dans mon calcul... une autre...
voir pj
on pourrait calculer le R² de Kvalseth, j'ai trouvé ceci:
my searches online have provided me with some insightful work by
Kvalseth (1985). Apparently, he has an alternative R-squared which
should work across models (including no constant or 0 constant
models).
D'après l'exemple donnée dans la biblio, la solution calculée sur la feuille serait la bonne? C'est vrai qu'avec un R² de 20, cela fait peut être un peu beaucoup . Me trompe-Je
Bonjour.
J'ai rouvert le classeur d'origine, revalidé la formule : il m'a immédiatement sorti 0,75081761
Mais je ne sais plus si j'avais eu ça la première fois. J'avais commencé par :
VB:
=DROITEREG($B$7:$B$11;$A$7:$A$11;0;1)
validé en matriciel Ctrl+Maj+Entrée sur une plage de 3 lignes 2 colonnes. Qu'est-ce que ça donne chez vous ?
Moi j'obtiens:
seule différence apparente, la virgule comme séparateur décimal chez toi, le point chez moi... Je doute que ce soit la raison
La formule =INDEX(DROITEREG(B7:B11;A7:A11;0;1);3;1) ne fait jamais que renvoyer la valeur de la troisième ligne et de la première colonne de cette matrice.
pas évident leurs explications traduite automatiquement:
"Une solution de contournement a été fournie pour trouver la bonne valeur R au carré. Si la définir Intercept = 0 case est cochée (de loin le cas plus courant dans la pratique), il n'y a aucun problème avec la valeur de l'outil graphique de R au carré."
donc sur le graph c'est bon?
je me suis dit que ce serait plus clair en anglais, si on regarde en parralèle la version anglaise, la version française change:
Un travail autour ont été fourni pour trouver la bonne valeur de R2. Si la définir Intercept = 0 boîte est rien n'est fait (de loin le cas le plus fréquent en pratique), il n'y a aucun problème avec la valeur de l'outil graphique de R2.
et en anglais:
A work around has been provided to find the correct R-squared value. If the Set Intercept = 0 box is left unchecked (by far the more typical case in practice), there is no problem with the chart tool's value of R-squared.
"left unchecked" c'est un peu l'inverse de "coché"....
Fie toi toujours à la version anglaise !
ils confirment ce qu'on sait déjà : quand la case n'est pas cochée, la valeur qui apparait sur le graphique est bonne (et conforme à la formule)
En fait je n'avais pas regardé ce lien de MS en détail mais ils donnent la solution
Pour excel 2003 et suivantes, ils ont corrigé la fonction droite reg et la bonne valeur c'est celle que tu obtiens avec
=INDEX(DROITEREG(yconnus;xconnus;faux;vrai);3;1)
pour les versions antérieures :
tu sélectionne 10 cellules (2 colonnes et 5 lignes)
tu tapes = droitereg(y connus;x connus; faux;vrai) et tu valides en matricielle
tu calcules la somme des carrés des y
=SOMME.CARRES(B7:B11) disons somsq
tu prends la valeur résiduelle des moindres carrés disons "Residu" qui apparait dans la ligne 5, colonne 2
et tu fais
r²=(somsq-residu)/somsq
de fait tu retombes bien sur la valeur du R² qui apparait en ligne 3 colonne 1.
Donc contrairement aux apparences, c'est bien 0.9588 et non pas 0.7508 qui est la bonne valeur. Ce qui apparait sur le graphique est FAUX. Franchement c'est contre intuitif !
OUF, cette fois je crois que c'est clair (en tous cas pour moi).
Ca tombe bien :
1) je ne force quasiment jamais à 0 les régressions
2) j'utilise toujours droitereg pour sortir les paramètres et jamais les valeurs qui apparaissent sur les graphiques.
Donc contrairement aux apparences, c'est bien 0.9588 et non pas 0.7508 qui est la bonne valeur. Ce qui apparait sur le graphique est FAUX. Franchement c'est contre intuitif !
chapitre régression, pour x = 1/2/3 et y= 11/12/13
avec l'exemple on obtient
avant excel 2003 R²=-20.4285714
à partir d'excel 2003 R²=0.901250823
sous excel 2003 on obtient le premier par le graph et le deuxième par droitereg, comme si la correction avait été apportée à l'un et pas l'autre
je suis un peu perdu: on peut obtenir la pente avec droite reg? pour cet exemple sur le graph j'ai 5.2857143 mais dans mon droitereg je ne la vois pas...
Bien sur qu'avec droitereg on peut avoir la pense, le b le coeff de régression.Puisque tu as téléchargé le classeur fc-régression (dont je suis l'auteur), c'est tout expliqué dedans !
et tu l'as dans le classeur que tu as posté au #1
=INDEX(DROITEREG(B7:B11;A7:A11);1;1) te donne la pente
=INDEX(DROITEREG(B7:B11;A7:A11);1;2) l'ordonnée à l'origine (le b)
=INDEX(DROITEREG(B7:B11;A7:A11);3;1) le r²
ces trois formules font référence à la position de ces éléments de la matrice renvoyée par droitereg.
Droite reg est une fonction matricielle parce qu'elle utilise des plages en entrée mais qui sort une matrice en sortie.
reprends le classeur fc-regression c'est expliqué.