Como interpretar uma ANOVA?

Você está estudando o comportamento de unicórnios, e percebeu algo interessante: parece que em alguns locais os unicórnios se movimentam muito mais ao longo do dia do que em outros. Analisando cuidadosamente os locais, você chegou à conclusão de que isso pode ser devido à quantidade de predadores: em áreas mais protegidas, os unicórnios da sua população de estudo se movimentam mais tranquilamente; por outro lado, na presença de predadores eles tendem a ficar mais quietinhos, e quanto mais assutador for o predador, mais quietinhos eles ficam.

Você então decidiu fazer um experimento manipulativo (com as devidas autorizações do comitê de ética e tomando todas as precauções para não causar um estresse demasiado aos bichinhos): você dividiu, aleatoriamente, um grupo de 40 unicórnios em quatro subgrupos, com de dez indivíduos em cada. Um subgrupo você colocou em uma área totalmente protegida de predadores, onde os unicórnios poderiam pastar tranquilamente sem serem incomodados por ninguém. Um segundo subgrupo você colocou dentro de um cercado protegido e à prova de fogo mas na presença de um predador não muito assustador (dragões-amarelos). Um terceiro subgrupo você colocou em um cercado também muito protegido, mas na presença de um predador mais assustador (serumaninhos). E o último subgrupo você colocou na presença dos dois predadores.

Ao apresentar o seu projeto para uma banca avaliadora, um dos membros da banca falou que as suas réplicas – os unicórnios – na verdade eram pseudoréplicas, pois os unicórnios no mesmo cercado não são indepedentes entre si. Você concordou, mas argumentou que seria inviável fazer um estudo com mais cercados, porque colocar os bichinhos em subgrupos com menos de dez indivíduos seria estressante pra eles e trabalhar com mais de quarenta unicórnios era logisticamente e eticamente inviável. A segunda avaliadora argumentou que, como os unicórnios estavam protegidos por cercados, o efeito não seria esperado, pois eles não seriam predados; a isso você respondeu que estava interessado no efeito do medo e que, mesmo de dentro de um cercado, um dragão é uma visão um tanto assustadora, e um serumaninho é mais assustador ainda. O terceiro avaliador argumentou que unicórnios não existem e foi sumariamente ignorado.

Assim, tendo seu projeto aprovado, você realizou o estudo e obteve, para cada unicórnio em cada tratamento, a distância média percorrida por dia ao longo dos dois meses de estudo. Você então fez um gráfico do tipo jitter plot junto com um boxplot para avaliar como o tratamento afeta o movimento dos seus bichinhos (veja este post sobre boxplots e jitter plots):

Olhando este gráfico, parece que, de fato, o tratamento afeta o movimento dos bichinhos, com o predador mais assustador afetando mais. Mas, também existe uma grande variação entre os unicórnios dentro de cada tratamento. Como então saber se a diferença observada é real, ou se ela surgiu pelo acaso? Afinal, são apenas dez bichinhos em cada cercado…

Para descobrir que análise estatística podemos usar, devemos pensar nas nossas variáveis. A nossa variável resposta é uma variável quantitativa contínua: movimentação média por dia, em metros. A nossa variável explanatória é uma variável categórica: tratamento, com quatro níveis: Controle, Dragões, Serumaninhos, Ambos. Assim, podemos usar a Análise de Variância – ANOVA – para avaliar se a relação entre as variáveis é significativa ou se ela foi causada pelo acaso.

Ao realizar a ANOVA em R, você obteve o seguinte resultado:

            Df Sum Sq Mean Sq F value   Pr(>F)
Tratamento   3 205809   68603   18.49 1.99e-07 ***
Residuals   36 133584    3711  

Você achou este resultado um tanto assustador e decidiu repetir o teste em outro programa, o Past:

Como então interpretar este resultado? Bom, primeiro, precisamos pensar sobre como ANOVA funciona. Não vou colocar fórmulas aqui, porque estou com preguiça de descobrir como coloca fórmulas em WordPress acho que não é o objetivo do post, mas vou falar basicamente da lógica do teste.

