Estamos interesados en evaluar como de bueno es el modelo que se ha estimado. La calidad del modelo se puede calcular utilizando diferentes métricas:
Dado unos datos \((x_{1i}, \ldots, x_{ki}, y_i), \ i = 1,\ldots,n\), se estima el modelo de regresión lineal
\[ y_i = \beta_0 + \beta_1 x_{1i} + \cdots + \beta_k x_{ki} + u_i \]
obteniendo
\[ y_i = \hat \beta_0 + \hat \beta_1 x_{1i} + \cdots + \hat \beta_k x_{ki} + e_i \]
Es usual definir
\[ \hat y_i = \hat \beta_0 + \hat \beta_1 x_{1i} + \cdots + \hat \beta_k x_{ki} \]
por lo que
\[ y_i = \hat y_i + e_i \]
Ya hemos visto que a partir de esta expresión se obtiene:
\[ \sum_{i=1}^n (y_i - \bar{y})^2 = \sum_{i=1}^n (\hat y_i - \bar{y})^2 + \sum_{i=1}^n e_i^2 \]
\[ SST = SSM + SSR \]
donde:
Es decir, dividimos la suma de cuadrados total entre modelo y residuos. Por tanto es lógico definir un coeficiente dividiendo SSM entre SST, es decir, calcular el porcentaje de la suma de cuadrados que corresponde al modelo. Dicho coeficiente se llama coeficiente de determinación:
\[ R^2 = \frac{SSM}{SST} = 1 - \frac{SSE}{SST} \]
Este coeficiente toma valores entre 0 y 1:
El coeficiente de determinación se ha definido como
\[ R^2 = 1 - \frac{SSE}{SST} = 1 - \frac{(n-k-1) \hat s_R^2}{(n-1)\hat s_y^2} \]
Imaginemos que \(\beta_k = 0\), es decir, que el regresor \(x_k\) no aporta información al modelo. Entonces podríamos estimar el modelo:
\[ y_i = \beta_0 + \beta_1 x_{1i} + \cdots + \beta_{k-1} x_{(k-1)i} + u_i \]
con \(R_1^2\). En principio se debería cumplir que \(R^2 = R_1^2\). Sin embargo,
\[ (n-(k-1)-1) > (n-k-1) \] \[ (n-k) \hat s_R^2 > (n-k-1) \hat s_R^2 \]
\[ \frac{(n-k) \hat s_R^2}{(n-1)\hat s_y^2} > \frac{(n-k-1) \hat s_R^2}{(n-1)\hat s_y^2} \]
\[ - \frac{(n-k) \hat s_R^2}{(n-1)\hat s_y^2} < - \frac{(n-k-1) \hat s_R^2}{(n-1)\hat s_y^2} \]
\[ 1 - \frac{(n-k) \hat s_R^2}{(n-1)\hat s_y^2} < 1 - \frac{(n-k-1) \hat s_R^2}{(n-1)\hat s_y^2} \]
\[ R_1^2 < R^2 \]
Por tanto, el coeficiente de determinación disminuye al aumentar el número de regresores k, aunque esos regresores no aporten información al modelo. Por este motivo se define el coeficiente de determinación ajustado:
\[ R_a^2 = 1 - \frac{\hat s_R^2}{\hat s_y^2} = 1 - \frac{SSR/(n-k-1)}{SST/(n-1)} = 1 - \frac{SSR}{SST} \frac{(n-1)}{(n-k-1)} \]
Cuando comparamos modelos con diferente número de regresores es preferible utilizar \(R^2_a\).
d = read.csv("datos/kidiq.csv")
d$mom_hs = factor(d$mom_hs, labels = c("no", "si"))
d$mom_work = factor(d$mom_work, labels = c("notrabaja", "trabaja23", "trabaja1_parcial", "trabaja1_completo"))
m1 = lm(kid_score ~ mom_iq + mom_age + mom_hs + mom_work, data = d)
summary(m1)
##
## Call:
## lm(formula = kid_score ~ mom_iq + mom_age + mom_hs + mom_work,
## data = d)
##
## Residuals:
## Min 1Q Median 3Q Max
## -54.414 -12.095 2.015 11.653 49.100
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 20.27273 9.39320 2.158 0.0315 *
## mom_iq 0.55288 0.06138 9.008 <2e-16 ***
## mom_age 0.21629 0.33351 0.649 0.5170
## mom_hssi 5.43466 2.32518 2.337 0.0199 *
## mom_worktrabaja23 2.98266 2.81289 1.060 0.2896
## mom_worktrabaja1_parcial 5.48824 3.25239 1.687 0.0922 .
## mom_worktrabaja1_completo 1.41929 2.51621 0.564 0.5730
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 18.14 on 427 degrees of freedom
## Multiple R-squared: 0.2213, Adjusted R-squared: 0.2103
## F-statistic: 20.22 on 6 and 427 DF, p-value: < 2.2e-16
m2 = lm(kid_score ~ mom_iq + mom_age + mom_hs, data = d)
summary(m2)
##
## Call:
## lm(formula = kid_score ~ mom_iq + mom_age + mom_hs, data = d)
##
## Residuals:
## Min 1Q Median 3Q Max
## -53.289 -12.421 2.399 11.223 50.169
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 20.98466 9.13013 2.298 0.0220 *
## mom_iq 0.56254 0.06065 9.276 <2e-16 ***
## mom_age 0.22475 0.33075 0.680 0.4972
## mom_hssi 5.64715 2.25766 2.501 0.0127 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 18.15 on 430 degrees of freedom
## Multiple R-squared: 0.215, Adjusted R-squared: 0.2095
## F-statistic: 39.25 on 3 and 430 DF, p-value: < 2.2e-16
Se tiene que \(R_{a1}^2 = 0.2103\), \(R_{a2}^2 = 0.2095\). Por tanto no hay mucha diferencia entre los modelos a pesar de que el modelo m1 utiliza más regresores. Esto seguramente se debe al hecho de que la variable mom_work no es significativa. Para comprobarlo utilizamos el contraste
anova(m1,m2)
## Analysis of Variance Table
##
## Model 1: kid_score ~ mom_iq + mom_age + mom_hs + mom_work
## Model 2: kid_score ~ mom_iq + mom_age + mom_hs
## Res.Df RSS Df Sum of Sq F Pr(>F)
## 1 427 140471
## 2 430 141605 -3 -1134.2 1.1493 0.3289
El p-valor > 0.05, no se rechaza la hipótesis nula, los modelos son equivalentes, la variable mom_work no es significativa.