¿Qué significa el cuadrado R negativo?


17

Digamos que tengo algunos datos, y luego ajusto los datos con un modelo (una regresión no lineal). Luego calculo el R cuadrado ( ).R2

Cuando R cuadrado es negativo, ¿qué significa eso? ¿Eso significa que mi modelo es malo? Sé que el rango de puede ser [-1,1]. Cuando R 2 es 0, ¿qué significa eso también?R2R2


44
Significa que has hecho algo mal, ya mentiras en [ 0 , 1 ] por definición. R 2 ajustado por otro lado puede ser negativo, lo que puede asumir con seguridad significa que su modelo no se ajusta muy bien a los datos. Cuando R 2 es exactamente cero, esto significa que ˉ y es tan buen predictor de y como la línea de regresión de mínimos cuadrados en sí. R2[0,1]R2 R2y¯y
dsaxton

1
Esto es posible para una regresión sin una intercepción, ver por ejemplo stats.stackexchange.com/questions/164586/…



@gung Estaba a punto de sugerir que esto era posiblemente un duplicado de esa pregunta ... ¿crees que son lo suficientemente distintos? (En todo caso, esta pregunta parece más agradable que la otra porque no hay una sintaxis de SPSS que distraiga, pero las respuestas en el otro hilo son muy buenas y parecen cubrir esta pregunta también.)
Silverfish

Respuestas:


37

R2 puede ser negativo, solo significa que:

  1. El modelo se ajusta muy mal a sus datos.
  2. No estableciste una intercepción

Para las personas que dicen que está entre 0 y 1, este no es el caso. Si bien un valor negativo para algo con la palabra 'cuadrado' puede parecer que rompe las reglas de las matemáticas, puede suceder en una RR2modelo 2 sin una intercepción. Para entender por qué, necesitamos ver cómo R 2R2R2 se calcula.

Esto es un poco largo: si quieres la respuesta sin entenderla, salta al final. De lo contrario, he tratado de escribir esto en palabras simples.

Primero, definamos 3 variables: , T S S y E S SRSSTSSESS .

Cálculo de RSS :

Para cada variable independiente , tenemos la variable dependiente y . Trazamos una línea lineal de mejor ajuste, que predice el valor de y para cada valor de x . Vamos a llamar a los valores de y la línea predice y . El error entre lo que predice su línea y cuál es el valor real de y puede calcularse mediante una resta. Todas estas diferencias son cuadradas y sumadas, lo que da la suma residual de cuadrados R S Sxyyxyy^yRSS .

Poner que en una ecuación, RSS=(yy^)2

Cálculo de TSS :

Podemos calcular el valor promedio de , que se llama ˉ y . Si trazamos ˉ y , es solo una línea horizontal a través de los datos porque es constante. Sin embargo, lo que podemos hacer con él es restar ˉ y (el valor promedio de y ) de cada valor real de y . El resultado se eleva al cuadrado y se suma, lo que da la suma total de los cuadrados T S Syy¯y¯y¯yyTSS .

Poniendo eso en una ecuación TSS=(yy¯)2

Cálculo de ESS :

Las diferencias entre Y (los valores de y predichos por la línea) y el valor medio ˉ y se elevan al cuadrado y se añaden. Esta es la suma de los cuadrados explicado, que es igual a Σ ( Y - ˉ y ) 2y^yy¯(y^y¯)2

Recordemos, , pero podemos añadir un + y - y en él, debido a que pierde su valor. Por lo tanto, T S S = Σ ( y - y + y - ˉ y ) 2 . La expansión de estos soportes, obtenemos 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

Cuando, y sólo cuando la línea se traza con una intercepción, la siguiente es siempre verdad: . Por lo tanto, T S S = Σ ( y - y ) 2 + Σ ( y - ˉ y ) 2 , que es posible que observe medios sólo que T S S = R S S +2(yy^)(y^y¯)=0TSS=(yy^)2+(y^y¯)2 . Si dividimos todos los términos por T STSS=RSS+ESS y reorganizamos, obtenemos 1 - R S STSS1RSSTSS=ESSTSS .

