Esse documento exemplifica o uso dos procedimentos de seleção automática de modelos e medidas de ajuste. Os dados referem-se à área de 100 folhas de uva de três cultivares em função de medidas de comprimento feitas nas folhas. A área das folhas foi determinada por análise de imagens usando o pacote EBImage. Estes dados foram disponibilizados pelo Pesquisador João Peterson Gardim.

Carregando Pacotes

#-----------------------------------------------------------------------
# Load packages.

library(lattice)
library(latticeExtra)
library(asbio)
library(car)

Carregando os Dados

Um total de 100 folhas de cada cultivar de uva (cult) foi coletado no campo. Nas folhas foram feitas 6 medidas conforme indicado na figura abaixo.

#-----------------------------------------------------------------------
# Dados hospedados na web.

url <- "http://www.leg.ufpr.br/~walmes/data/areafoliarUva.txt"
uva <- read.table(url, header = TRUE, sep = "\t",
                  stringsAsFactors = FALSE)
uva$cult <- factor(uva$cult)
str(uva)
## 'data.frame':    300 obs. of  9 variables:
##  $ id  : chr  "malbec_1.jpg" "malbec_10.jpg" "malbec_11.jpg" "malbec_12.jpg" ...
##  $ cult: Factor w/ 3 levels "malbec","merlot",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ area: num  100.8 85.8 119.5 137 84.7 ...
##  $ mc  : num  12 11.5 12.5 15.5 10 12 15.5 17.5 13.5 13.3 ...
##  $ nc  : num  7.5 9 8.5 10 7 8.5 11 13 10 9.5 ...
##  $ ml  : num  12.8 10.5 13 14.4 11 12 14 14 12 15 ...
##  $ nld : num  6.4 8.5 8.6 9 6.5 9 10 9.5 9 9.2 ...
##  $ nle : num  7.5 7 9 10 7 8.2 11 11 8.5 8.3 ...
##  $ cll : num  9.5 9.5 10.2 12 7.5 8.9 13.5 10.8 9.7 10.3 ...
# Comprimento da nervura lateral: média dos lados direito e esquerdo.
uva$nl <- with(uva, apply(cbind(nld, nle), 1, mean))
uva <- subset(uva, select = -c(nld, nle))

#-----------------------------------------------------------------------
# Ver.

splom(uva[-(1:2)], groups = uva$cult, auto.key = TRUE, cex = 0.2)

Ajuste para Malbec

O ajuste do modelo será separado para uma das cultivares. Nesse documento analisaremos apenas a cultivar Malbec.

Modelo com Efeitos Principais

O modelo com efeito principais vai considerar apenas as variáveis existentes na tabela – mc, ml, nc, nl e cll – em um modelo de efeitos aditivos.

#-----------------------------------------------------------------------

mal <- subset(uva, cult == "malbec")

# Apenas efeitos aditivos.
m0 <- lm(area ~ mc + ml + nc + nl + cll, data = mal)

# Diagnóstico.
par(mfrow = c(2, 2))
plot(m0)

layout(1)

MASS::boxcox(m0)
abline(v = 0.5, col = 2)

m1 <- update(m0, sqrt(.) ~ .)

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

layout(1)

summary(m1)
## 
## Call:
## lm(formula = sqrt(area) ~ mc + ml + nc + nl + cll, data = mal)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.84138 -0.23439 -0.02851  0.14774  1.87394 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  0.20824    0.16965   1.227    0.223    
## mc           0.27039    0.04612   5.862 6.73e-08 ***
## ml           0.35067    0.03092  11.340  < 2e-16 ***
## nc           0.02091    0.04581   0.456    0.649    
## nl           0.32234    0.07408   4.351 3.43e-05 ***
## cll         -0.03684    0.03926  -0.938    0.350    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.3698 on 94 degrees of freedom
## Multiple R-squared:  0.9784, Adjusted R-squared:  0.9773 
## F-statistic: 853.3 on 5 and 94 DF,  p-value: < 2.2e-16
m2 <- update(m1, . ~ mc + ml + nl)
summary(m2)
## 
## Call:
## lm(formula = sqrt(area) ~ mc + ml + nl, data = mal)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.74734 -0.21905 -0.03066  0.15225  1.91863 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  0.20246    0.16838   1.202    0.232    
## mc           0.27251    0.03590   7.590 2.07e-11 ***
## ml           0.34342    0.02982  11.518  < 2e-16 ***
## nl           0.30772    0.06978   4.410 2.70e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.3678 on 96 degrees of freedom
## Multiple R-squared:  0.9782, Adjusted R-squared:  0.9775 
## F-statistic:  1438 on 3 and 96 DF,  p-value: < 2.2e-16

