Utiliza los datos “swiss” que incluyen varios indicadores suizos de fertilidad y socioeconómicos para cada una de las 47 provincias francófonas de Suiza en 1888. La base de datos incluye 47 observaciones de 6 variables, cada una de las cuales está en porcentaje:

Fertility, medida estandarizada común de fertilidad

Agriculture, % de varones que participan en la agricultura como ocupación

Examination, % de reclutas que reciben la calificación más alta en el examen del ejército

Education, % de reclutas con educación más allá de la escuela primaria.

Catholic, % de católicos (en contraposición a protestantes).

Infant.Mortality, % de mortalidad infantil (nacidos vivos que viven menos de 1 año).

Queremos explicar la variable “Fertility” en función de las demás variables, para ello deberás realizar los siguientes puntos:

1 - Analiza la relación entre las variables (correlaciones y gráfico de dispersión). Interpreta los resultados.

2 - Ajusta el modelo de regresión lineal múltiple clásico.

3 - Interpreta los coeficientes y la bondad de ajuste del modelo.

4 - Estima la importancia relativa de los predictores.

5 - Evalúa gráficamente los supuestos del modelo (diagnóstico) y la presencia de datos atípicos (outliers) o influyentes.

Interpreta los resultados en cada paso.

Cargamos y revisamos los datos

data("swiss")
str(swiss)
## 'data.frame':    47 obs. of  6 variables:
##  $ Fertility       : num  80.2 83.1 92.5 85.8 76.9 76.1 83.8 92.4 82.4 82.9 ...
##  $ Agriculture     : num  17 45.1 39.7 36.5 43.5 35.3 70.2 67.8 53.3 45.2 ...
##  $ Examination     : int  15 6 5 12 17 9 16 14 12 16 ...
##  $ Education       : int  12 9 5 7 15 7 7 8 7 13 ...
##  $ Catholic        : num  9.96 84.84 93.4 33.77 5.16 ...
##  $ Infant.Mortality: num  22.2 22.2 20.2 20.3 20.6 26.6 23.6 24.9 21 24.4 ...
dim(swiss)
## [1] 47  6

1 - Analiza la relación entre las variables (correlaciones y gráfico de dispersión). Interpreta los resultados.

library(GGally)
## Warning: package 'ggplot2' was built under R version 4.5.3
ggpairs(swiss[, c("Fertility", "Agriculture", "Examination", "Education", "Catholic", "Infant.Mortality")])

En la primera fila de gráficos se observa la variable Fertility en el eje y y los predictores en el eje x. Según los coeficientes de correlación, todos los predictores estan relacionados significativamente con la variable respuesta, con algunas diferencias en cuanto a dirección, magnitud y linealidad.

Agriculture: La relación es positiva y lineal pero la que se muestra más débil (0.353), también se puede ver mucha dispersión en las observaciones. El p-value < 0.05.

Examination: La relación es negativa, no lineal y moderada (-0.646), con algunos posibles valores atípicos. Obtuvo un p-value < 0.001

Education: Tiene una relación negativa, no lineal y moderada (-0.664), con algunos valores atípicos visibles. El p-value < 0.001.

Catholic: Presenta una relación positiva, débil (0.464) y es la que se ve menos lineal, con patrones inconsistentes de dispersión y valores atípicos. Arrojó un p-value < 0.01.

Infant.Mortality: Tiene una relación positiva, débil (0.417) y es la que se observa más lineal, aunque con más variabilidad en el inicio del gráfico. Obtuvo un p-value < 0.01.

2 - Ajusta el modelo de regresión lineal múltiple clásico.

model_swiss1 <- lm(Fertility ~ Agriculture + Examination + Education + Catholic + Infant.Mortality, data = swiss)
summary(model_swiss1)
## 
## Call:
## lm(formula = Fertility ~ Agriculture + Examination + Education + 
##     Catholic + Infant.Mortality, data = swiss)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -15.2743  -5.2617   0.5032   4.1198  15.3213 
## 
## Coefficients:
##                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)      66.91518   10.70604   6.250 1.91e-07 ***
## Agriculture      -0.17211    0.07030  -2.448  0.01873 *  
## Examination      -0.25801    0.25388  -1.016  0.31546    
## Education        -0.87094    0.18303  -4.758 2.43e-05 ***
## Catholic          0.10412    0.03526   2.953  0.00519 ** 
## Infant.Mortality  1.07705    0.38172   2.822  0.00734 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 7.165 on 41 degrees of freedom
## Multiple R-squared:  0.7067, Adjusted R-squared:  0.671 
## F-statistic: 19.76 on 5 and 41 DF,  p-value: 5.594e-10