Aquí está la parte importante :

se define como la cantidad de varianza que explica su modelo (qué tan bueno es su modelo). En forma de ecuación, eso es R 2 = 1 - R S SR2 . ¿Parecer familiar? Cuando la línea se traza con una intersección, podemos sustituir esto comoR2=ESSR2=1RSSTSS . Dado que tanto el numerador como el demonizador son sumas de cuadrados,R2debe ser positivo.R2=ESSTSSR2

PERO

2(yy^)(y^y¯)0TSS=RSS+ESS+2(yy^)(y^y¯) .

TSS1RSSTSS=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.

Here's an exaggerated example of when R2 is negative (Source: University of Houston Clear Lake)

Un ejemplo exagerado de cuando R ^ 2 es negativo (Fuente: Universidad de Houston Clear Lake)

Put simply:

  • When 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
Seriously fantastic answer! The only thing missing for me is the intuition behind why 2(yy^)(y^y¯)=0 when, and only when, there is an intercept set?
Owen

6

Neither answer so far is entirely correct, so I will try to give my understanding of R-Squared. I have given a more detailed explanation of this on my blog post here "What is R-Squared"

Sum Squared Error

The objective of ordinary least squared regression is to get a line which minimized the sum squared error. The default line with minimum sum squared error is a horizontal line through the mean. Basically, if you can't do better, you can just predict the mean value and that will give you the minimum sum squared error

línea horizontal a través de la media

R-Squared is a way of measuring how much better than the mean line you have done based on summed squared error. The equation for R-Squared is

ecuación para r cuadrado

Now SS Regression and SS Total are both sums of squared terms. Both of those are always positive. This means we are taking 1, and subtracting a positive value. So the maximum R-Squared value is positive 1, but the minimum is negative infinity. Yes, that is correct, the range of R-squared is between -infinity and 1, not -1 and 1 and not 0 and 1

What Is Sum Squared Error

Sum squared error is taking the error at every point, squaring it, and adding all the squares. For total error, it uses the horizontal line through the mean, because that gives the lowest sum squared error if you don't have any other information, i.e. can't do a regression.

ingrese la descripción de la imagen aquí

As an equation it is this

ecuación de error total al cuadrado suma

Now with regression, our objective is to do better than the mean. For instance this regression line will give a lower sum squared error than using the horizontal line.

ingrese la descripción de la imagen aquí

The equation for regression sum squared error is this

ingrese la descripción de la imagen aquí

Ideally, you would have zero regression error, i.e. your regression line would perfectly match the data. In that case you would get an R-Squared value of 1

r valor al cuadrado de 1

Negative R Squared

All the information above is pretty standard. Now what about negative R-Squared ?

Well it turns out that there is not reason that your regression equation must give lower sum squared error than the mean value. It is generally thought that if you can't make a better prediction than the mean value, you would just use the mean value, but there is nothing forcing that to be the cause. You could for instance predict the median for everything.

En la práctica real, con la regresión de mínimos cuadrados ordinarios, el momento más común para obtener un valor R-cuadrado negativo es cuando se fuerza un punto por el que debe pasar la línea de regresión. Esto normalmente se hace configurando la intersección, pero puede forzar la línea de regresión a través de cualquier punto.

Cuando hace eso, la línea de regresión pasa por ese punto e intenta obtener el error mínimo de suma al cuadrado mientras aún pasa por ese punto.

punto fijo

Por defecto, las ecuaciones de regresión usan el promedio xy el promedio y como el punto por el que pasa la línea de regresión. Pero si lo fuerza a través de un punto que está muy lejos de donde normalmente estaría la línea de regresión, puede obtener un error de suma al cuadrado que es más alto que usar la línea horizontal

En la imagen a continuación, ambas líneas de regresión se vieron obligadas a tener una intersección ay de 0. Esto causó un R cuadrado negativo para los datos que están muy lejos del origen.