Em linhas gerais, ANOVA calcula a variação, ou variância, associada a diferentes origens. Neste caso, nós temos duas fontes de variação: 1) a variação natural que existe entre os unicórnios – tem bichinhos que andam mais e bichinhos mais sedentários; e 2) a variação provocada pela nossa variável explanatória, no caso a presença de predadores. Tal variação pode ser medida. Para medir a variação, uma medida muito usada é a variância. Para calcular a variância, primeiro vemos quão distante cada ponto está da média – ou seja, subtraímos de cada ponto o valor médio. Mas, alguns pontos estarão acima da média e outros estarão abaixo – assim, ao fazer a subtração, os valores positivos (pontos acima da média) e os negativos (pontos abaixo da média) vão se cancelar, e teremos como resultado um grande e redondo zero.

Portanto, depois de calcular a diferença entre cada valor e a média, nós elevamos essa diferença ao quadrado. Valores elevados ao quadrado são sempre positivos. Então, ao calcular a diferença entre cada valor e a média, elevar essa diferença ao quadrado, e somar estes quadrados das diferenças para todos os valores, obtemos uma medida de variação, que nos diz o quanto os pontos variam ao redor da média.

É exatamente isso que a ANOVA faz. Bom, entre outras coisas. Nós queremos saber o quanto os unicórnios dentro de cada cercado – ou, em termos gerais, as unidades amostrais dentro de cada tratamento – variam entre si. Para isso, podemos subtrair de cada valor a média daquele tratamento. Ou seja, subtraímos de cada valor a média do tratamento; elevamos essa diferença ao quadrado; e somamos todas esses quadrados das diferenças, para todos os grupos. E é a esta soma que chamamos de Soma dos Quadrados, ou Sum of Squares, abreviada por SQ ou SS. O Past mostra ela como Sum of sqrs, o R mostra como Sum Sq.

O passo seguinte ao calcular a variância é dividir a soma dos quadrados pelo número de unidades amostrais – no caso, o número de unicórnios. (Caso lhes interesse, eu explico a fórmula da variância, com notação estatística, neste videozinho aqui). Mas como precisamos calcular a média, perdemos um grau de liberdade nisso – de modo que dividimos pelo número de unidades amostrais menos um (N-1). Só que neste nosso exemplo tivemos que calcular uma média pra cada grupo – de modo que perdemos não um, não dois, mas quatro graus de liberdade, um pra cada grupo. Então, se temos 40 unidades amostrais (unicórnios) em 4 grupos (tratamentos), teremos 40-4=36 graus de liberdade (Degrees of Freedom, ou DF).

E depois, nós dividimos a soma dos quadrados pelos graus de liberdade, obtendo o chamado Quadrado Médio – QM, ou Mean Square – MS. O R o chama de Mean Sq. Então, este Quadrado Médio é basicamente a medida de variação, que nos diz o quanto os pontos variam entre si.

Só que… No resultado aparecem duas linhas, né? Temos uma linha que o R chamou de “Tratamento” e uma segunda que ele chama de “Residual”. E o Past chama uma linha de “Between groups” e a outra de “Within groups“. Este cálculo que expliquei aqui – subtrair de cada valor a média daquele grupo, elevar ao quadrado, somar tudo e dividir pelos graus de liberdade – é a variação intra-grupo (within groups), também chamada de variação residual. Intra-grupo porque mostra o quanto os pontos variam entre si dentro de cada grupo. Residual porque é a variação que não é explicada pela nossa variável explanatória – aquilo que o nosso modelo ou a nossa variável explanatória não explica é o resíduo.

A outra linha é a variação entre os grupos (between groups), associada à nossa variável explanatória que chamamos de Tratamento. Para calcular este valor, primeiro se calcula a média de cada grupo ou tratamento e também a média geral, de todos os pontos. Depois se calcula a média geral, considerando todos os valores independentemente do grupo ao qual eles pertencem. Então se calcula a diferença entre a média de cada grupo e a média geral; quanto mais distintos os grupos forem entre si, maior será essa diferença. Como antes, elevamos a diferença ao quadrado para lidar com os valores negativos; e, além disso, multiplicamos o resultado pelo número de valores em cada grupo, para levar em conta que quanto mais valores temos, mais relevante pode ser essa diferença entre a média do grupo e a média geral. Então, resumidamente, temos aí uma medida que diz o quanto as médias dos grupos variam entre si.