Al ver como estan distribuidos los residuos presentan una distribución simétrica. Cuando observamos el nivel de significación según los resultados de la prueba T, vemos que todos obtuvieron un resultado significativamente distinto a 0 con excepción de la variable Examination.

Al comparar el ajuste del modelo con el error del modelo, vemos que el error estándar residual es de 7.165% en el índice de fertilidad y el modelo explica un 67.09% de la variabilidad de la respuesta. Según la prueba F, la bondad de ajuste global del modelo es buena, y se obtuvo un p-value < 0.001.

3 - Interpreta los coeficientes y la bondad de ajuste del modelo.

summary(model_swiss1)$coefficients
##                    Estimate  Std. Error   t value     Pr(>|t|)
## (Intercept)      66.9151817 10.70603759  6.250229 1.906051e-07
## Agriculture      -0.1721140  0.07030392 -2.448142 1.872715e-02
## Examination      -0.2580082  0.25387820 -1.016268 3.154617e-01
## Education        -0.8709401  0.18302860 -4.758492 2.430605e-05
## Catholic          0.1041153  0.03525785  2.952969 5.190079e-03
## Infant.Mortality  1.0770481  0.38171965  2.821568 7.335715e-03
library(car)
Anova(model_swiss1)
## Anova Table (Type II tests)
## 
## Response: Fertility
##                   Sum Sq Df F value    Pr(>F)    
## Agriculture       307.72  1  5.9934  0.018727 *  
## Examination        53.03  1  1.0328  0.315462    
## Education        1162.56  1 22.6432 2.431e-05 ***
## Catholic          447.71  1  8.7200  0.005190 ** 
## Infant.Mortality  408.75  1  7.9612  0.007336 ** 
## Residuals        2105.04 41                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Intercepto = 66.915: Es el valor estimado de la fertilidad cuando todas las variables predictoras son cero. No tiene sentido práctico, ya que no existe ninguna provincia suiza con valores nulos en todas estas características.

Agriculture = –0.172: Por cada aumento de 1 punto porcentual en el porcentaje de hombres dedicados a la agricultura, la fertilidad disminuye en promedio 0.172 puntos porcentuales, manteniendo constantes las demás variables. El p-value < 0.05, por lo que su resultado en la prueba T es significativamente distinto de 0.

Examination = –0.258: Por cada aumento de 1 punto porcentual en el porcentaje de participantes que obtienen la calificación más alta en el examen militar, la fertilidad disminuye en promedio 0.258 puntos porcentuales, manteniendo constantes las demás variables. Este predictor no obtuvo un resultado estadísticamente significativo, lo que debe considerarse para fines de mejorar el modelo, después de concluir el análisis.

Education = –0.871: Por cada aumento de 1 punto porcentual en el porcentaje de reclutas con educación más allá de la primaria, la fertilidad disminuye en promedio 0.871 puntos porcentuales, manteniendo constantes las demás variables. El p-value < 0.001, siendo el más significativo entre los predictores.

Catholic = 0.104: Por cada aumento de 1 punto porcentual en el porcentaje de población católica, la fertilidad aumenta en promedio 0.104 puntos porcentuales, manteniendo constantes las demás variables. Obtuvo un p-value < 0.01, por lo que su resultado es estadística y significativamente distinto de 0.

Infant.Mortality = 1.077: Por cada aumento de 1 punto porcentual en la mortalidad infantil, la fertilidad aumenta en promedio 1.077 puntos porcentuales, manteniendo constantes las demás variables. El p-value obtenido fue de 0.0073, por lo que su resultado es estadísticamente significativo.

En conclusión: Al comparar los niveles de significancia de acuerdo al valor p de los predictores, todos fueron significativos con excepción de Examination. El más significativo fue Education que obtuvo un p-value < 0.001 y aunque Infant.Mortality no fue menor a 0.001, estuvo cerca.