O gráfico dos resíduos para o modelo m0 mostrou afastamento de pressupostos que motivou a busca por uma transformação. A transformação Box-Cox indicou a transformação raíz quadrada. Ao tirar a raíz da variável resposta é tem dimensionalidade de área (\(m^2\)) obtemos uma variáveis com dimensionalidade de comprimento (\(m\)) assim como são as variáveis preditoras.

Modelo com Termos de Segundo Grau

No modelo com termos de segundo grau serão incluídos os quadrados das variáveis originais e os duplos produtos. Com isso serão exploradas interações entre as variáveis e efeito quadráticos.

#-----------------------------------------------------------------------

# Modelo quadrático completo.
m3 <- update(m1, . ~ (mc + nc + ml + nl + cll)^2 + I(mc^2) +
                     I(nc^2) + I(ml^2) + I(nl^2) + I(cll^2))

# Diagnóstico.
par(mfrow = c(2, 2))
plot(m3)

layout(1)

summary(m3)
## 
## Call:
## lm(formula = sqrt(area) ~ mc + nc + ml + nl + cll + I(mc^2) + 
##     I(nc^2) + I(ml^2) + I(nl^2) + I(cll^2) + mc:nc + mc:ml + 
##     mc:nl + mc:cll + nc:ml + nc:nl + nc:cll + ml:nl + ml:cll + 
##     nl:cll, data = mal)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.54580 -0.17053  0.01312  0.13645  0.56176 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  0.455695   0.310257   1.469  0.14587    
## mc           0.182184   0.264190   0.690  0.49247    
## nc           0.226102   0.348965   0.648  0.51891    
## ml           0.366351   0.148907   2.460  0.01607 *  
## nl           1.226574   0.378141   3.244  0.00173 ** 
## cll         -0.902841   0.201932  -4.471 2.57e-05 ***
## I(mc^2)      0.072435   0.039310   1.843  0.06913 .  
## I(nc^2)      0.001509   0.023232   0.065  0.94838    
## I(ml^2)      0.058711   0.018965   3.096  0.00272 ** 
## I(nl^2)     -0.009540   0.080695  -0.118  0.90619    
## I(cll^2)     0.032119   0.025333   1.268  0.20856    
## mc:nc       -0.041382   0.040880  -1.012  0.31450    
## mc:ml       -0.091415   0.037340  -2.448  0.01657 *  
## mc:nl        0.003009   0.109233   0.028  0.97809    
## mc:cll      -0.030896   0.053601  -0.576  0.56598    
## nc:ml        0.059610   0.048743   1.223  0.22499    
## nc:nl       -0.083565   0.119891  -0.697  0.48784    
## nc:cll       0.018013   0.059472   0.303  0.76277    
## ml:nl       -0.068842   0.064273  -1.071  0.28739    
## ml:cll      -0.028612   0.028890  -0.990  0.32502    
## nl:cll       0.094022   0.062817   1.497  0.13844    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2402 on 79 degrees of freedom
## Multiple R-squared:  0.9924, Adjusted R-squared:  0.9904 
## F-statistic: 513.1 on 20 and 79 DF,  p-value: < 2.2e-16

O modelo m3 contém 21 parâmetros estimados. No entanto, dada a natureza das variáveis que são correlacionadas, muitos dos efeitos são não significativos. Vamos selecionar um submodelo partindo do modelo m3 utilizando o critério de minimização do BIC.

# AIC, -ll + 2 * npar
# m4 <- step(m2, k = 2)

