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.
Recientemente visito su blog. Es muy bueno, muchas gracias por su tiempo y conocimiento compartido.
ResponderEliminar