Que signifie le R au carré négatif?


17

Disons que j'ai des données, puis j'ajuste les données avec un modèle (une régression non linéaire). Ensuite, je calcule le R au carré ( ).R2

Lorsque le R au carré est négatif, qu'est-ce que cela signifie? Est-ce à dire que mon modèle est mauvais? Je sais que la plage de peut être [-1,1]. Lorsque vaut 0, qu'est-ce que cela signifie également?R 2R2R2


4
Cela signifie que vous avez fait quelque chose de mal puisque R2 se trouve dans [0,1] par définition. autre part, le R 2R2 ajusté peut être négatif, ce que vous pouvez supposer en toute sécurité, ce qui signifie que votre modèle est très mal adapté aux données. Lorsque R2 est exactement nul, cela signifie que y¯ est tout aussi bon prédicteur de y que la droite de régression des moindres carrés elle-même.
dsaxton

1
Ceci est possible pour une régression sans interception, voir par exemple stats.stackexchange.com/questions/164586/…



@gung J'allais suggérer qu'il s'agissait peut-être d'un double de cette question ... pensez-vous qu'ils sont suffisamment distincts? (Si quoi que ce soit, cette question semble plus belle que l'autre parce qu'il n'y a pas de syntaxe SPSS distrayante, mais les réponses sur l'autre thread sont très bonnes et semblent couvrir cette question aussi.)
Silverfish

Réponses:


37

peut être négatif, cela signifie simplement que:R2

  1. Le modèle correspond très mal à vos données
  2. Vous n'avez pas défini d'interception

Pour les gens qui disent que est compris entre 0 et 1, ce n'est pas le cas. Bien qu'une valeur négative pour quelque chose avec le mot `` au carré '' puisse sembler enfreindre les règles des mathématiques, cela peut arriver dans un modèle R 2 sans interception. Pour comprendre pourquoi, nous devons examiner comment R 2R2R2R2 est calculé.

C'est un peu long - Si vous voulez la réponse sans la comprendre, passez à la fin. Sinon, j'ai essayé d'écrire cela en termes simples.

Tout d' abord, nous allons définir 3 variables: , T S S et E S S .RSSTSSESS

Calcul de RSS :

Pour chaque variable indépendante , nous avons la variable dépendante y . Nous traçons une ligne linéaire de meilleur ajustement, qui prédit la valeur de y pour chaque valeur de x . Appelons les valeurs de y la ligne prédit y . L'erreur entre ce que votre ligne prédit et la valeur réelle y peut être calculée par soustraction. Toutes ces différences sont au carré et additionnées, ce qui donne la somme résiduelle des carrés R S Sxyyxyy^yRSS .

La mise en équation qui, RSS=(yy^)2

Calcul de TSS :

Nous pouvons calculer la valeur moyenne de , qui est appelée ˉ y . Si nous traçons ˉ y , ce n'est qu'une ligne horizontale à travers les données car elle est constante. Ce que nous pouvons cependant en faire, c'est soustraire ˉ y (la valeur moyenne de y ) de chaque valeur réelle de y . Le résultat est élevé au carré et additionnés, ce qui donne la somme totale des carrés T S S .yy¯y¯y¯yyTSS

Mettre cela dans une équation TSS=(yy¯)2

Calcul de l'ESS :

Les différences entre y (les valeurs de y prévues par la droite) et la valeur moyenne ˉ y sont élevés au carré et additionnés. Ceci est la somme des carrés expliqués, ce qui est égal à Σ ( y - ˉ y ) 2y^yy¯(y^y¯)2

Rappelez - vous, , mais nous pouvons ajouter un + y - y en elle, parce qu'elle s'annule. Par conséquent, T S S = Σ ( y - y + y - ˉ y ) 2 . L' expansion de ces supports, nous obtenons T S S = Σ ( y - y ) 2 +TSS=(yy¯)2+y^y^TSS=(yy^+y^y¯)2TSS=(yy^)2+2(yy^)(y^y¯)+(y^y¯)2

Lorsque, et seulement lorsque la ligne est tracée avec une interception, ce qui suit est toujours vrai: . Par conséquent, T S S = Σ ( y - y ) 2 + Σ ( y - ˉ y ) 2 , que vous remarquerez peut - être signifie simplement que T S S = R S S E2(yy^)(y^y¯)=0TSS=(yy^)2+(y^y¯)2 . Si nous divisons tous les termes par T S S et réorganisons, nous obtenons 1 - R S STSS=RSS+ESSTSS .1RSSTSS=ESSTSS

Voici la partie importante :

est défini comme la part de la variance expliquée par votre modèle (la qualité de votre modèle). Sous forme d'équation, c'est R 2 = 1 - R S SR2 . Semble familier? Lorsque la ligne est tracée avec une interception, nous pouvons la remplacer parR2=ESSR2=1RSSTSS . Puisque le numérateur et le démonateur sont des sommes de carrés,R2doit être positif.R2=ESSTSSR2