r cuadrada negativa

Para el conjunto superior de puntos, los rojos, la línea de regresión es la mejor línea de regresión posible que también pasa por el origen. Simplemente sucede que esa línea de regresión es peor que usar una línea horizontal y, por lo tanto, da un R-cuadrado negativo.

R-cuadrado indefinido

Hay un caso especial que nadie mencionó, en el que puede obtener un R-Squared indefinido. Es decir, si sus datos son completamente horizontales, su error total al cuadrado es cero. Como resultado, tendría un cero dividido por cero en la ecuación de R cuadrado, que no está definida.

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí


¡una respuesta muy vívida, me gustaría ver muchas más respuestas de este tipo!
Ben

0

Como señala el comentarista anterior, r ^ 2 está entre [0,1], no [-1, + 1], por lo que es imposible ser negativo. No puede elevar al cuadrado un valor y obtener un número negativo. Tal vez estás viendo r, la correlación? Puede estar entre [-1, + 1], donde cero significa que no hay relación entre las variables, -1 significa que hay una relación negativa perfecta (a medida que una variable aumenta, la otra disminuye), y +1 es un positivo perfecto relación (ambas variables suben o bajan concordantemente).

Si de hecho está viendo r ^ 2, entonces, como lo describe el comentarista anterior, probablemente esté viendo el r ^ 2 ajustado, no el r ^ 2 real. Considere lo que significa la estadística: enseño estadísticas de ciencias del comportamiento, y la forma más fácil que he aprendido de enseñarles a mis alumnos sobre el significado de r ^ 2 es "explicando el porcentaje de varianza". Entonces, si tiene r ^ 2 = 0.5, el modelo explica el 50% de la variación de la variable dependiente (resultado). Si tiene un r ^ 2 negativo, significaría que el modelo explica un% negativo de la variable de resultado, lo cual no es una sugerencia intuitivamente razonable. Sin embargo, r ^ 2 ajustado toma en cuenta el tamaño de la muestra (n) y el número de predictores (p). Una fórmula para calcularlo está aquí.. Si tiene un r ^ 2 muy bajo, entonces es razonablemente fácil obtener valores negativos. Por supuesto, un r ^ 2 ajustado negativamente no tiene un significado más intuitivo que el r ^ 2 normal, pero como dice el comentarista anterior, solo significa que su modelo es muy pobre, si no simplemente inútil.


3
Con respecto al porcentaje de varianza explicado, tal vez si el modelo es tan pobre como para aumentar la varianza (ESS> TSS), uno puede obtener un resultado negativoR2, dónde R2se define como el% de varianza explicada en lugar de la correlación al cuadrado entre los valores reales y ajustados Esto podría no ocurrir en una regresión con una intersección estimada por OLS, pero podría ocurrir en una regresión sin intercepción u otros casos.
Richard Hardy

44
R2 es imposible ser <0 0 en la muestra pero puede ser negativo cuando se calcula fuera de la muestra , es decir, en una muestra reservada después de fijar todos los coeficientes de regresión. Como se explicó anteriormente, esto representa peores predicciones aleatorias.
Frank Harrell

@FrankHarrell, ¿estás seguro de que debe estar en la muestra? De acuerdo, tendrías que ignorar los datos con bastante fuerza para generar un modelo que sea peor que la media, pero no veo por qué no puedes hacer esto solo con datos en la muestra.
Matt Krause

Supongo que en muestra significa muestra sobre qué coeficientes se estimaron. Entonces no puede ser negativo.
Frank Harrell

1
@FrankHarrell, supongamos que el modelo es realmente atroz: se ajusta a alguna función sin intercepción comopecado(ωX+ϕ)a una línea diagonal. No deberíaR2ser negativo aquí también, incluso para los datos de la muestra? Matlab me da un número negativo razonablemente grande cuando hago eso ...
Matt Krause
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.