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 R2. 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’écrireou encoreoù 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 R2 est défini parc’est-à-dire que le R2 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 R2 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 R2 sera souvent assez “faible“, alors qu’avec des séries temporelles (en particulier des séries intégrées), le R2 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 R2 de 0,5, l’exemple 3 me paraît proposer un “meilleur” ajustement que l’exemple 2, alors que le R2 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 R2 (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.0000000
Si on regarde la valeur du R2 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.8068949
J’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 R2 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 R2 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 R2 ajusté après avoir présenté le R2.
- 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 R2, 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 R2. 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 R2.
- 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 R2. Effectivement, si on enlève les quatre points les plus éloignés de la prédiction, on change le modèle, et le R2 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 R2, 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 R2 (ou même au R2 ajusté). Quant à la normalité des résidus… je pense que je reviendrais là dessus aussi dans un billet les jours à venir….