El objetivo es entender qué se obtiene al aplicar el comando anova a un único objeto obtenido con lm.


Se han recogido datos de una central eléctrica de ciclo combinado. Las variables observadas son la temperatura ambiente (AT), la presión ambiente (AP), la humedad relativa (RH) y la presión del vapor V, con el objetivo de utilizarlas para predecir la producción de energía eléctrica (PE) de la planta.

Datos3 <- read.table("http://verso.mat.uam.es/~amparo.baillo/MatEstII/CicloCombinadoProb.txt",header=T)
reg4 <- lm(PE~AT+V+AP+RH,data=Datos3)
anova(reg4)
## Analysis of Variance Table
## 
## Response: PE
##           Df Sum Sq Mean Sq  F value    Pr(>F)    
## AT         1 4371.6  4371.6 244.0079 2.091e-14 ***
## V          1    3.9     3.9   0.2155 0.6464988    
## AP         1   75.6    75.6   4.2189 0.0505741 .  
## RH         1  267.8   267.8  14.9502 0.0006974 ***
## Residuals 25  447.9    17.9                       
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Cada línea del anterior resultado nos proporciona el efecto incremental de añadir los regresores uno a uno (en el orden dado por la fórmula del modelo) en la suma de cuadrados explicada por el modelo de regresión. Para entenderlo basta realizar el proceso con detalle nosotros mismos.

Primero ajustamos el modelo de regresión sin regresores y luego con sólo un regresor (el primero de la fórmula) AT

PE = \(\beta_0\) + \(\beta_1\) AT + \(\epsilon\)

reg0 <- lm(PE~1,data=Datos3) # Sin regresores
reg1 <- lm(PE~AT,data=Datos3)
anova(reg0,reg1)
## Analysis of Variance Table
## 
## Model 1: PE ~ 1
## Model 2: PE ~ AT
##   Res.Df    RSS Df Sum of Sq      F    Pr(>F)    
## 1     29 5166.8                                  
## 2     28  795.2  1    4371.6 153.93 6.755e-13 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Obtenemos las sumas de cuadrados residuales con los dos modelos \[ \mbox{TSS} = \mbox{RSS}_0 = \sum_{i=1}^{30} (y_i-\bar y)^2 = 5166.8 \qquad \mbox{RSS}_1 = 795.2 \] y la suma de cuadrados explicada por el modelo con el regresor AT \[ \mbox{MSS}_1 = \mbox{TSS} - \mbox{RSS}_1 = 4371.6, \] que es la suma de cuadrados que aparece en la primera línea de anova(reg4).

Ahora ajustamos el modelo con 2 regresores, AT y V:

reg2AT_V <- lm(PE~AT+V,data=Datos3)
anova(reg1,reg2AT_V)
## Analysis of Variance Table
## 
## Model 1: PE ~ AT
## Model 2: PE ~ AT + V
##   Res.Df    RSS Df Sum of Sq      F Pr(>F)
## 1     28 795.19                           
## 2     27 791.33  1    3.8611 0.1317 0.7195

Obtenemos las sumas de cuadrados residuales con los dos modelos \[ \mbox{RSS}_1 = 795.2 \qquad \mbox{RSS}_2 = 791.33 \] y la suma de cuadrados explicada por incorporar el segundo regresor V \[ \Delta\mbox{MSS}_{2|1} = \mbox{RSS}_1 - \mbox{RSS}_2 = \mbox{MSS}_2 - \mbox{MSS}_1 = 3.8611, \] que es la suma de cuadrados que aparece en la segunda línea de anova(reg4).

Ajustamos el modelo con los tres regresores AT, V y AP:

reg3AT_V_AP <- lm(PE~AT+V+AP,data=Datos3)
anova(reg2AT_V,reg3AT_V_AP)
## Analysis of Variance Table
## 
## Model 1: PE ~ AT + V
## Model 2: PE ~ AT + V + AP
##   Res.Df    RSS Df Sum of Sq      F Pr(>F)
## 1     27 791.33                           
## 2     26 715.75  1    75.585 2.7457 0.1095

Obtenemos las sumas de cuadrados residuales con los dos modelos \[ \mbox{RSS}_2 = 791.33 \qquad \mbox{RSS}_3 = 715.75 \] y la suma de cuadrados explicada por incorporar el tercer regresor AP \[ \Delta\mbox{MSS}_{3|2} = \mbox{RSS}_2 - \mbox{RSS}_3 = \mbox{MSS}_3 - \mbox{MSS}_2 = 75.585, \] que es la suma de cuadrados que aparece en la tercera línea de anova(reg4).

La dos últimas líneas de anova(reg4) se obtienen con

anova(reg3AT_V_AP,reg4)
## Analysis of Variance Table
## 
## Model 1: PE ~ AT + V + AP
## Model 2: PE ~ AT + V + AP + RH
##   Res.Df    RSS Df Sum of Sq     F    Pr(>F)    
## 1     26 715.75                                 
## 2     25 447.90  1    267.85 14.95 0.0006974 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

\[ \mbox{RSS}_3 = 715.75 \qquad \mbox{RSS} = 447.90 \] \[ \Delta\mbox{MSS}_{4|3} = \mbox{RSS}_3 - \mbox{RSS} = \mbox{MSS} - \mbox{MSS}_3 = 267.85. \]

En definitiva, hemos descompuesto la suma de cuadrados explicada por el modelo con los 4 regresores \[ \mbox{MSS} = \sum_{i=1}^{30} (\hat y_i-\bar y)^2 = \sum_{i=1}^{30} (\hat\beta_0+\hat\beta_1 \mbox{AT}+\hat\beta_2\mbox{V}+\hat\beta_3\mbox{AP}+\hat\beta_4\mbox{RH}-\bar y)^2 \] en efectos incrementales de añadir regresores uno a uno: \[ \mbox{MSS} = \mbox{TSS} - \mbox{RSS} = \mbox{RSS}_0 - \mbox{RSS} \] \[ = \mbox{RSS}_0 - \mbox{RSS}_1 + \mbox{RSS}_1 - \mbox{RSS}_2 + \mbox{RSS}_2 - \mbox{RSS}_3 + \mbox{RSS}_3 - \mbox{RSS} \] \[ = \Delta\mbox{MSS}_{1|0} + \Delta\mbox{MSS}_{2|1} + \Delta\mbox{MSS}_{3|2} + \Delta\mbox{MSS}_{4|3} = 4371.6 + 3.9 + 75.6 + 267.8 . \] Recordad que la suma de cuadrados explicada por el modelo y la residual en el caso de reg4 se obtienen así:

anova(reg0,reg4)
## Analysis of Variance Table
## 
## Model 1: PE ~ 1
## Model 2: PE ~ AT + V + AP + RH
##   Res.Df    RSS Df Sum of Sq      F    Pr(>F)    
## 1     29 5166.8                                  
## 2     25  447.9  4    4718.9 65.848 6.583e-13 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

\[ \mbox{MSS} = 4718.9 \qquad \mbox{RSS} = 447.9 \]