Depuis que j'ai repris la recherche, j'ai pris l'habitude de
débrancher mon téléphone. Mais lundi matin, comme
j'avais un coup de fil à passer, j'ai du le rebrancher. J'ai
alors reçu un appel d'un élève qui m'a
agacé (et auquel j'ai eu la lâcheté de raccrocher en
expliquant que je faisais autre chose - ce qui était
néanmoins partiellement vrai) mais qui est assez symptomatique, "
bonjour, j'ai fait une régression et j'ai un R2 de 0,312 et je voulais savoir si c'était bien ?" (ou "
si c'était beaucoup ?", ou "
si c'était assez ?", ou un truc du genre car j'avoue que j'avais effectivement la tête ailleurs).
Pourtant je croyais que mon cours avait précisément réussi à éviter de parler du R
2.
Je vais donc reprendre ici quelques points. J'espérais trouver
un site internet de l'
association des statisticiens qui en
ont marre du R2 (ou d'opposants à la
sectes des adorateurs du R2, car si j'ignore qui en est le gourou, je trouve que cette secte regroupe beaucoup d'adorateurs)
malheureusement je n'ai rien trouvé de concluant sur internet.
Donc je vais m'y mettre... même je risque de faire un très
long billet,
- définition et interprétation du R2

Un "
bon" modèle permettra d'obtenir des estimations "
proches"
des valeurs observées. Sur la représentation dans
l’espace des variables (comme le montre la figure ci-dessus) la
qualité peut être évaluée par l’angle
θ. Cet angle est compris entre -90˚et 90˚. Un angle proche de
-90˚ou de 90˚indique un modèle de mauvaise qualité. Alors
qu'un angle proche de 0˚ correspond à un bon modèle. Le
cosinus carré de θ est donc une mesure possible de la
qualité du modèle et cette mesure varie entre 0 et 1.
En utilisant le théorème de Pythagore nous permet d'écrire

ou encore

où SCT (respectivement SCE et SCR) désigne la somme des
carrés totale (respectivement expliquée par le
modèle et résiduelle). Le coefficient de
détermination R
2 est défini par

c’est-à-dire que le R
2 est souvent interprété comme le "
pourcentage de la variabilité de la variable endogène expliquée par le modèle".
Si on reprend une page du livre de Pierre-André Cornillon et
Éric Matzner-Løber, on a les définitions suivantes

- que mesure le R2 ? quelques exemples...
Comme je le dis auparavant, le R
2 nous dit si la courbe de régression (pour
prendre un modèle plus général que le cas
linéaire) est proche des observations, mais ne nous dit
nullement si le modèle est "
bon".
Pour faire simple, avec des observations individuelles, le R
2 sera souvent assez "
faible", alors qu'avec des séries temporelles (en particulier des séries intégrées), le R
2 sera souvent "
plus élevé".
Dans ce dernier cas, l'explication heuristique est qu'expliquer une
série croissante par une autre série croissante marche
souvent "
bien".

Sur l'exemple ci-dessus, on obtient - en ajustant un modèle linéaire - respectivement
Multiple R-squared: 0.3372,
Multiple R-squared: 0.6414,

Sur l'exemple ci-dessus, on obtient - en ajustant un modèle polynôme de degré 4 - respectivement
Multiple R-squared: 0.4968,
Multiple R-squared: 0.987,
Sur l'exemple 3, l'ajustement est "
bon" au sens où il serait difficile de faire mieux, c'est simplement qu'il est très bruité. Avec un R
2 de 0,5, l'exemple 3 me paraît proposer un "
meilleur" ajustement que l'exemple 2, alors que le R
2
est de 0,65. Dans le premier cas, l'ajustement semble bon, mais très
bruité, alors que pour le second, le modèle est plutôt mauvais, mais le
bruit est relativement faible.
- le R2 n'est qu'un coefficient de corrélation, ou presque (et donc possède tous les défauts d'un coefficient de corrélation)
Si on reprend le premier point, il est possible d'écrire le R
2
(dans un modèle avec une unique variable explicative) comme le carré du coefficient de corrélation (au sens de Pearson) entre la variable
endogène et la variable explicative (plus généralement, ça serait entre
les observations et la prédiction). Regardons par exemple sur la base
de données
cars,
> data(cars)
> cor(cars)
speed dist
speed 1.0000000 0.8068949
dist 0.8068949 1.0000000Si on regarde la valeur du R
2 on peut écrire
> summary(lm(dist~speed,data=cars))$r.squared
[1] 0.6510794
> sqrt(summary(lm(dist~speed,data=cars))$r.squared)
[1] 0.8068949J'avais dit dans un précédant billet (
ici) tout le mal
que je pense du coefficient de corrélation, qui n'est pas une
mesure de dépendance (ou une mesure de concordance au sens
où l'avait défini Marco Scarsini,
ici). Pour cette
raison, je trouve qu'un R
2 qui vaut 0,312 nous apprend aussi peu de chose qu'un coefficient de corrélation de 0,217 ou 0,013.
- mais le R2 n'est pas exactement le carré d'une quantité (et donc peut être négatif, par exemple)
Formellement, le R
2 est le carré du cosinus
d'un angle, si on reprend l'interprétation
géométrique de la régression linéaire. Mais si on regarde la version empirique, on peut être (désagréablement) surpris... En particulier avec Excel. Ce point est discuté sur de nombreux forum (
ici ou
là), je ne vais donc pas en rajouter.
- le R2 augmente en rajoutant des variables explicatives (ce qui le rend difficilement utilisable pour comparer des modèles)
Ce point est souvent connu par tout le monde, c'est pour cela qu'on présente toujours le R
2 ajusté après avoir présenté le R
2.
- le R2 ne peut pas être utiliser pour comparer des modèles pour lesquels la variable endogène change
Mais ceci n'est pas qu'un problème avec le R
2, car il
est très difficile de trouver un critère de choix suffisamment robuste. J'avais déjà abordé ce point
lors de mon cours d'assurance non-vie à l'ensae il y a quelques
années. J'avais vu des élèves essayer de comparer
deux modèles (pour tarifer), à savoir
- une régression gamma, i.e.