MAIS

Lorsque nous ne spécifions pas une interception, ne correspond pas nécessairement 0 . Cela signifie que T S S = R S S + E S S + 2 * Σ ( y - y ) ( y - ˉ y )2(yy^)(y^y¯)0TSS=RSS+ESS+2(yy^)(y^y¯).

Dividing all terms by TSS, we get 1RSSTSS=ESS+2(yy^)(y^y¯)TSS.

Finally, we substitute to get R2=ESS+2(yy^)(y^y¯)TSS. This time, the numerator has a term in it which is not a sum of squares, so it can be negative. This would make R2 negative. When would this happen? 2(yy^)(y^y¯) would be negative when yy^ is negative and y^y¯ is positive, or vice versa. This occurs when the horizontal line of y¯ actually explains the data better than the line of best fit.

R2

Un exemple exagéré de cas où R ^ 2 est négatif (Source: Université de Houston Clear Lake)

Mettre tout simplement:

  • R2<0, a horizontal line explains the data better than your model.

You also asked about R2=0.

  • When R2=0, a horizontal line explains the data equally as well as your model.

I commend you for making it through that. If you found this helpful, you should also upvote fcop's answer here which I had to refer to, because it's been a while.


5
Réponse vraiment fantastique! La seule chose qui me manque est l'intuition derrière pourquoi2(y-y^)(y^-y¯)=0quand, et seulement quand, il y a un jeu d'interception?
Owen

6

Jusqu'à présent, aucune des deux réponses n'est entièrement correcte, je vais donc essayer de donner ma compréhension du R-Squared. J'ai donné une explication plus détaillée de cela sur mon blog ici "Qu'est-ce que R-Squared"

Erreur de somme au carré

L'objectif de la régression ordinaire des moindres carrés est d'obtenir une ligne qui minimise l'erreur de somme des carrés. La ligne par défaut avec l'erreur de somme minimale au carré est une ligne horizontale passant par la moyenne. Fondamentalement, si vous ne pouvez pas faire mieux, vous pouvez simplement prédire la valeur moyenne et cela vous donnera l'erreur quadratique minimale

ligne horizontale passant par la moyenne

R-Squared est un moyen de mesurer combien mieux que la ligne moyenne que vous avez faite sur la base de l'erreur quadratique additionnée. L'équation pour R-Squared est

équation pour r au carré

Désormais, SS Regression et SS Total sont tous deux des sommes au carré. Ces deux éléments sont toujours positifs. Cela signifie que nous prenons 1 et soustrayons une valeur positive. Ainsi, la valeur R-Squared maximale est positive 1, mais le minimum est l'infini négatif. Oui, c'est exact, la plage de R au carré est entre -infini et 1, pas -1 et 1 et non 0 et 1

Qu'est-ce qu'une erreur de somme au carré

L'erreur somme au carré prend l'erreur à chaque point, la met au carré et ajoute tous les carrés. Pour l'erreur totale, il utilise la ligne horizontale passant par la moyenne, car cela donne l'erreur quadratique la plus faible si vous n'avez pas d'autres informations, c'est-à-dire que vous ne pouvez pas faire de régression.

entrez la description de l'image ici

Comme équation c'est ceci

somme de l'équation d'erreur totale au carré

Maintenant, avec la régression, notre objectif est de faire mieux que la moyenne. Par exemple, cette ligne de régression donnera une erreur quadratique plus faible que l'utilisation de la ligne horizontale.

entrez la description de l'image ici

L'équation de l'erreur quadratique de somme de régression est la suivante

entrez la description de l'image ici

Idéalement, vous auriez une erreur de régression nulle, c'est-à-dire que votre ligne de régression correspondrait parfaitement aux données. Dans ce cas, vous obtiendrez une valeur R-Squared de 1

r valeur au carré de 1

R négatif au carré

Toutes les informations ci-dessus sont assez standard. Et qu'en est-il du R-Squared négatif?

Eh bien, il s'avère qu'il n'y a aucune raison que votre équation de régression donne une erreur quadratique inférieure à la valeur moyenne. On pense généralement que si vous ne pouvez pas faire une meilleure prédiction que la valeur moyenne, vous utiliserez simplement la valeur moyenne, mais rien ne l'oblige à en être la cause. Vous pourriez par exemple prédire la médiane de tout.

En pratique, avec la régression ordinaire au carré, le moment le plus courant pour obtenir une valeur R-carré négative est lorsque vous forcez un point que la ligne de régression doit traverser. Cela se fait généralement en définissant l'interception, mais vous pouvez forcer la ligne de régression à travers n'importe quel point.

