Estatística Experimental

Aula 14 | Análise de resíduo na ANAVA

Filosofia de publicação (Selo DC)

Livro de Apoio

Usaremos Batista (2025):

Objetivo da Aula

  • Compreender o conceito de resíduos em modelos de ANOVA
  • Interpretar gráficos de resíduos
  • Identificar desvios dos pressupostos do modelo
  • Aplicar procedimentos para avaliar os pressupostos

Lembrete: Pressupostos da ANOVA

  • Independência dos erros
  • Normalidade dos erros
  • Homogeneidade de variâncias (homocedasticidade)
  • Aditividade dos efeitos

A verificação desses pressupostos é feita por meio da análise dos resíduos.

O que são Resíduos?

  • Os resíduos são as diferenças entre os valores observados e os valores ajustados pelo modelo:

\[ e_{ij} = y_{ij} - \hat{y}_{ij} \] - Eles representam a parte não explicada pelo modelo.

Exemplo

  • Um braço robótico é programado para mover-se até uma posição alvo
  • Utiliza-se diferentes algoritmos de controle para comandar o movimento
  • O desempenho é medido em termos do erro médio absoluto de posicionamento (mm) após 10 execuções por repetição

Exemplo

  • Fator (Tratamento): Tipo de algoritmo de controle (4 níveis)
    • PID
    • PID com autoajuste
    • Controle Fuzzy
    • Controle LQR
  • Unidades experimentais: Execuções independentes do movimento com o braço robótico, em condições idênticas.
  • Resposta: Erro médio absoluto de posicionamento (mm)

Exemplo

Erro Médio Absoluto por Algoritmo de Controle
Repeticao PID AutoPID Fuzzy LQR
1.00 1.14 1.17 0.98 1.11
2.00 1.18 1.05 0.85 0.96
3.00 1.36 0.87 0.86 0.66
4.00 1.21 0.93 0.82 0.98
5.00 1.21 0.96 0.72 0.84
  • ANAVA
anava <- aov(EMA ~ Tratamento, data = dados); summary(anava)
            Df Sum Sq Mean Sq F value   Pr(>F)    
Tratamento   3 0.3959  0.1320   9.103 0.000949 ***
Residuals   16 0.2319  0.0145                     
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Exemplo

  • \(y\) (EMA observado)
yobs <- ema
head(yobs) # 6 primeiras obs
[1] 1.143952 1.176982 1.355871 1.207051 1.212929 1.171506
  • \(\hat{y}\) (EMA predito)
yhat <- fitted(anava)
head(yhat) # 6 primeiras obs
        1         2         3         4         5         6 
1.2193570 1.2193570 1.2193570 1.2193570 1.2193570 0.9955681 

Exemplo

  • Resíduo
e <- residuals(anava)
head(e) # 6 primeiras obs
           1            2            3            4            5            6 
-0.075404591 -0.042374775  0.136513805 -0.012306187 -0.006428253  0.175938396 
  • \(e_{ij} = y_{ij} - \hat{y}_{ij}\)
head(yobs - yhat) # 6 primeiras obs
           1            2            3            4            5            6 
-0.075404591 -0.042374775  0.136513805 -0.012306187 -0.006428253  0.175938396 

Por que Analisar os Resíduos?

  • Identificar falhas no modelo
  • Verificar validade dos testes F e t
  • Garantir confiabilidade das conclusões

Tipos de Gráficos Usados

  • Resíduos vs Valores Ajustados
  • Histograma dos resíduos
  • QQ-plot
  • Resíduos vs Fatores
  • Gráfico de Cook (influência dos pontos)

Resíduos vs Valores Ajustados

  • Espera-se dispersão aleatória em torno de zero
  • Padrões indicam:
    • Curvatura: possível não linearidade
    • Funil: heterocedasticidade

Curvatura: possível não linearidade

Gráfico com linearidade

Heterocedasticidade (Funil)

Histograma dos resíduos

  • Formato aproximadamente simétrico (como um sino ou gaussiana)
  • Moda única no centro (em torno de zero)
  • Caudas decrescentes suavemente nos dois lados
  • Sem assimetria (skewness) ou achatamento excessivo (kurtosis)
  • Deve lembrar uma distribuição normal padrão, embora pequenas flutuações sejam normais em amostras pequenas

Problemas de normalidade

Normalidade

QQ-plot (Normalidade)

  • Se os resíduos seguem uma linha reta: normalidade razoável
  • Desvios sistemáticos sugerem não normalidade

Não normalidade

Condição de normalidade

Resíduos vs Fatores

  • Verificar se os resíduos estão uniformemente distribuídos entre os níveis do fator
  • Detectar violações de pressupostos da ANOVA relacionadas à homogeneidade de variância e à independência dos erros
  • Avaliar se o modelo está bem ajustado para cada grupo/fator

