Falha(s) nas pressuposições da
ANOVA
Prof.a Dr.a Simone Daniela Sartorio de Medeiros
Na prática, é comum que uma ou mais hipóteses não se verifique. A mais comum é não existir homocedasticidade.
Das exigências vamos nos preocupar, especialmente com a homogeneidade de variâncias, que consideramos a exigência
Quando a pressuposição de homogeneidade não for atendida os dados não podem ser analisados como estão. Para tentar resolver o problema, deve-se tentar
alguma das seguintes alternativas, nessa ordem:
1) Verificar se os dados apresentam algum outlier;
2) Transformar os dados;
3) Verificar se no modelo não falta algum termo.
4) Assumir outra distribuição para os erros. Por exemplo: Exponencial,
Poisson, Binomial, Gama, Beta, etc.
5) Realizar uma análise não-paramétrica.
DICA: Retirando-o o(s) outlier(s) muitas vezes resolve-se o problema.
Pode solucionar ou não o problema de heterocedasticidade e/ou normalidade dos erros.
Se, dados de proporção (ou %), tende-se, provavelmente uma distribuição de Binomial. Se estas estiverem entre [0,30%] e [70, 100%] usa-se a transformação
em que p são as porcentagens.
Se, dados de contagem, tende-se, provavelmente uma distribuição de
Poisson. Usa-se a transformação dos dados, do tipo:
em que k ≥ 0, geralmente 0 (zero) ou 0,5. Este valor quando os dados de observação apresentarem valores baixos, inclusive zeros.
X
arcsen
Y
k X Y Algumas sugestões de transformações
Transformação recíproca: é uma função de transformação adequada quando X refere-se à taxa de sobrevivência. Por conseguinte,
refere-se à taxa de mortalidade.
Se médias de tratamentos são proporcionais às respectivas variâncias, usa-se a transformação: para k ≥ 0. X Y 1
)
log(
X
k
Y
Algumas sugestões de transformações
Exemplo 1
Um pesquisador pretende realizar um experimento visando ao enraizamento de estacas de pessegueiros. São 4 variedades ou cultivares onde cada parcela
recebeu 20 estacas de uma determinada variedade, através de um sorteio. Passando o tempo necessário, o pesquisador arrancou as estacas e anotou o
número de enraizadas. O resultado foi:
Fixando =5%, existe diferença entre os cultivares em relação ao enraizamento de estacas de pessegueiros ?
Justifique sua resposta apresentando todos os cálculos.
Repetições Tratamento 1 2 3 4 5 Totais A 2 2 1 1 0 6 1,2 0,7 B 1 0 0 1 1 3 0,6 0,3 C 12 10 14 17 11 64 12,8 7,7 D 7 9 15 8 10 49 9,8 9,7 122 i
m
ˆ
s
i2Repetições Trat 1 2 3 4 5 A 2 2 1 1 0 B 1 0 0 1 1 C 12 10 14 17 11 D 7 9 15 8 10 Os dados: No R: n.estacas <- c( 2, 2, 1, 1, 0, 1, 0, 0, 1, 1, 12,10,14,17,11, 7, 9,15, 8,10)
TRAT<- rep(c("A","B","C","D"), each=5) dados<-data.frame(TRAT,n.estacas)
# ou
dados<- read.csv2(‘DIC_estacas.csv’, head=T)
TRAT REP n.estacas A 1 2 A 2 2 A 3 1 A 4 1 A 5 0 B 1 1 B 2 0 B 3 0 B 4 1 B 5 1 C 1 12 C 2 10 C 3 14 C 4 17 C 5 11 D 1 7 D 2 9 D 3 15 D 4 8 D 5 10 No excel: DIC_estacas.csv
Verificando as pressuposições do modelo – dados brutos
##--- Modelo DIC
mod1<- lm(n.estacas ~ TRAT, data=dados)
# 1) Teste de Shapiro-Wilk (normalidade dos erros) shapiro.test(rstudent(mod1))
Shapiro-Wilk normality test data: rstudent(mod)
W = 0.8311, p-value = 0.00261
# 2.1) Teste de Hartley (homocedasticidade)
var.res<- tapply(rstudent(mod1),TRAT,var); var.res a b c d
0.7 0.3 7.7 9.7
Fmaximo<- max(var.res)/min(var.res); Fmaximo 32.33333
# 2.2) Teste de Bartlett (homocedasticidade) OBS: precisa de normalidade dos erros!
bartlett.test(n.estacas ~ TRAT, data = dados)
Bartlett test of homogeneity of variances data: n.estacas by TRAT
Verificando as pressuposições do modelo – dados brutos
#--- Gráfico de resíduos versus preditos
plot(predict(mod1), rstudent(mod1), ylim= c(-4,4), pch=19) abline(h=c(-3,0,3), lty=2)
#--- Gráfico quantil-quantil com envelope simulado require(car)
qqPlot(rstudent(mod1), distribution="norm", pch=19, col="blue",
xlab="Quantis da dist. normal", ylab="Resíduos Studentizados")
##---(Dados transformados)
n.est.transf<- sqrt(n.estacas + 0.5)
dados.tr<- data.frame(dados, n.est.transf)
mod2<- aov(n.est.transf ~ TRAT, data=dados.tr) #--- Novo modelo #--- Teste de Shapiro-Wilk (normalidade dos erros)
shapiro.test(rstudent(mod2))
Shapiro-Wilk normality test data: rstudent(mod2)
W = 0.967, p-value = 0.69
# 1.1) Teste de Hartley (homocedasticidade)
var.res<- tapply(rstudent(mod2), TRAT, var); var.res a b c d
0.12859145 0.08038476 0.13888707 0.21275532 Fmaximo<- max(var.res)/min(var.res); Fmaximo [1] 2.646712
# 1.2) Teste de Bartlett (homocedasticidade) # OBS: precisa de normalidade dos erros!
bartlett.test(n.est.transf ~ TRAT, data = dados.tr) Bartlett test of homogeneity of variances data: n.est.transf by trat
13
#--- Gráfico de resíduos versus preditos
plot(predict(mod2), rstudent(mod2), ylim= c(-4,4), pch=19) abline(h=c(-3,0,3), lty=2)
#--- Gráfico quantil-quantil com envelope simulado require(car)
qqPlot(rstudent(mod2), distribution="norm", pch=19, col="blue“,
xlab="Quantis da dist. normal", ylab="Resíduos Studentizados")
Dados com
anova(mod2)
Analysis of Variance Table Response: n.est.transf
Df Sum Sq Mean Sq F value Pr(>F) Trat 3 26.3394 8.7798 62.644 4.623e-09 *** Residuals 16 2.2425 0.1402
ANOVA – dados transformados
Conclusão: ....
Trat. Média transformada Média original
C 3.631651 2.7748874
D 3.182734 3.1144823
A 1.263775 0.8366600
B 1.017690 0.5477226
OBS: Na apresentação dos
resultados em relatórios (ou artigos, etc ) não coloca-se as
médias dos dados
transformados. Coloca-se as
médias originais e os resultados da análise com os dados
Para tentar contornar o problema vamos usar a Transformação Box-Cox, que consiste em transformar os dados de acordo com a expressão:
onde é um parâmetro a ser estimado dos dados. Se = 0, a equação acima se reduz a
onde log(.) é o logarítmo neperiano.
Uma vez obtido o valor de encontramos os valores dos dados
transformados conforme a equação acima e utilizamos estes dados transformados para efetuar as análises.
Transformação Box-Cox
, 1
X Y ), log( X Y #==== Transformação Box-Cox require(MASS)
box.tr <- boxcox(y ~ TRAT, data=DIC, lambda=seq(-2, 2, 1/10)) abline(v=1, col='red') # Precisa transformar? SIM
#--- Valor exato
lambda <- box.tr$x[which(box.tr$y == max(box.tr$y))]; lambda #--- Novo modelo
Y_transf<- (y^(lambda)-1)/(lambda) dic<- data.frame(DIC, Y_transf)
mod1<- lm(Y_transf ~ TRAT, data=dic) No R:
= 0,54
Referência:
BOX, G.E.P.; COX, D.R. An analysis of transformations. Journal of Royal
Statistical Society, series B, v.26, p.211-252, 1964.
b) Modelo Linear
Generalizado
Duas Amostras Três ou mais amostras
Tipo de
Teste Uma amostra Emparelhadas Independentes Emparelhadas Independentes
P ar am ét ricos ( M éd ia) _T-Student _T-Student (emparelhadas) _T-Student (independentes) _ANOVA de
medidas repetidas _ANOVA
Não -p ar am ét ricos ( M ed ia n a) _Wilcoxon signed
rank _Teste de Wilcoxon _Teste de Mann-Whitney _Teste de Friedman _Teste de Kruskal-Wallis
Duas Amostras k amostras
Escala da Variável
Uma amostra Emparelhadas Independentes Emparelhadas Independentes
Nom in al _Teste binomial _Teste qui-quadrado _Teste de McNemar _Teste de Fisher
_Teste qui-quadrado para 2 amostras independentes
_Teste Q de Cochran _Teste qui-quadrado para k amostras independetnes Or d in al _Teste de Kolmogorov-Smirnov para uma amostra
_Teste de iterações para uma amostra
_Teste do sinal
_Teste de Wilcoxon
_Teste da mediana
_Teste de Mann-Whitney _Teste de Kolmogorov-Smirnov para duas amostras
_Teste de Wald-Wolfowitz
_Teste de Moses para reações extremas
_Teste de Friedman _Teste de Kruskal-Wallis
In te rval o _Teste de Walsh _Teste de aleatoriedade para pares _Teste de aleatoriedade para 2 amostras independentes Testes não-paramétricos