Lorsque vous faites cela, la ligne de régression passe par ce point et tente d'obtenir l'erreur de somme minimale au carré tout en passant par ce point.

un point fixe

Par défaut, les équations de régression utilisent la moyenne x et la moyenne y comme point de passage de la ligne de régression. Mais si vous le forcez à traverser un point qui est loin de l'endroit où se trouverait normalement la ligne de régression, vous pouvez obtenir une erreur de somme au carré plus élevée que l'utilisation de la ligne horizontale

Dans l'image ci-dessous, les deux lignes de régression ont été forcées d'avoir une ordonnée à l'origine de 0. Cela a provoqué un R au carré négatif pour les données qui est loin de l'origine.

négatif r au carré

Pour l'ensemble supérieur de points, les rouges, la ligne de régression est la meilleure ligne de régression possible qui passe également par l'origine. Il se trouve que cette ligne de régression est pire que l'utilisation d'une ligne horizontale et donne donc un R-Squared négatif.

R carré indéfini

Il y a un cas spécial que personne n'a mentionné, où vous pouvez obtenir un R-Squared non défini. C'est-à-dire que si vos données sont complètement horizontales, votre erreur de somme totale au carré est nulle. Par conséquent, vous auriez un zéro divisé par zéro dans l'équation R au carré, qui n'est pas définie.

entrez la description de l'image ici

entrez la description de l'image ici


une réponse très vivante, aimerait voir beaucoup plus de réponses de ce type!
Ben

0

Comme le note le commentateur précédent, r ^ 2 est compris entre [0,1] et non [-1, + 1], il est donc impossible d'être négatif. Vous ne pouvez pas cadrer une valeur et obtenir un nombre négatif. Vous regardez peut-être r, la corrélation? Il peut être compris entre [-1, + 1], où zéro signifie qu'il n'y a pas de relation entre les variables, -1 signifie qu'il existe une relation négative parfaite (lorsqu'une variable augmente, l'autre diminue), et +1 est un parfait positif relation (les deux variables augmentent ou diminuent de manière concordante).

Si en effet vous regardez r ^ 2, alors, comme le commentateur précédent le décrit, vous voyez probablement le r ^ 2 ajusté, pas le r ^ 2 réel. Considérez ce que signifie la statistique: j'enseigne les statistiques des sciences du comportement, et la façon la plus simple que j'ai apprise pour enseigner à mes élèves la signification de r ^ 2 est «explication du% de variance». Donc, si vous avez r ^ 2 = 0,5, le modèle explique 50% de la variation de la variable dépendante (résultat). Si vous avez un r ^ 2 négatif, cela signifierait que le modèle explique un% négatif de la variable de résultat, ce qui n'est pas une suggestion intuitivement raisonnable. Cependant, r ^ 2 ajusté tient compte de la taille de l'échantillon (n) et du nombre de prédicteurs (p). Une formule pour le calculer est ici. Si vous avez un r ^ 2 très faible, il est relativement facile d'obtenir des valeurs négatives. Certes, un r ^ 2 ajusté négatif n'a pas de signification plus intuitive que le r ^ 2 normal, mais comme le dit le commentateur précédent, cela signifie simplement que votre modèle est très pauvre, sinon tout simplement inutile.


3
En ce qui concerne le pourcentage de variance expliqué, peut-être si le modèle est si mauvais qu'il augmente la variance (ESS> TSS), on peut obtenir un résultat négatifR2, où R2est défini comme le% de variance expliqué plutôt que la corrélation quadratique entre les valeurs réelles et ajustées. Cela pourrait ne pas se produire dans une régression avec une interception estimée par OLS, mais cela pourrait se produire dans une régression sans interception ou peut-être d'autres cas.
Richard Hardy

4
R2 est impossible d'être <0 dans l'échantillon, mais peut être négatif lorsqu'il est calculé à partir de l'échantillon , c'est-à-dire sur un échantillon d'exclusion après avoir fixé tous les coefficients de régression. Comme expliqué ci-dessus, cela représente pire que les prévisions aléatoires.
Frank Harrell

@FrankHarrell, êtes-vous sûr qu'il doit être dans l'échantillon? Certes, vous devez ignorer les données assez fortement pour générer un modèle pire que la moyenne, mais je ne vois pas pourquoi vous ne pouvez pas le faire uniquement avec des données dans l'échantillon.
Matt Krause

Je suppose que dans l'échantillon signifie un échantillon sur lequel les coefficients ont été estimés. Alors ne peut pas être négatif.
Frank Harrell

1
@FrankHarrell, supposons que le modèle soit vraiment atroce - vous avez une fonction sans interception commepéché(ωX+ϕ)à une ligne diagonale. LeR2être négatif ici aussi, même pour les données de l'échantillon? Matlab me donne un nombre négatif raisonnablement élevé quand je fais ça ...
Matt Krause
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.