Temos quatro grupos; mas perdemos um grau de liberdade ao calcular a média geral, então temos três graus de liberdade. Ao dividir a soma dos quadrados entre-grupos pelos graus de liberdade associados, temos o quadrado-médio, que mostra o quanto os grupos variam entre si.

Neste caso, o quadrado-médio entre os grupos é de 68603, e o quadrado-médio intra-grupo ou residual é de 3710. Dividindo um pelo outro, temos que 68603/3710=18.49… E não é que este é exatamente o valor que aparece na coluna F, tanto no R quanto o Past? A estatística F é calculada dividindo a variação entre os grupos pela variação intra-grupo – ou, em outras palavras, a variação explicada pela variação residual, aquela que o modelo não explica. Quanto maior for essa estatística, mais relevante é a diferença entre os grupos e menor a chance dela ter sido causada pelo acaso. A partir da estatística F calculamos o p-valor, que deu aproximadamente 2e-07. Este e-07 (ou E-07) significa “vezes dez elevado a menos sete” – ou seja, 2e-07 é igual a 0.0000002. É um valor bem pequeno. Tipo, bem pequeno mesmo. Então, como a probabilidade de uma diferença assim entre os grupos ter sido observada pelo acaso é bem pequena, mesmo, rejeitamos a nossa hipótese nula e concluímos que, sim, a presença de predadores afeta o movimento dos nossos bichinhos, tadinhos.

Mas não acabamos por aqui! (Embora talvez você queira continuar a leitura outro dia. :-]) A ANOVA nos mostra apenas que existe uma diferença. Ela não nos diz onde a diferença está, ou seja, quais tratamentos diferem de quais tratamentos. Mas o Past é tão fofinho que ele já nos apresenta essa informação sem nem precisarmos pedir a mais! (Ele também nos dá algumas informações que não vou explicar aqui.) Reparem na tabela que aparece abaixo dos resultados da ANOVA, essa com alguns valores em rosa:

Essa tabela mostra os resultados do Teste de Tukey. O Teste de Tukey é um teste a posteriori, que podemos usar quando a ANOVA deu um resultado significativo. O Past nos mostra basicamente duas informações: a estatística de teste, chamada de Q; e o p-valor calculado a partir dela. Quanto mais baixo o p-valor, mais evidência temos de que a média de um grupo difere da média de outro grupo.

Olhando para os resultados do teste de Tukey, temos um p=0.017 para a diferença entre Controle e Dragões. Basicamente, procuramos nas linhas e colunas pelo nome das variáveis de interesse e cruzamos as linhas para encontrar o p-valor no triângulo superior e a estatística de teste no triângulo inferior; normalmente o que nos interessa mesmo é o p-valor. Então existe uma diferença significativa, presença de dragões afeta o movimento dos unicórnios em comparação com o controle! A presença de serumaninhos também (p=0.00024) e a presença de ambos, dragões e serumaninhos, juntos, também afeta (p=0.00016). Por outro lado, parece que não existe diferença entre o efeito dos dragões e dos serumaninhos (p=0.26). No entanto, a presença de dragões e de serumaninhos juntos tem um efeito diferente de quando só temos dragões (p=0.0016). Ou seja, a adição de serumaninhos, quando já há dragões na área, afeta mais ainda o movimento dos bichinhos. Já a adição de dragòes quando tem serumaninhos não teria um efeito significativo (p=0.15).

Podemos também obter estes resultados em R, usando o comando TukeyHSD, que nos retorna um resultado um pouco menos amigável mas um pouco mais informativo:

                            diff       lwr        upr     p adj