sigma(model_swiss1)
## [1] 7.165369
sigma(model_swiss1)/mean(swiss$Fertility)
## [1] 0.1021544
summary(model_swiss1)$adj.r.squared
## [1] 0.670971

Al evaluar el ajuste del modelo, el error estándar residual es de 7.165 puntos porcentuales en el indice de fertilidad estandar y la tasa de error es de 10.22%. En ese mismo sentido, el modelo explica un 67.09% de la variabilidad de la respuesta.

library(rsq)
rsq.partial(model_swiss1)
## $adjustment
## [1] FALSE
## 
## $variable
## [1] "Agriculture"      "Examination"      "Education"        "Catholic"        
## [5] "Infant.Mortality"
## 
## $partial.rsq
## [1] 0.12753702 0.02457129 0.35578392 0.17538253 0.16260306

Cuando observamos el porcentaje de variación de la respuesta que es explicada por cada predictor de forma única, vemos que:

Education explica un 35.58% de la variación residual de Fertility,

Catholic explica un 17.54%,

Infant.Mortality explica un 16.26%,

Agriculture explica un 12.75%,

mientras que Examination explica solo un 2.46% de dicha variación.

Conclusión: Education es el predictor que mas explica la variacion de la respuesta en este modelo. Examination es el que menos porcentaje de la variacion de la respuesta explica, lo que sugiere que hay que evaluar posibles otros modelos que se ajusten mejor.

4 - Estima la importancia relativa de los predictores.

library(car)
vif(model_swiss1)
##      Agriculture      Examination        Education         Catholic 
##         2.284129         3.675420         2.774943         1.937160 
## Infant.Mortality 
##         1.107542
library(relaimpo)
crlm_swiss <- calc.relimp(model_swiss1,
                          type = c("lmg"),
                          rela = TRUE)
crlm_swiss
## Response variable: Fertility 
## Total response variance: 156.0425 
## Analysis based on 47 observations 
## 
## 5 Regressors: 
## Agriculture Examination Education Catholic Infant.Mortality 
## Proportion of variance explained by model: 70.67%
## Metrics are normalized to sum to 100% (rela=TRUE). 
## 
## Relative importance metrics: 
## 
##                         lmg
## Agriculture      0.08078165
## Examination      0.24220256
## Education        0.36807952
## Catholic         0.14937728
## Infant.Mortality 0.15955899
## 
## Average coefficients for different model sizes: 
## 
##                          1X         2Xs         3Xs        4Xs        5Xs
## Agriculture       0.1942017  0.03949369 -0.06794018 -0.1380370 -0.1721140
## Examination      -1.0113173 -0.89693064 -0.72467898 -0.5056072 -0.2580082
## Education        -0.8623503 -0.77680153 -0.77395379 -0.8164207 -0.8709401
## Catholic          0.1388857  0.09709583  0.08377687  0.0903765  0.1041153
## Infant.Mortality  1.7864860  1.59438387  1.46135692  1.2717960  1.0770481
plot(crlm_swiss)

Luego de determinar el factor de inflación de la varianza, vemos que no tenemos problema de multicolinealidad en el modelo model_swiss1, por lo que podemos proceder a determinar la importancia relativa de los predictores. Según el método LMG, la variable Education (36.80%) tiene más importancia relativa en el modelo, seguido de Examination (24.22%), luego Infant.Mortality (15.96%), Catholic (14.93%) y Agriculture (8.07%). Ahora vemos que en cuanto a importancia relativa, Examination es un predictor importante en el conjunto, lo que sugiere que a pesar de el porcentaje de variación de la respuesta que explica de forma unica y el p-value que obtuvo en el coeficiente, es un predictor importante en el modelo model_swiss1.

5 - Evalúa gráficamente los supuestos del modelo (diagnóstico) y la presencia de datos atípicos (outliers) o influyentes.

par(mfrow = c(2,2)) 
plot(model_swiss1)

1 - Los residuos presentan un patrón insesgado y heteroscedástico, por lo que no se cumple el supuesto de linealidad y homocedasticidad.

2 - Al ver la distribución de los residuos en el gráfico cuantil-cuantil normal, vemos que los residuos tienen una distribución normal, por lo que se cumple el supuesto de normalidad.