# BIC: -ll + log(nobs) * npar
m4 <- step(m3, k = log(nrow(mal)))
## Start:  AIC=-212.14
## sqrt(area) ~ mc + nc + ml + nl + cll + I(mc^2) + I(nc^2) + I(ml^2) + 
##     I(nl^2) + I(cll^2) + mc:nc + mc:ml + mc:nl + mc:cll + nc:ml + 
##     nc:nl + nc:cll + ml:nl + ml:cll + nl:cll
## 
##            Df Sum of Sq    RSS     AIC
## - mc:nl     1   0.00004 4.5570 -216.75
## - I(nc^2)   1   0.00024 4.5572 -216.74
## - I(nl^2)   1   0.00081 4.5578 -216.73
## - nc:cll    1   0.00529 4.5623 -216.63
## - mc:cll    1   0.01917 4.5762 -216.33
## - nc:nl     1   0.02802 4.5850 -216.13
## - ml:cll    1   0.05658 4.6136 -215.51
## - mc:nc     1   0.05911 4.6161 -215.46
## - ml:nl     1   0.06618 4.6232 -215.31
## - nc:ml     1   0.08627 4.6433 -214.87
## - I(cll^2)  1   0.09273 4.6497 -214.73
## - nl:cll    1   0.12923 4.6862 -213.95
## - I(mc^2)   1   0.19587 4.7529 -212.54
## <none>                  4.5570 -212.14
## - mc:ml     1   0.34573 4.9027 -209.43
## - I(ml^2)   1   0.55284 5.1098 -205.30
## 
## Step:  AIC=-216.75
## sqrt(area) ~ mc + nc + ml + nl + cll + I(mc^2) + I(nc^2) + I(ml^2) + 
##     I(nl^2) + I(cll^2) + mc:nc + mc:ml + mc:cll + nc:ml + nc:nl + 
##     nc:cll + ml:nl + ml:cll + nl:cll
## 
##            Df Sum of Sq    RSS     AIC
## - I(nc^2)   1   0.00022 4.5573 -221.35
## - I(nl^2)   1   0.00076 4.5578 -221.34
## - nc:cll    1   0.00528 4.5623 -221.24
## - mc:cll    1   0.01951 4.5766 -220.92
## - ml:cll    1   0.05870 4.6157 -220.07
## - nc:nl     1   0.06884 4.6259 -219.85
## - ml:nl     1   0.07461 4.6317 -219.73
## - I(cll^2)  1   0.09269 4.6497 -219.34
## - nc:ml     1   0.09674 4.6538 -219.25
## - mc:nc     1   0.10526 4.6623 -219.07
## - nl:cll    1   0.12941 4.6865 -218.55
## <none>                  4.5570 -216.75
## - mc:ml     1   0.38703 4.9441 -213.20
## - I(ml^2)   1   0.58958 5.1466 -209.19
## - I(mc^2)   1   0.60915 5.1662 -208.81
## 
## Step:  AIC=-221.35
## sqrt(area) ~ mc + nc + ml + nl + cll + I(mc^2) + I(ml^2) + I(nl^2) + 
##     I(cll^2) + mc:nc + mc:ml + mc:cll + nc:ml + nc:nl + nc:cll + 
##     ml:nl + ml:cll + nl:cll
## 
##            Df Sum of Sq    RSS     AIC
## - I(nl^2)   1   0.00087 4.5581 -225.93
## - nc:cll    1   0.00613 4.5634 -225.82
## - mc:cll    1   0.02110 4.5784 -225.49
## - ml:cll    1   0.05911 4.6164 -224.66
## - ml:nl     1   0.07439 4.6317 -224.33
## - nc:nl     1   0.07442 4.6317 -224.33
## - I(cll^2)  1   0.09443 4.6517 -223.90
## - mc:nc     1   0.11328 4.6706 -223.50
## - nl:cll    1   0.12983 4.6871 -223.14
## - nc:ml     1   0.13125 4.6885 -223.11
## <none>                  4.5573 -221.35
## - mc:ml     1   0.51202 5.0693 -215.30
## - I(ml^2)   1   0.58939 5.1467 -213.79
## - I(mc^2)   1   0.86389 5.4212 -208.59
## 
## Step:  AIC=-225.93
## sqrt(area) ~ mc + nc + ml + nl + cll + I(mc^2) + I(ml^2) + I(cll^2) + 
##     mc:nc + mc:ml + mc:cll + nc:ml + nc:nl + nc:cll + ml:nl + 
##     ml:cll + nl:cll
## 
##            Df Sum of Sq    RSS     AIC
## - nc:cll    1   0.00738 4.5655 -230.38
## - mc:cll    1   0.02100 4.5791 -230.08
## - ml:cll    1   0.05974 4.6179 -229.24
## - I(cll^2)  1   0.09907 4.6572 -228.39
## - mc:nc     1   0.12869 4.6868 -227.75
## - ml:nl     1   0.13044 4.6886 -227.72
## - nc:ml     1   0.13871 4.6969 -227.54
## - nc:nl     1   0.16108 4.7192 -227.06
## - nl:cll    1   0.17479 4.7329 -226.77
## <none>                  4.5581 -225.93
## - mc:ml     1   0.51177 5.0699 -219.90
## - I(ml^2)   1   0.61947 5.1776 -217.79
## - I(mc^2)   1   0.91497 5.4731 -212.24
## 
## Step:  AIC=-230.38
## sqrt(area) ~ mc + nc + ml + nl + cll + I(mc^2) + I(ml^2) + I(cll^2) + 
##     mc:nc + mc:ml + mc:cll + nc:ml + nc:nl + ml:nl + ml:cll + 
##     nl:cll
## 
##            Df Sum of Sq    RSS     AIC
## - mc:cll    1   0.02169 4.5872 -234.51
## - ml:cll    1   0.07384 4.6394 -233.38
## - I(cll^2)  1   0.09969 4.6652 -232.82
## - mc:nc     1   0.12428 4.6898 -232.29
## - ml:nl     1   0.13367 4.6992 -232.09
## - nc:nl     1   0.15570 4.7212 -231.63
## - nl:cll    1   0.16929 4.7348 -231.34
## <none>                  4.5655 -230.38
## - nc:ml     1   0.39676 4.9623 -226.65
## - I(ml^2)   1   0.65650 5.2220 -221.55
## - mc:ml     1   1.14985 5.7154 -212.52
## - I(mc^2)   1   1.49542 6.0610 -206.65
## 
## Step:  AIC=-234.51
## sqrt(area) ~ mc + nc + ml + nl + cll + I(mc^2) + I(ml^2) + I(cll^2) + 
##     mc:nc + mc:ml + nc:ml + nc:nl + ml:nl + ml:cll + nl:cll
## 
##            Df Sum of Sq    RSS     AIC
## - ml:cll    1   0.07030 4.6575 -237.59
## - I(cll^2)  1   0.07811 4.6653 -237.42
## - ml:nl     1   0.11425 4.7015 -236.65
## - mc:nc     1   0.14213 4.7294 -236.06
## - nl:cll    1   0.14783 4.7351 -235.94
## - nc:nl     1   0.14884 4.7361 -235.92
## <none>                  4.5872 -234.51
## - nc:ml     1   0.40464 4.9919 -230.66
## - I(ml^2)   1   0.64508 5.2323 -225.95
## - I(mc^2)   1   1.50089 6.0881 -210.81
## - mc:ml     1   1.51718 6.1044 -210.54
## 
## Step:  AIC=-237.59
## sqrt(area) ~ mc + nc + ml + nl + cll + I(mc^2) + I(ml^2) + I(cll^2) + 
##     mc:nc + mc:ml + nc:ml + nc:nl + ml:nl + nl:cll
## 
##            Df Sum of Sq    RSS     AIC
## - I(cll^2)  1   0.03019 4.6877 -241.55
## - ml:nl     1   0.09566 4.7532 -240.16
## - nl:cll    1   0.12936 4.7869 -239.46
## - nc:nl     1   0.13195 4.7895 -239.40
## - mc:nc     1   0.14474 4.8023 -239.14
## <none>                  4.6575 -237.59
## - nc:ml     1   0.34893 5.0065 -234.97
## - I(ml^2)   1   0.63604 5.2936 -229.40
## - I(mc^2)   1   1.54683 6.2044 -213.52
## - mc:ml     1   1.64835 6.3059 -211.90
## 
## Step:  AIC=-241.55
## sqrt(area) ~ mc + nc + ml + nl + cll + I(mc^2) + I(ml^2) + mc:nc + 
##     mc:ml + nc:ml + nc:nl + ml:nl + nl:cll
## 
##           Df Sum of Sq    RSS     AIC
## - mc:nc    1   0.12074 4.8085 -243.61
## - ml:nl    1   0.16116 4.8489 -242.78
## <none>                 4.6877 -241.55
## - nc:nl    1   0.28518 4.9729 -240.25
## - nc:ml    1   0.50310 5.1908 -235.96
## - I(ml^2)  1   0.69800 5.3857 -232.28
## - I(mc^2)  1   1.52137 6.2091 -218.05
## - mc:ml    1   1.66571 6.3534 -215.75
## - nl:cll   1   1.71357 6.4013 -215.00
## 
## Step:  AIC=-243.61
## sqrt(area) ~ mc + nc + ml + nl + cll + I(mc^2) + I(ml^2) + mc:ml + 
##     nc:ml + nc:nl + ml:nl + nl:cll
## 
##           Df Sum of Sq    RSS     AIC
## - ml:nl    1   0.08114 4.8896 -246.54
## <none>                 4.8085 -243.61
## - nc:ml    1   0.46374 5.2722 -239.01
## - I(ml^2)  1   0.63334 5.4418 -235.84
## - nc:nl    1   0.90355 5.7120 -231.00
## - nl:cll   1   1.88232 6.6908 -215.18
## - mc:ml    1   1.95782 6.7663 -214.06
## - I(mc^2)  1   2.32931 7.1378 -208.72
## 
## Step:  AIC=-246.54
## sqrt(area) ~ mc + nc + ml + nl + cll + I(mc^2) + I(ml^2) + mc:ml + 
##     nc:ml + nc:nl + nl:cll
## 
##           Df Sum of Sq    RSS     AIC
## <none>                 4.8896 -246.54
## - nc:ml    1    0.6152 5.5048 -239.30
## - I(ml^2)  1    1.0318 5.9214 -232.00
## - nc:nl    1    1.5783 6.4679 -223.18
## - nl:cll   1    1.8375 6.7271 -219.25
## - mc:ml    1    3.8024 8.6920 -193.62
## - I(mc^2)  1    4.3803 9.2699 -187.18
summary(m4)
## 
## Call:
## lm(formula = sqrt(area) ~ mc + nc + ml + nl + cll + I(mc^2) + 
##     I(ml^2) + mc:ml + nc:ml + nc:nl + nl:cll, data = mal)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.49013 -0.15586  0.03875  0.15248  0.58770 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  0.695725   0.272257   2.555 0.012324 *  
## mc           0.325439   0.230785   1.410 0.162023    
## nc           0.235075   0.308335   0.762 0.447860    
## ml           0.477705   0.111537   4.283 4.69e-05 ***
## nl           0.729719   0.193861   3.764 0.000301 ***
## cll         -0.861875   0.157018  -5.489 3.85e-07 ***
## I(mc^2)      0.058077   0.006541   8.879 7.29e-14 ***
## I(ml^2)      0.032830   0.007618   4.309 4.25e-05 ***
## mc:ml       -0.128900   0.015582  -8.272 1.28e-12 ***
## nc:ml        0.077003   0.023141   3.328 0.001280 ** 
## nc:nl       -0.146391   0.027467  -5.330 7.50e-07 ***
## nl:cll       0.100142   0.017414   5.751 1.26e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2357 on 88 degrees of freedom
## Multiple R-squared:  0.9918, Adjusted R-squared:  0.9908 
## F-statistic: 967.9 on 11 and 88 DF,  p-value: < 2.2e-16
# O modelo m2 é aninhado no m4?
all(names(coef(m2)) %in% names(coef(m4)))
## [1] TRUE
# Teste para modelos encaixados.
anova(m4, m2)
## Analysis of Variance Table
## 
## Model 1: sqrt(area) ~ mc + nc + ml + nl + cll + I(mc^2) + I(ml^2) + mc:ml + 
##     nc:ml + nc:nl + nl:cll
## Model 2: sqrt(area) ~ mc + ml + nl
##   Res.Df     RSS Df Sum of Sq      F    Pr(>F)    
## 1     88  4.8896                                  
## 2     96 12.9881 -8   -8.0985 18.219 8.791e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#-----------------------------------------------------------------------
# Conjunto de medias de ajuste.

