Falha(s) nas pressuposições da ANOVA Prof. a Dr. a Simone Daniela Sartorio de Medeiros DTAiSeR-Ar 1
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 mais importante e com a normalidade. 2
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; DICA: Retirando-o o(s) outlier(s) muitas vezes resolve-se o problema. 2) Transformar os dados; Pode solucionar ou não o problema de heterocedasticidade e/ou normalidade dos erros. 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. MODELOS LINEARES GENERALIZADOS 5) Realizar uma análise não-paramétrica. 3
a) Transformação de dados 4
Algumas sugestões de transformações Seja X a variável resposta original avaliada no experimento. Se, dados de contagem, tende-se, provavelmente uma distribuição de Poisson. Usa-se a transformação dos dados, do tipo: Y X k em que k 0, geralmente 0 (zero) ou 0,5. Este valor quando os dados de observação apresentarem valores baixos, inclusive zeros. 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 Y arcsen X em que p são as porcentagens. 5
Algumas sugestões de transformações Seja X a variável resposta original avaliada no experimento. Se médias de tratamentos são proporcionais às respectivas variâncias, usa-se a transformação: Y log( X k) para k 0. Transformação recíproca: é uma função de transformação adequada quando X refere-se à taxa de sobrevivência. Por conseguinte, Y 1 X refere-se à taxa de mortalidade. 6
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: 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 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. 122 2 mˆ i s i 7
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) Os dados: Repetiçõ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 No excel: DIC_estacas.csv 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 8
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 Bartlett's K-squared = 12.1414, df = 3, p-value = 0.006914 9
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") 10
Dados brutos 11
Verificando as pressuposições do modelo dados transformados ##---(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 Bartlett's K-squared = 0.8467, df = 3, p-value = 0.8383 12
Verificando as pressuposições do modelo dados transformados #--- 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") 13
Dados com transformação 14
ANOVA dados transformados 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 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 transformados. 15
Transformação Box-Cox Seja X a variável resposta original avaliada no experimento. Para tentar contornar o problema vamos usar a Transformação Box-Cox, que consiste em transformar os dados de acordo com a expressão: Y 1 X, onde é um parâmetro a ser estimado dos dados. Se = 0, a equação acima se reduz a Y log( X ), 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. 16
No R: #==== 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) = 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. 17
b) Modelo Linear Generalizado 18
c) Teste não paramétrico 19
Não-paramétricos (Media na) Paramétricos (Média) Testes não-paramétricos Duas Amostras Três ou mais amostras Tipo de Teste Uma amostra Emparelhadas Independentes Emparelhadas Independentes _T-Student _T-Student (emparelhadas) _T-Student (independentes) _ANOVA de medidas repetidas _ANOVA _Wilcoxon signed rank _Teste de Wilcoxon _Teste de Mann-Whitney _Teste de Friedman _Teste de Kruskal-Wallis 20
Intervalo Ordinal Nominal Testes não-paramétricos Duas Amostras k amostras Escala da Variável Uma amostra Emparelhadas Independentes Emparelhadas Independentes _Teste binomial _Teste qui-quadrado _Teste de McNemar _Teste de Fisher _Teste qui-quadrado para 2 amostras independentes _Teste da mediana _Teste Q de Cochran _Teste qui-quadrado para k amostras independetnes _Teste de Kolmogorov- Smirnov para uma amostra _Teste de iterações para uma amostra _Teste do sinal _Teste de Wilcoxon _Teste de Mann-Whitney _Teste de Kolmogorov- Smirnov para duas amostras _Teste de Wald- Wolfowitz _Teste de Friedman _Teste de Kruskal-Wallis _Teste de Moses para reações extremas _Teste de Walsh _Teste de aleatoriedade para pares _Teste de aleatoriedade para 2 amostras independentes 21