miércoles, 13 de marzo de 2019

Sobre el coeficiente de determinación

El coeficiente de determinación

Para medir el grado de ajuste (goodness of fit) de unos datos al modelo lineal tenemos el coeficiente de determinación \(R^2\). Se define como el porcentaje de variabilidad explicada: \[ R^2 = 1-\frac{\textrm{SCR}}{\textrm{SCT}} = 1 - \frac{\sum_{i=1}^n (\hat y_i-y_i)^2}{\sum_{i=1}^n (y_i-\bar y)^2} \] donde \(\textrm{SCT}\) es la suma de cuadrados total y \(\textrm{SCR}\) la suma de cuadrados de los residuos y, en términos de variabilidad explicada y no explicada, tenemos: \[ \textrm{SCT} = \sum_{i=1}^n (y_i-\bar y)^2 = \textrm{VE} + \textrm{VNE} = \textrm{VE} + \textrm{SCR} \] donde \(\textrm{VE}=\sum_{i=1}^n (\hat y_i-\bar y)^2\).

Así pues, \(0\le R^2\le 1\) y los valores próximos a \(1\) indican un buen ajuste.

Por otra parte, el coeficiente de correlación al cuadrado entre las predicciones y las respuestas coincide con el coeficiente de determinación: \[ R^2 = \textrm{cor}^2(\hat y_i,y_i) \]

Ejemplo

Tomemos el modelo del libro de Faraway con los datos de las islas Galápagos.

library(faraway)
data(gala)
g <- lm(Species ~ Area + Elevation + Nearest + Scruz + Adjacent, data=gala)
summary(g)$r.squared
## [1] 0.7658469

Ahora podemos calcular el cuadrado de la correlación entre predicciones y respuestas:

cor(predict(g),gala$Species)^2
## [1] 0.7658469

Caso de la regresión sin término de intercepción

Ejemplo

Repetimos ahora el ejemplo anterior con el modelo sin el término de intercepción.

g0 <- lm(Species ~ 0 + Area + Elevation + Nearest + Scruz + Adjacent, data=gala)
summary(g0)$r.squared
## [1] 0.8501933
cor(predict(g0),gala$Species)^2
## [1] 0.7652718

Los resultados son distintos.

El motivo es que la definición del coeficiente de determinación en este caso es distinta. \[ R^2_0 = \frac{\sum_{i=1}^n \hat y_i^2}{\sum_{i=1}^n y_i^2} \]

Lo podemos comprobar en el ejemplo:

sum(predict(g0)^2)/sum(gala$Species^2)
## [1] 0.8501933

Así vemos que R calcula diferente el coeficiente de determinación según el modelo sea con o sin término de intercepción. Ese es el criterio aceptado mayoritariamente en la comunidad estadística. De esto se deduce que \(R^2\) y \(R^2_0\) no son comparables entre sí. Casi siempre el modelo sin intercepción tiene un coeficiente de determinación mayor que el modelo con intercepcción por lo que parece que deberíamos elegir siempre el modelo más simple, pero ahora sabemos que no son comparables. La decisión sobre si debemos tener o no término de intercepción depende del investigador y su modelo teórico. En caso de duda, siempre hay que tomar el modelo con intercepción.


Finalmente, decir que Faraway(2014) se equivoca cuando en la sección 2.9 página 23 dice que R calcula el coeficiente de determinación con la fórmula general en el caso de modelos sin intercepción. R no lo calcula utilizando la fórmula general, sino que utiliza la fórmula de \(R^2_0\).


Por otra parte, para comparar modelos de predicción sobre los mismos datos se puede utilizar la raíz del error cuadrático medio (root mean square error o RMSE) que es una medida absoluta que debemos minimizar.

1 comentario:

  1. Recientemente visito su blog. Es muy bueno, muchas gracias por su tiempo y conocimiento compartido.

    ResponderEliminar