3 - La varianza de los residuos no es constante. La variación de los residuos cambia a lo largo de los valores ajustados y no se reparten de manera aleatoria alrededor de la linea, por lo que observa un patrón que implica que no se cumple el supuesto de homocedasticidad.

4 - Cuando observamos el gráfico, se puede identificar un valor de apalancamiento en el margen derecho del gráfico, por lo que tampoco se cumple este supuesto.

Conclusiones preliminares

Al terminar la evaluación del modelo, en general parece ser un modelo que predice el comportamiento de la variable Fertility en función de todas las demas variables como predictoras, aunque no se cumplen todos los supuestos. Otros aspectos a considerar es la presencia de una variable (Examination), que no obtuvo un resultado sigficativamente distinto de 0 en la prueba T (p-value > 0.05), y un R2 parcial de un 2.46%, aunque la importancia relativa fue de 24.22%. Esto lleva a la pregunta de cual es el modelo mas optimo que puede construirse utilizando estos datos?.

Comparación de modelos y selección de predictores

model_swiss2 <- lm(Fertility ~ Agriculture + Education + Catholic + Infant.Mortality, data = swiss)
anova(model_swiss1, model_swiss2)
## Analysis of Variance Table
## 
## Model 1: Fertility ~ Agriculture + Examination + Education + Catholic + 
##     Infant.Mortality
## Model 2: Fertility ~ Agriculture + Education + Catholic + Infant.Mortality
##   Res.Df    RSS Df Sum of Sq      F Pr(>F)
## 1     41 2105.0                           
## 2     42 2158.1 -1   -53.027 1.0328 0.3155

Construimos un segundo modelo (model_swiss2) que incluye los mismos predictores excepto el predictor Examination y hacemos una comparación entre model_swiss1 y model_swiss2 utilizando la función anova(). Al ver que p > 0.05 entonces no se rechaza H0, lo que sugiere que el predictor Examination no contribuye significativamente al modelo.

AIC(model_swiss1, model_swiss2)
##              df      AIC
## model_swiss1  7 326.0716
## model_swiss2  6 325.2408

Cuando aplicamos el criterio de información de Akaike (AIC) para hacer una segunda comparación, vemos que la diferencia entre los modelos es menor a un punto, lo que sugiere también que nos quedemos con el modelo más sencillo que es el model_swiss2.

library(MASS)
step.model <- stepAIC(model_swiss1,
                       direction = "backward",
                       trace = FALSE)
summary(step.model)
## 
## Call:
## lm(formula = Fertility ~ Agriculture + Education + Catholic + 
##     Infant.Mortality, data = swiss)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -14.6765  -6.0522   0.7514   3.1664  16.1422 
## 
## Coefficients:
##                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)      62.10131    9.60489   6.466 8.49e-08 ***
## Agriculture      -0.15462    0.06819  -2.267  0.02857 *  
## Education        -0.98026    0.14814  -6.617 5.14e-08 ***
## Catholic          0.12467    0.02889   4.315 9.50e-05 ***
## Infant.Mortality  1.07844    0.38187   2.824  0.00722 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 7.168 on 42 degrees of freedom
## Multiple R-squared:  0.6993, Adjusted R-squared:  0.6707 
## F-statistic: 24.42 on 4 and 42 DF,  p-value: 1.717e-10

Al explorar las diferentes combinaciones de predictores por medio del método stepwise, vemos nuevamente que el mejor modelo es el que no incluye Examination, lo que coincide con las comparaciones anteriores.

library(leaps)
subsets <- regsubsets(as.matrix(swiss[, -1]),
                       swiss[, "Fertility"],
                       nbest = 1,
                       nvmax = NULL,
                       method = "backward")
summary(subsets)
## Subset selection object
## 5 Variables  (and intercept)
##                  Forced in Forced out
## Agriculture          FALSE      FALSE
## Examination          FALSE      FALSE
## Education            FALSE      FALSE
## Catholic             FALSE      FALSE
## Infant.Mortality     FALSE      FALSE
## 1 subsets of each size up to 5
## Selection Algorithm: backward
##          Agriculture Examination Education Catholic Infant.Mortality
## 1  ( 1 ) " "         " "         "*"       " "      " "             
## 2  ( 1 ) " "         " "         "*"       "*"      " "             
## 3  ( 1 ) " "         " "         "*"       "*"      "*"             
## 4  ( 1 ) "*"         " "         "*"       "*"      "*"             
## 5  ( 1 ) "*"         "*"         "*"       "*"      "*"
summary(subsets)$bic
## [1] -19.60287 -28.61139 -35.65643 -37.23388 -34.55301