Violação de independência de resíduos

Heterocedasticidade

Sem violação de independência

Gráfico de Cook

  • Eixo X: Índice das observações (número da observação)
  • Eixo Y: Valores da distância de Cook para cada observação
  • Representação: Linhas verticais indicam o valor da distância de Cook por ponto

Gráfico de Cook

  • Linha de referência:
    • Geralmente traçada em \(\frac{4}{n - p}\), onde:
      • \(n\) = número total de observações
      • \(p\) = número de parâmetros do modelo (incluindo intercepto)
    • Pontos acima dessa linha são considerados influentes

Gráfico de Cook

  • Objetivo:
    • Identificar observações que exercem influência desproporcional no ajuste do modelo
    • Detectar possíveis outliers ou pontos atípicos que podem afetar a estimação dos coeficientes

Gráfico de Cook

  • Interpretação:
    • Valores pequenos indicam observações com pouca influência
    • Valores grandes sugerem que a remoção do ponto causaria mudança significativa nos coeficientes do modelo
  • Utilidade prática:
    • Permite decidir se é necessário investigar, corrigir ou remover observações influentes para melhorar o ajuste e validade do modelo

Pontos influentes

Sem pontos influentes

Testes na análise de resíduos

Normalidade dos Resíduos

  • Testes comuns:
    • shapiro.test(residuos)
    • ad.test(residuos) (pacote nortest)
    • lillie.test(residuos) (pacote nortest)
    • jarque.bera.test(residuos) (pacote tseries)
  • Hipótese:
    • H₀: Os resíduos seguem distribuição normal
    • p > 0,05 → normalidade não rejeitada

Homocedasticidade (Igualdade de variâncias)

  • Testes comuns:
    • bartlett.test(resposta ~ tratamento)
    • leveneTest(resposta ~ tratamento) (pacote car)
    • fligner.test(resposta ~ tratamento)
  • Hipótese:
    • H₀: Variâncias são iguais entre os grupos
    • p > 0,05 → homogeneidade mantida

Independência dos Resíduos

  • Teste mais usado:
    • durbinWatsonTest(modelo) (pacote car ou lmtest)
  • Hipótese:
    • H₀: Os resíduos são independentes
    • p > 0,05 → independência mantida

Linearidade do Modelo

  • Não há teste formal.
  • Verificação visual:
    • Gráfico de resíduos vs valores ajustados
    • Gráfico de resíduos vs preditores
  • Indícios de violação:
    • Padrões em forma de “U”, “∩”, ou outros

Retornando ao Exemplo do braço robótico

# Se necessário, instale
# install.packages(c("car", "nortest", "lmtest"))

library(car)
library(nortest)
library(lmtest)

# Níveis do fator
tratamento <- rep(c("PID", "AutoPID", "Fuzzy", "LQR"), each = 5)

# Resposta simulada (erro médio absoluto)
ema <- c(
  rnorm(5, mean = 1.2, sd = 0.1),  # PID
  rnorm(5, mean = 1.0, sd = 0.1),  # AutoPID
  rnorm(5, mean = 0.8, sd = 0.15), # Fuzzy
  rnorm(5, mean = 0.9, sd = 0.12)  # LQR
)

# Monta data.frame
dados <- data.frame(Tratamento = tratamento, EMA = ema)

# Ajusta o modelo DIC
modelo <- aov(EMA ~ Tratamento, data = dados)

# Resíduos do modelo
residuos <- residuals(modelo)

# Teste de Shapiro-Wilk (Normalidade)
shapiro.test(residuos)

# Outros testes (opcional)
ad.test(residuos)        # Anderson-Darling
lillie.test(residuos)    # Lilliefors

# Teste de Bartlett (Homogeneidade)
bartlett.test(EMA ~ Tratamento, data = dados)

# Teste de Levene (mais robusto)
leveneTest(EMA ~ Tratamento, data = dados)

# Teste de Durbin-Watson Independência
durbinWatsonTest(modelo)

Retornando ao Exemplo do braço robótico


    Shapiro-Wilk normality test

data:  residuos
W = 0.92686, p-value = 0.1344
Levene's Test for Homogeneity of Variance (center = median)
      Df F value Pr(>F)
group  3  0.0379 0.9897
      16               
 lag Autocorrelation D-W Statistic p-value
   1      -0.2229153       2.31998   0.988
 Alternative hypothesis: rho != 0

Retornando ao Exemplo do braço robótico

Questões?

Dúvidas e Sugestões

Contato

Próximas aulas

bendeivide.github.io/courses/estexp

Referências

BATISTA, B. D. O. PLanejamento e Análise de Experimentos. Ouro Branco, MG, Brasil: [s.n.], 2025.