- une "régression lognormale", c'est à dire que

le soucis est qu'il est difficile de comparer des deux modèles.
En particulier, tous les élèves qui se posaient cette
question à l'aide d'un critère de type AIC concluaient
toujours à la supériorité de la loi lognormale, ou pour être un peu pointilleux, sur un modèle gaussien après une transformation logarithmique.
Dans le cas des modèles Gaussiens, c'est aussi la conclusion
à laquelle arrive Valérie Mignon dans son livre
d'économétrie, à savoir que si l'on cherche
à comparer
- un modèle additif, i.e.

- un modèle multiplicatif, i.e.

on retient "
toujours" le modèle multiplicatif si on retient le modèle qui a le meilleur R
2. Je n'ai pas de raison
a priori d'aller
dans ce sens, mais je retiens que juger de la supériorité
d'un modèle à l'aide uniquement de ce critère me
paraît vraiment douteux.
L'exemple ci-dessous représente les deux régressions,
avec un modèle linéaire versus un modèle
exponentiel (i.e. avec comme variable endogène le logarithme).

Dans ce cas précis,
> REG.LINEAIRE=lm(Y~X)
> REG.MULTIPLICATIF=lm(log(Y)~X)
> summary(REG.LINEAIRE)$r.squared
[1] 0.8688
> summary(REG.MULTIPLICATIF)$r.squared
[1] 0.8654
Afin de répondre à cet exemple précis, je
renvoie au test de Box-Cox (que j'avais abordé
ici) qui vise
précisément
à comparer ces deux modèles. Ici, on conclue à la
supériorité d'un modèle multiplicatif, mais
ça n'a rien à voir avec la valeur du R
2.

- le R2 peut être changé artificellement (en réécrivant le modèle)
Je reprendrais un exemple tiré d'une épreuve du concours
interne d'administrateur de l'insee (qui doit avoir une vingtaine
d'années). Considérons un modèle assez classique
en économie, où on essaye de lier taux
d'intérêt et taux d'inflation. Je renvois à mes slides du cours d'économétrie où l'exemple est présenté, et mis en œuvre,
ici (slides 39 à 42).
- le R2 peut être changé artificellement (en supprimant les points aberrants)

Ce point est présenté dans certains livres, où il
est expliqué qu'en enlevant des points (souvent les
premières années quand on travaille sur des séries
macroéconomiques) on peut améliorer le R
2.
Effectivement, si on enlève les quatre points les plus
éloignés de la prédiction, on change le
modèle, et le R
2 est alors amélioré,
> summary(REG.TOTAL)$r.squared
[1] 0.6510794
> summary(REG.SUBSET)$r.squared
[1] 0.7539631
Je croyais là aussi que mon cours essayait d'expliquer l'importance (et le traitement) de ces points aberrants.
Pour conclure, je reprendrais ce que j'essaye d'expliquer dans mon
cours d'économétrie (ici ou là), à savoir
qu'au lieu de se contenter de regarder un R
2, il vaut mieux
passer un peu de temps à regarder quelques graphiques de
diagnostique. Et pour comparer des modèles, je
préfère toujours les critères AIC ou BIC au R
2 (ou même au R
2 ajusté). Quant à la normalité des résidus... je pense que je reviendrais là dessus aussi dans un billet les jours à venir....