Al ejecutar una selección por subconjuntos, comparando todos los modelos posibles y comparando su valor basado en el criterio de información bayesiano (BIC), Vemos que el modelo con menor puntuación (-37.23388) es un modelo de 4 predictores sin la variable Examination como predictor, asegurandonos que se trata del modelo más optimo.

sigma(model_swiss2)
## [1] 7.168166
sigma(model_swiss2)/mean(swiss$Fertility)
## [1] 0.1021943
summary(model_swiss2)$adj.r.squared
## [1] 0.670714

Al evaluar nuevamente el ajuste del modelo, el error estándar residual es de 7.17 puntos porcentuales en el índice de fertilidad y la tasa de error es de 10.22%. El nuevo modelo explica un 67.07% de la variabilidad de la respuesta. A pesar de que hemos eliminado una variable, el ajuste se ha quedado casi igual, por lo que consideramos quedarnos con model_swiss2 puramente por el principio de la navaja de Ockham. Lo que nos lleva a la pregunta de si podemos disminuir el error estandar residual, disminuir la tasa de error o aumentar el % de variabilidad explicado por el modelo?

Evaluar interacciones

#Se construye un nuevo modelo con los datos originales

model_int1 <- lm(Fertility ~ Agriculture + Examination + Education + Catholic + 
                   Infant.Mortality + Education:Catholic, data = swiss)
vif(model_int1)
## there are higher-order terms (interactions) in this model
## consider setting type = 'predictor'; see ?vif
##        Agriculture        Examination          Education           Catholic 
##           2.306249           3.778026           7.528392           3.940868 
##   Infant.Mortality Education:Catholic 
##           1.152123           6.365273

Luego de crear nuevos modelos para probar distintas interacciones que no he puesto aquí en el trabajo, y aplicando un poco de intuición y de teoría, fabricamos un modelo model_int1 con todos los predictores y vemos que tenemos el VIF por encima de 5 en dos predictores.

swiss$Education_c <- scale(swiss$Education, center = TRUE, scale = FALSE)
swiss$Catholic_c <- scale(swiss$Catholic, center = TRUE, scale = FALSE)
model_int1_c <- lm(Fertility ~ Agriculture + Examination + Education_c + Catholic_c + 
                     Infant.Mortality + Education_c:Catholic_c, data = swiss)
vif(model_int1_c)
## there are higher-order terms (interactions) in this model
## consider setting type = 'predictor'; see ?vif
##            Agriculture            Examination            Education_c 
##               2.306249               3.778026               2.804722 
##             Catholic_c       Infant.Mortality Education_c:Catholic_c 
##               2.761743               1.152123               1.522801

Ya no tenemos problema de multicolinealidad.

Anova(model_int1_c)
## Anova Table (Type II tests)
## 
## Response: Fertility
##                         Sum Sq Df F value    Pr(>F)    
## Agriculture             250.40  1  5.4827  0.024274 *  
## Examination              98.63  1  2.1595  0.149516    
## Education_c            1162.56  1 25.4549 1.025e-05 ***
## Catholic_c              447.71  1  9.8028  0.003251 ** 
## Infant.Mortality        533.77  1 11.6872  0.001460 ** 
## Education_c:Catholic_c  278.19  1  6.0911  0.017960 *  
## Residuals              1826.85 40                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(model_int1_c)
## 
## Call:
## lm(formula = Fertility ~ Agriculture + Examination + Education_c + 
##     Catholic_c + Infant.Mortality + Education_c:Catholic_c, data = swiss)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -14.9575  -5.1321   0.9299   4.2203  13.1799 
## 
## Coefficients:
##                         Estimate Std. Error t value Pr(>|t|)    
## (Intercept)            58.140703   9.995032   5.817 8.55e-07 ***
## Agriculture            -0.156010   0.066628  -2.342  0.02427 *  
## Examination            -0.356748   0.242766  -1.470  0.14952    
## Education_c            -0.826805   0.173548  -4.764 2.50e-05 ***
## Catholic_c              0.050570   0.039705   1.274  0.21014    
## Infant.Mortality        1.255314   0.367195   3.419  0.00146 ** 
## Education_c:Catholic_c -0.012480   0.005057  -2.468  0.01796 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 6.758 on 40 degrees of freedom
## Multiple R-squared:  0.7455, Adjusted R-squared:  0.7073 
## F-statistic: 19.53 on 6 and 40 DF,  p-value: 1.725e-10
sigma(model_int1_c)
## [1] 6.758057
sigma(model_int1_c) / mean(swiss$Fertility)
## [1] 0.09634747
summary(model_int1_c)$adj.r.squared
## [1] 0.7073147