Dragoes-Controle       -85.53767 -158.9070  -12.16840 0.0169600
Serumaninhos-Controle -136.26882 -209.6381  -62.89954 0.0000852
Ambos-Controle        -195.56004 -268.9293 -122.19076 0.0000001
Serumaninhos-Dragoes   -50.73114 -124.1004   22.63814 0.2620846
Ambos-Dragoes         -110.02237 -183.3916  -36.65309 0.0014735
Ambos-Serumaninhos     -59.29123 -132.6605   14.07805 0.1492413

Cada linha é uma comparação. Então, por exemplo, na comparação Dragões-Controle, temos uma diferença (diff) de -85. Isso significa que, na presença de dragões, os bichinhos andam em média 85 metros a menos por dia do que na ausência deles. As colunas lwr e upr são intervalos de confiança: temos 95% de certeza de que dragões reduzem o movimento dos unicórnios em 12 a 158 metros por dia. E a última coluna é um p-valor ajustado; com p=0.016 podemos rejeitar a hipótese nula e concluir que, sim, este efeito existe e é diferente do acaso.

Já os serumaninhos reduzem o movimento médio dos bichinhos em 136 metros por dia, e este é um efeito significativo. Por outro lado, a diferença entre o efeito de dragões e de serumaninhos – uma diferença de 50 metros por dia – não é significativa e poderia ter sido causada pelo acaso (p=0.26). Enfim, é basicamente isso: em cada linha vemos o quanto um tratamento difere de um outro tratamento e se essa diferença é estatisticamente significativa ou não. O interessante é que além de mostrar a significância, o R mostra o tamanho de efeito: em quanto cada predador reduziu a movimentação dos nossos unicórnios.

E aí, feliz por conseguir interpretar estes resultados e ver que a sua hipótese estava correta, você faz um gráfico lindo e mostra estes resultados todos ao Comitê de Gestão Unicorniana, que não entende muita coisa e pede pra você explicar isso em linguagem mais simples; mas mais sobre isso outro dia. Por enquanto, vamos ao gráfico:

Neste gráfico, os grupos que compartilham a mesma letra não são significativamente diferentes entre si. O grupo Controle não compartilha a sua letra (“a”) com nenhum outro grupo – ele difere de todos. O grupo Dragões compartilha a letra “b” com o grupo Serumaninhos – ele então não difere deste grupo mas difere do Controle e difere do grupo Ambos. Finalmente, o grupo Serumaninhos, intermediário entre Dragões e Ambos, não difere significativamente de nenhum dos dois.

Estes dados também poderiam ser analisados por uma ANOVA bifatorial, tratando Dragões e Serumaninhos como duas variáveis distintas; mas não vou escrever disso agora porque estou com fome esse post já ficou comprido demais né. :-)

(A propósito, eu simulei os dados para que houvessem efeitos distintos entre dragões e serumaninhos – dragões reduziriam em 50 metros por dia o movimento e serumaninhos em 100 metros por dia. Então a ausência de diferenças significativas entre eles seria um erro do tipo II – não detectar uma diferença que na verdade existe; mas é algo esperado com apenas dez unidades amostrais por grupo).

Um pensamento sobre “Como interpretar uma ANOVA?

  1. Observei que mesmo em um local cercado , os unicórnios ficariam estressados , com a consciência de poder ultrapassar as cercas para fugir . Ao mesmo tempo de que em meta-populações , creio que tivessem mais independência dependendo de que escala estamos falando . Quanto a pseudoreplicação só mostrou uma característica falsa dos unicórnios . Mas eu fiz uma paisagem com pássaros se alimentando de sementes , que era também fonte de alimentação de predadores ; cobras (ofídeos ) . E coloquei pássaros porque têm asas e a exaptação os tornam sobrevivente pela seleção natural. E dessa população de pássaros poderíamos retirar os mortos , os sobreviventes , e etc. Se o objetivo do estudo fosse esse . No meio caso a proteção dos pássaros era sua capacidade de voar . E os unicórnios era a cerca que protegia , No meu caso o pássaro também predava os ovos das cobras e seus filhotes .

    Curtir

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s