measures <- function(x) {
    L <- list(npar = length(coef(x)),
              dfres = df.residual(x),
              nobs = length(fitted(x)),
              RMSE = summary(x)$sigma,
              R2 = summary(x)$r.squared,
              R2adj = summary(x)$adj.r.squared,
              PRESS = press(x),
              logLik = logLik(x),
              AIC = AIC(x),
              BIC = BIC(x))
    unlist(L)
}

modl <- list(m2 = m2, m3 = m3, m4 = m4)
round(t(sapply(modl, measures)), 3)
##    npar dfres nobs  RMSE    R2 R2adj  PRESS  logLik    AIC     BIC
## m2    4    96  100 0.368 0.978 0.978 16.323 -39.837 89.674 102.700
## m3   21    79  100 0.240 0.992 0.990  8.209  12.531 18.937  76.251
## m4   12    88  100 0.236 0.992 0.991  6.428   9.009  7.982  41.849

O modelo selecionado pelo procedimento stepwise está no objeto m4. Pelas medidas de informação (BIC e AIC) e pelo PRESS, o melhor modelo é o m4. O modelo m2 é um modelo aninhado ao m4. Por outro lado, para aplicação a qual se destina o modelo, o m2 é mais indicado uma vez que o pesquisador preconiza uma função de fácil uso no campo para determinação da área das folhas.