Al evaluar el nuevo modelo el error estándar residual y la tasa de error han disminuido un poco y el porcentaje de variabilidad de la respuesta que explica el modelo ha aumentado. el predictor Examination sigue teniendo un resultado no significativo, por lo que se sugiere probar eliminando este predictor nuevamente y comparar.

model_int1_c_sin_exam <- lm(Fertility ~ Agriculture + Education_c + Catholic_c + 
                              Infant.Mortality + Education_c:Catholic_c, data = swiss)
summary(model_int1_c_sin_exam)
## 
## Call:
## lm(formula = Fertility ~ Agriculture + Education_c + Catholic_c + 
##     Infant.Mortality + Education_c:Catholic_c, data = swiss)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -13.9060  -5.4997   0.9556   3.6698  13.8934 
## 
## Coefficients:
##                         Estimate Std. Error t value Pr(>|t|)    
## (Intercept)            51.531318   9.051228   5.693 1.18e-06 ***
## Agriculture            -0.134055   0.065843  -2.036  0.04825 *  
## Education_c            -0.978193   0.141625  -6.907 2.23e-08 ***
## Catholic_c              0.083468   0.033253   2.510  0.01611 *  
## Infant.Mortality        1.239697   0.372195   3.331  0.00184 ** 
## Education_c:Catholic_c -0.011255   0.005058  -2.225  0.03161 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 6.853 on 41 degrees of freedom
## Multiple R-squared:  0.7318, Adjusted R-squared:  0.699 
## F-statistic: 22.37 on 5 and 41 DF,  p-value: 9.443e-11
sigma(model_int1_c_sin_exam)
## [1] 6.852949
sigma(model_int1_c_sin_exam) / mean(swiss$Fertility)
## [1] 0.09770031
summary(model_int1_c_sin_exam)$adj.r.squared
## [1] 0.6990377
anova(model_int1_c, model_int1_c_sin_exam)
## Analysis of Variance Table
## 
## Model 1: Fertility ~ Agriculture + Examination + Education_c + Catholic_c + 
##     Infant.Mortality + Education_c:Catholic_c
## Model 2: Fertility ~ Agriculture + Education_c + Catholic_c + Infant.Mortality + 
##     Education_c:Catholic_c
##   Res.Df    RSS Df Sum of Sq      F Pr(>F)
## 1     40 1826.8                           
## 2     41 1925.5 -1   -98.626 2.1595 0.1495
AIC(model_int1_c, model_int1_c_sin_exam)
##                       df      AIC
## model_int1_c           8 321.4098
## model_int1_c_sin_exam  7 321.8810

Luego de comparar los modelos usando la función anova() vemos que no se rechaza H0, en eso mismo sentido cuando le aplicamos el criterio AIC vemos que la diferencia es menos de un punto lo que sugiere que el nuevo modelo model_int1_c_sin_exam es preferible por el principio de la navaja de Ockham. Al evaluar el ajuste del modelo vemos que ha permanecido relativamente igual, y la diferencia es muy mínima.

El modelo final es:

Fertility = 51.5313 − 0.1341·Agriculture − 0.9782·Education_c + 0.0835·Catholic_c + 1.2397·Infant.Mortality − 0.0113·(Education_c × Catholic_c)

Algunas consideraciones: Se recuerda que se sugiere por lo menos 10 casos adicionales por cada variable predictora. Nunca se eliminó ninguna observación con outliers ni terminos influyentes para ver si mejoraba algun modelo.