Quelle est la formule du R-carré ajustée dans lm dans R et comment doit-elle être interprétée?

35

Quelle est la formule exacte utilisée dans R lm() pour le R au carré ajusté? Comment puis-je l'interpréter?

Formules ajustées au carré

Il semble exister plusieurs formules pour calculer le R au carré ajusté.

  • Formule de Wherry: 1(1R2)(n1)(nv)
  • La formule de McNemar: 1(1R2)(n1)(nv1)
  • Formule du Seigneur: 1(1R2)(n+v1)(nv1)
  • Formule de Stein: 1[(n1)(nk1)(n2)(nk2)(n+1)n](1R2)

Descriptions de manuels

  • Selon le manuel de Field, À la découverte de statistiques avec R (2012, p. 273), R utilise l'équation de Wherry qui "nous dit combien la variance en Y serait prise en compte si le modèle avait été dérivé de la population à partir de laquelle l'échantillon a été prélevé". Il ne donne pas la formule pour Wherry. Il recommande d'utiliser la formule de Stein (à la main) pour vérifier le niveau de validation croisée du modèle.
  • Kleiber / Zeileis, Applet Econometrics with R (2008, p. 59) affirment qu'il s'agit du "R-carré ajusté de Theil" et ne disent pas exactement comment son interprétation varie du multiple du R-carré.
  • Dalgaard, Introductory Statistics with R (2008, p. 113) écrit que "si vous multipliez le [R au carré ajusté] par 100%, cela peut être interprété comme"% de réduction de la variance "". Il ne dit pas à quelle formule cela correspond.

J'avais déjà pensé, et lu beaucoup, que R-squared pénalise l'ajout de variables supplémentaires au modèle. Maintenant, l'utilisation de ces différentes formules semble nécessiter différentes interprétations. J'ai également examiné une question connexe sur le débordement de pile ( Quelle est la différence entre le R carré double et le R carré ajusté dans une régression à moindres carrés à une variable? ) Et le dictionnaire statistique de la Wharton School à UPenn .

Des questions

  • Quelle formule est utilisée pour r-carré ajusté par R lm() ?
  • Comment puis-je l'interpréter?
gung - Rétablir Monica
la source
8
from summary.lm () ans$adj.r.squared <- 1 - (1 - ans$r.squared) * ((n - df.int)/rdf):, où ans $ r.squared = R ^ 2; n = n, rdf = df résiduel, df.int = intercepter df (0 ou 1).
Edi
Je vais donner une réponse au vrai problème ici, qui n’est pas "quelle sorte de R ^ 2 ...". Les informations dont vous (et beaucoup d’autres) manquent sont les suivantes: tous les packages R, même le noyau, rendent le code source disponible. Même les éléments compilés dans les distributions sont disponibles dans {packagenames} .tar.gz sur le CRAN ou un autre référentiel.
Carl Witthoft
OP ici: Merci pour cette excellente contribution. Que diriez-vous de ma deuxième question: comment puis-je l'interpréter? J'ai lu tellement d'interprétations différentes d'Adj. R-squared qui semble parfois être basé sur une formule qui pourrait ne pas être celle de Wherry?

Réponses:

29

1. Quelle formule lmdans R utilise-t-on pour le r-carré ajusté?

Comme déjà mentionné, taper summary.lmvous donnera le code que R utilise pour calculer le R ajusté. Extraire la ligne la plus pertinente que vous obtenez:

ans$adj.r.squared <- 1 - (1 - ans$r.squared) * ((n - df.int)/rdf)

qui correspond en notation mathématique à:

Runej2=1-(1-R2)n-1n-p-1

en supposant qu'il y a une interception (c.-à-d. df.int=1),n est la taille de votre échantillon, et pest votre nombre de prédicteurs. Ainsi, vos degrés d'erreur de liberté (c'est-à-dire rdf) sont égaux n-p-1.

La formule correspond à ce que Yin et Fan (2001) appellent Wherry Formula-1 (il existe apparemment une autre formule de Wherry moins courante qui utilisen-p au dénominateur à la place n-p-1). Ils suggèrent que les noms les plus communs par ordre d'apparition sont "formule de Wherry", "Ezekiel formlua", "formule de Wherry / McNemar" et "formule de Cohen / Cohen".

2. Pourquoi y a-t-il tant de formules r-carré ajustées?

Runej2 vise à estimer ρ2, la proportion de variance expliquée dans la population par l’équation de régression de population. Bien que cela soit clairement lié à la taille de l'échantillon et au nombre de prédicteurs, le meilleur estimateur est moins clair. Ainsi, vous avez des études de simulation telles que Yin et Fan (2001) qui ont évalué différentes formules de r-carrés ajustées en termes de qualité avec laquelle elles estimentρ2(Voir cette question pour une discussion plus approfondie ).

Vous verrez avec toutes les formules, la différence entre R2 et Runej2devient plus petit à mesure que la taille de l'échantillon augmente. La différence approche de zéro à mesure que la taille de l'échantillon tend à l'infini. La différence devient également plus petite avec moins de prédicteurs.

3. Comment interpréter Runej2?

Runej2 est une estimation de la proportion de variance expliquée par la vraie équation de régression dans la population ρ2. Vous seriez typiquement intéressé parρ2où vous êtes intéressé par la prédiction linéaire théorique d'une variable. En revanche, si la prédiction utilisant l’équation de régression échantillon vous intéresse davantage, c’est souvent le cas dans les paramètres appliqués, puis une forme de validation croisée.R2 serait plus pertinent.

Les références

  • Yin, P. et Fan, X. (2001). L'estimationR2rétrécissement dans la régression multiple: une comparaison de différentes méthodes analytiques. The Journal of Experimental Education, 69 (2), 203-224. PDF
Jeromy Anglim
la source
9

Regarding your first question: If you don't know how it is calculated look at the code! If you type summary.lm in your console, you get the code for this function. If you skim throught the code you'll find a line: ans$adj.r.squared <- 1 - (1 - ans$r.squared) * ((n - df.int)/rdf). If you look some lines above of this line you will notice that:

  • ans$r.squared: is your R2
  • n is the number of the residuals = number of observations
  • df.int is 0 or 1 (depending if you have a intercept)
  • rdf are your residual df

Question 2: From Wikipedia: 'Adjusted R2 is a modification of R2 that adjusts for the number of explanatory terms in a model. '

EDi
la source