Diagnóstico do Modelo

Considerando o modelo de efeito aditivos, o mais parcimonioso, será feito diagnóstico do modelo para indentificação de possíveis observações influentes.

#-----------------------------------------------------------------------
# Falta de ajuste com relação a alguma variável.

# Gráfico de resíduos parciais.
residualPlots(m2)

##            Test stat Pr(>|t|)
## mc             1.581    0.117
## ml            -0.735    0.464
## nl            -0.032    0.974
## Tukey test    -0.366    0.715
#-----------------------------------------------------------------------
# Indentificando observações influentes.

im <- influence.measures(m2)
summary(im)
## Potentially influential observations of
##   lm(formula = sqrt(area) ~ mc + ml + nl, data = mal) :
## 
##    dfb.1_ dfb.mc  dfb.ml  dfb.nl dffit   cov.r   cook.d  hat    
## 36  0.05   0.23    0.13   -0.28   0.29    1.13_*  0.02    0.10  
## 58  0.61   3.03_* -2.57_* -0.92   4.01_*  0.22_*  2.58_*  0.23_*
## 92 -0.19  -0.07    0.09    0.05  -0.20    1.16_*  0.01    0.11  
## 94 -0.10  -0.03    0.06    0.01  -0.11    1.18_*  0.00    0.12  
## 96  0.13   0.00   -0.06    0.00   0.13    1.21_*  0.00    0.14_*
## 98 -0.22  -0.45    0.48    0.14   0.70_*  0.81_*  0.11    0.06
# Reajustando o modelo sem as observações influentes pelo DFits.
i <- im$is.inf[, "dffit"]
m2 <- update(m2, data = mal[!i, ])
m3 <- update(m3, data = mal[!i, ])
m4 <- update(m4, data = mal[!i, ])

