49 votos

¿Qué significa R-cuadrado negativo?

Supongamos que tengo algunos datos y luego ajusto los datos con un modelo (una regresión no lineal). Luego calculo el R-cuadrado ($R^2$).

Cuando el R-cuadrado es negativo, ¿Qué significa eso? ¿Significa que mi modelo es malo? Sé que el rango de $R^2$ puede ser [-1,1]. ¿Qué significa también cuando $R^2$ es 0?

6 votos

Esto significa que has hecho algo mal ya que, por definición, $R^2$ se encuentra en $[0, 1]$. $R^2$ ajustado, por otro lado, puede ser negativo, lo que puedes asumir con seguridad significa que tu modelo es muy poco adecuado para los datos. Cuando $R^2$ es exactamente cero, esto significa que $\bar{y}$ es igual de buen predictor de $y$ que la propia línea de regresión de mínimos cuadrados.

1 votos

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

0 votos

79voto

Joe Puntos 152

$R^2$ puede ser negativo, simplemente significa que:

  1. El modelo se ajusta muy mal a tus datos
  2. No configuraste una intersección

Para las personas que dicen que $R^2$ está entre 0 y 1, esto no es cierto. Aunque un valor negativo para algo con la palabra 'al cuadrado' en ella podría sonar como si rompiera las reglas de las matemáticas, puede ocurrir en un modelo $R^2$ sin una intersección. Para entender por qué, necesitamos ver cómo se calcula $R^2$.

Esto es un poco largo - Si quieres la respuesta sin entenderlo, entonces salta al final. De lo contrario, he intentado escribir esto en palabras simples.

Primero, definamos 3 variables: $RSS$, $TSS$ y $ESS$.

Calculando RSS:

Para cada variable independiente $x$, tenemos la variable dependiente $y$. Trasamos una línea lineal de mejor ajuste, que predice el valor de $y$ para cada valor de $x$. Llamemos a los valores de $y$ que la línea predice $\hat y$. El error entre lo que tu línea predice y lo que realmente es el valor de $y$ se puede calcular por resta. Todas estas diferencias se elevan al cuadrado y se suman, lo que da como resultado la Suma Residual de Cuadrados $RSS$.

Poniéndolo en una ecuación, $RSS = \sum (y - \hat y)^2$

Calculando TSS:

Podemos calcular el valor promedio de $y$, que se llama $\bar y$. Si trazamos $\bar y$, es solo una línea horizontal a través de los datos porque es constante. Lo que podemos hacer con ella, de todos modos, es restar $\bar 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 cuadrados $TSS$.

Poniéndolo en una ecuación $TSS = \sum (y - \bar y)^2$

Calculando ESS:

Las diferencias entre $\hat y$ (los valores de $y$ predichos por la línea) y el valor promedio $\bar y$ se elevan al cuadrado y se suman. Esto es la suma explicada de cuadrados, que es igual a $\sum (\hat y - \bar y)^2$

Recuerda, $TSS = \sum (y - \bar y)^2$, pero podemos agregar un $ + \hat y - \hat y$ en ella, porque se cancela a sí mismo. Por lo tanto, $TSS = \sum (y - \hat y + \hat y -\bar y)^2$. Expandiendo estos corchetes, obtenemos $TSS = \sum (y - \hat y)^2 + 2* \sum (y - \hat y)(\hat y - \bar y) + \sum (\hat y - \bar y)^2$

Cuando, y solo cuando la línea se traza con una intersección, lo siguiente siempre es cierto: $2* \sum (y - \hat y)(\hat y - \bar y) = 0$. Por lo tanto, $TSS = \sum (y - \hat y)^2 + \sum (\hat y - \bar y)^2$, lo que puedes notar que simplemente significa que $TSS = RSS + ESS$. Si dividimos todos los términos por $TSS$ y reorganizamos, obtenemos $1 - \frac {RSS}{TSS} = \frac {ESS}{TSS}$.

Aquí está la parte importante:

$R^2$ se define como cuánta de la varianza es explicada por tu modelo (cuán bueno es tu modelo). En forma de ecuación, eso es $R^2 = 1 - \frac {RSS}{TSS}$. ¿Se te hace familiar? Cuando la línea se traza con una intersección, podemos sustituir esto como $R^2 = \frac {ESS}{TSS}$. Dado que tanto el numerador como el denominador son sumas de cuadrados, $R^2$ debe ser positivo.

Pero

Cuando no especificamos una intersección, $2* \sum (y - \hat y)(\hat y - \bar y)$ no necesariamente es igual a $0$. Esto significa que $TSS = RSS + ESS + 2* \sum (y - \hat y)(\hat y - \bar y)$.

Dividiendo todos los términos por $TSS$, obtenemos $1 - \frac{RSS}{TSS} = \frac {ESS + 2* \sum (y - \hat y)(\hat y - \bar y)}{TSS}$.

Finalmente, sustituimos para obtener $R^2 = \frac {ESS + 2* \sum (y - \hat y)(\hat y - \bar y)}{TSS}$. Esta vez, el numerador tiene un término en él que no es una suma de cuadrados, por lo que puede ser negativo. Esto haría que $R^2$ sea negativo. ¿Cuándo sucedería esto? $2* \sum (y - \hat y)(\hat y - \bar y)$ sería negativo cuando $y - \hat y$ sea negativo y $\hat y - \bar y$ sea positivo, o viceversa. Esto ocurre cuando la línea horizontal de $\bar y$ realmente explica los datos mejor que la línea de mejor ajuste.

Aquí tienes un ejemplo exagerado de cuando $R^2$ es negativo (Fuente: University of Houston Clear Lake)

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

En resumen:

  • Cuando $R^2 < 0$, una línea horizontal explica los datos mejor que tu modelo.

También preguntaste sobre $R^2 = 0$.

  • Cuando $R^2 = 0$, una línea horizontal explica los datos igual de bien que tu modelo.

Te felicito por pasar por todo eso. Si encontraste esto útil, también deberías votar a favor de la respuesta de fcop aquí al que tuve que recurrir, porque ha pasado un tiempo.

8 votos

¡Respuesta realmente fantástica! Lo único que falta para mí es la intuición detrás de por qué $2* \sum (y - \hat y)(\hat y - \bar y) = 0$ cuando, y solo cuando, hay un conjunto de intercepción.

1 votos

Creo que tengo una explicación parcial: expandir la expresión da $y_i(\sum{\hat{y_i}}-\sum{\bar{y}}) + \hat{y_i}(\sum{\bar{y}} - \sum{\hat{y_i}})$. Se va a cero si el valor esperado de las predicciones es igual al valor esperado de los datos. Supongo que permitir una intersección proporciona el grado de libertad extra necesario en la regresión por mínimos cuadrados para que eso suceda.

0 votos

Gran respuesta pero no estoy seguro si la afirmación no probada $2* \sum (y - \hat y)(\hat y - \bar y) = 0$ si y solo si la interceptación es distinta de cero es verdadera. Creo que la versión correcta debería ser $2* \sum (y - \hat y)(\hat y - \bar y) = 0$ si y solo si el modelo es un modelo de regresión lineal y el modelo se está evaluando en los mismos datos en los que se ajusta, como se discute en este artículo.

34voto

Thor84no Puntos 80

Ninguna de las respuestas hasta ahora es totalmente correcta, así que trataré de dar mi comprensión de R-Cuadrado. He dado una explicación más detallada de esto en mi publicación de blog aquí "¿Qué es R-Cuadrado"

Error Cuadrático Sumado

El objetivo de la regresión de mínimos cuadrados ordinarios es obtener una línea que minimice el error cuadrático sumado. La línea predeterminada con el mínimo error cuadrático sumado es una línea horizontal a través de la media. Básicamente, si no puedes hacerlo mejor, simplemente puedes predecir el valor medio y eso te dará el mínimo error cuadrático sumado.

línea horizontal a través de la media

R-Cuadrado es una forma de medir qué tan superior a la línea media te has desempeñado basándote en el error cuadrático sumado. La ecuación para R-Cuadrado es

ecuación para r-cuadrado

Ahora, la Regresión SS y Total SS son sumas de términos cuadrados. Ambas siempre son positivas. Esto significa que estamos tomando 1 y restando un valor positivo. Por lo tanto, el valor máximo de R-Cuadrado es positivo 1, pero el mínimo es negativo infinito. Sí, es correcto, el rango de R-Cuadrado está entre -infinito y 1, no entre -1 y 1 y no entre 0 y 1

¿Qué es el Error Cuadrático Sumado?

El error cuadrático sumado es tomar el error en cada punto, elevarlo al cuadrado y sumar todos los cuadrados. Para el error total, utiliza la línea horizontal a través de la media, porque eso da el menor error cuadrático sumado si no tienes ninguna otra información, es decir, no puedes hacer una regresión.

introducir descripción de la imagen aquí

Como ecuación es esta

ecuación de error cuadrático total sumado

Ahora, con la regresión, nuestro objetivo es hacerlo mejor que la media. Por ejemplo, esta línea de regresión dará un error cuadrático sumado menor que usar la línea horizontal.

introducir descripción de la imagen aquí

La ecuación para el error cuadrático sumado de la regresión es esta

introducir descripción de la imagen aquí

Idealmente, tendrías cero error de regresión, es decir, tu línea de regresión coincidiría perfectamente con los datos. En ese caso obtendrías un valor de R-Cuadrado de 1

valor de r cuadrado de 1

R-Cuadrado Negativo

Toda la información anterior es bastante estándar. Ahora ¿qué pasa con el R-Cuadrado negativo?

Bueno, resulta que no hay motivo para que tu ecuación de regresión deba dar un error cuadrático sumado menor que el valor medio. Generalmente se piensa que si no puedes hacer una mejor predicción que el valor medio, simplemente usarías el valor medio, pero no hay nada que obligue a que así sea. Por ejemplo, podrías predecir la mediana para todo.

En la práctica real, con la regresión de mínimos cuadrados ordinarios, la ocasión más común para obtener un valor de R-Cuadrado negativo es cuando obligas a que la línea de regresión pase por un punto. Esto se suele hacer configurando la intercepción, pero puedes hacer que la línea de regresión pase por cualquier punto.

Cuando haces eso, la línea de regresión pasa por ese punto e intenta obtener el error cuadrático sumado mínimo mientras sigue pasando por ese punto.

punto fijo

Por defecto, las ecuaciones de regresión utilizan el promedio de x y el promedio de y como el punto por el que la línea de regresión pasa. Pero si lo fuerzas a pasar por un punto que está lejos de donde estaría normalmente la línea de regresión, puedes obtener un error cuadrático sumado que sea mayor que usar la línea horizontal

En la siguiente imagen, ambas líneas de regresión se forzaron a tener una intercepción y de 0. Esto causó un R-Cuadrado negativo para los datos que están bastante alejados del origen.

r cuadrado negativo

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ó, donde puedes obtener un R-Cuadrado indefinido. Eso sucede si tus datos son completamente horizontales, entonces tu error cuadrático total es cero. Como resultado, tendrías un cero dividido por cero en la ecuación de R-Cuadrado, lo cual es indefinido.

introducir descripción de la imagen aquí

introducir descripción de la imagen aquí

2 votos

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

1voto

Charles Ma Puntos 12330

La pregunta está preguntando acerca de "un modelo (una regresión no lineal)". En este caso no hay límite de cuán negativo puede ser R-cuadrado.

R-cuadrado = 1 - SSE / TSS

Mientras el término SSE sea significativamente grande, obtendrás un R-cuadrado negativo. Puede ser causado por un ajuste malo en general o una predicción extremadamente mala.

Por ejemplo:

In [78]: from sklearn import metrics

In [79]: actual = np.array([1,2,3,4,5,6])

In [80]: preds = np.array([1,2,3,4,5,60]) # el modelo puede predecir cualquier cosa

In [81]: metrics.r2_score(actual, preds)
Out[81]: -165.62857142857143