# Medidas de ajuste.
modl <- list(m2 = m2, m3 = m3, m4 = m4)
round(t(sapply(modl, measures)), 3)
##    npar dfres nobs  RMSE    R2 R2adj PRESS  logLik    AIC    BIC
## m2    4    94   98 0.285 0.987 0.986 8.416 -13.964 37.927 50.852
## m3   21    77   98 0.243 0.992 0.990 8.590  11.396 21.209 78.078
## m4   12    86   98 0.237 0.992 0.991 6.441   8.370  9.260 42.864

Com a eliminação de observações influentes, a distância em qualidade de ajuste dos modelos m2 e m4 ficaram menores em todos os cirtérios. No entanto, a ordenação dos modelos permaneu a mesma.

Informações da Sessão

## Updated in 2016-10-10.
## 
## R version 3.3.1 (2016-06-21)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 16.04.1 LTS
## 
## locale:
##  [1] LC_CTYPE=pt_BR.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=pt_BR.UTF-8        LC_COLLATE=en_US.UTF-8    
##  [5] LC_MONETARY=pt_BR.UTF-8    LC_MESSAGES=en_US.UTF-8   
##  [7] LC_PAPER=pt_BR.UTF-8       LC_NAME=C                 
##  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
## [11] LC_MEASUREMENT=pt_BR.UTF-8 LC_IDENTIFICATION=C       
## 
## attached base packages:
## [1] tcltk     stats     graphics  grDevices utils     datasets 
## [7] base     
## 
## other attached packages:
## [1] car_2.1-2           asbio_1.3-4         latticeExtra_0.6-28
## [4] RColorBrewer_1.1-2  lattice_0.20-33     rmarkdown_1.0      
## [7] knitr_1.14         
## 
## loaded via a namespace (and not attached):
##  [1] pixmap_0.4-11        Rcpp_0.12.7          magrittr_1.5        
##  [4] splines_3.3.1        MASS_7.3-45          scatterplot3d_0.3-37
##  [7] minqa_1.2.4          stringr_1.0.0        tools_3.3.1         
## [10] parallel_3.3.1       nnet_7.3-12          pbkrtest_0.4-6      
## [13] grid_3.3.1           nlme_3.1-128         mgcv_1.8-13         
## [16] quantreg_5.26        multcompView_0.1-7   plotrix_3.6-2       
## [19] MatrixModels_0.4-1   htmltools_0.3.5      lme4_1.1-12         
## [22] yaml_2.1.13          digest_0.6.10        Matrix_1.2-6        
## [25] nloptr_1.0.4         formatR_1.4          deSolve_1.13        
## [28] evaluate_0.9         stringi_1.1.1        methods_3.3.1       
## [31] SparseM_1.7          mvtnorm_1.0-5