In [82]: sse = np.sum((actual - preds) ** 2)

In [83]: sse
Out[83]: 2916

In [84]: tss = np.sum((actual - np.mean(actual)) ** 2)

In [85]: tss
Out[85]: 17.5

In [86]: r_2 = 1 - sse / tss

In [87]: r_2
Out[87]: -165.62857142857143

0voto

user233900 Puntos 8

Un $R^2$ negativo puede indicar una calibración relativa deficiente del modelo. Esto se aplica estrictamente al $R^2$ de Efron en el contexto de la regresión logística. Creo que esto se puede extrapolar (al menos como una intuición) al $R^2$ estándar para un modelo de probabilidad lineal.

Esto se deriva de la equivalencia entre el $R^2$ de Efron y el Brier Skill Score (BSS):

$$\text{R}^2 \text{ de Efron} = 1 - \frac{\sum_{i=1}^N ({y_i} - \hat \pi_i)^2}{\sum_{i=1}^N ({y_i} - \bar y)^2}$$

Mientras que:

$$BSS = 1 - \frac{BS}{BS_{\text{ref}}} = 1 - \frac{\frac{1}{N} \sum_{t=1}^N (f_t - o_t)^2}{\frac{1}{N} \sum_{t=1}^N (\bar o - o_t)^2} = 1 - \frac{\sum_{t=1}^N (o_t - f_t)^2}{\sum_{t=1}^N (o_t - \bar o)^2}$$

donde

  • $y_i$ - evento, $o_t$ - resultado real
  • $\hat \pi_i$ - probabilidad predicha por el modelo, $f_t$ - probabilidad pronosticada
  • $i$ - observación, $t$ - pronóstico

Notación tomada de UCLA para el $R^2$ de Efron y de Wiki para el BSS.

Algunas pautas recomiendan que todos los modelos de predicción clínica deberían tener un BSS>0.

1 votos

Sería interesante agregar un ejemplo de un modelo con alto AUC y Efron's $R^2$ negativo.

-1voto

Will Puntos 116

Como señala el comentarista anterior, r^2 está entre [0,1], no entre [-1,+1], por lo que es imposible que sea negativo. No puedes elevar al cuadrado un valor y obtener un número negativo. ¿Quizás estás mirando a 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 una relación positiva perfecta (ambas variables suben o bajan concordantemente).

Si de hecho estás mirando a r^2, entonces, como describe el comentarista anterior, probablemente estés viendo el r^2 ajustado, no el r^2 real. Considera lo que significa la estadística: Enseño estadísticas de ciencias del comportamiento, y la forma más fácil que he aprendido para enseñarles a mis estudiantes sobre el significado de r^2 es "% de varianza explicada". Así que si tienes r^2=0.5, el modelo explica el 50% de la variación de la variable dependiente (resultado). Si tienes 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, el r^2 ajustado toma en consideración el tamaño de la muestra (n) y el número de predictores (p). Una fórmula para calcularlo está aquí. Si tienes un r^2 muy bajo, entonces es razonablemente fácil obtener valores negativos. Por supuesto, un r^2 ajustado negativo no tiene más significado intuitivo que el r^2 regular, pero como dice el comentarista anterior, simplemente significa que tu modelo es muy pobre, si no completamente inútil.

3 votos

En cuanto al porcentaje de varianza explicada, quizá si el modelo es tan malo como para incrementar la varianza (ESS > TSS), se puede obtener un $R^2$ negativo, donde $R^2$ se define como el porcentaje de varianza explicada en lugar de la correlación al cuadrado entre los valores reales y los valores 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 intersección o tal vez en otros casos.

5 votos

$R^2$ es imposible que sea $<0$ en la muestra pero puede ser negativo cuando se calcula fuera de la muestra, es decir, en una muestra de retención después de fijar todos los coeficientes de regresión. Como se explicó anteriormente, esto representa predicciones peores que al azar.

0 votos

@FrankHarrell, ¿estás seguro de que necesita ser en la muestra? Es cierto, tendrías que ignorar los datos de forma bastante fuerte 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.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X