Como usar gráficos para análises exploratórias?

Gráficos nos ajudam a processar informações antes mesmo de realizarmos testes estatísticos. Neste post, vamos falar um pouco mais sobre gráficos e como podemos usá-los para conhecer melhor os nossos dados.

“Esse gráfico tá um pouco estranho…” – Cientistas em 2018 ao olhar de relance para a figura abaixo.

O jogo dos 7 erros passou para dizer que desistiu de analisar essa imagem.

Gráficos são fundamentais para a ciência. Além de sintetizarem informações complexas apresentadas em um artigo, gráficos bem feitos podem fazer a diferença entre o seu artigo ser citado ou não. Não à toa, os livros didáticos sempre procuram exemplos que possam ser convertidos em gráficos facilmente interpretáveis. E a utilidade dos gráficos vai muito além da apresentação de dados para o público.

Gráficos também são fundamentais nas primeiras etapas de uma pesquisa. Logo no início, usamos gráficos para explorar padrões nos nossos dados. Antes mesmo de fazermos testes de hipóteses usando estatística.

Alguns de vocês podem estar pensando que fazer essa visualização prévia dos dados é “roubar” no jogo acadêmico. Afinal de contas, você estaria dando spoiler para si mesmo. Mas aqui emerge uma diferença importante entre as análises exploratórias e as análises formais.

As análises exploratórias, como o próprio nome diz, são feitas para explorar os dados. Por exemplo, para checar se há correlações inesperadas ou verificar se a distribuição dos dados segue um modelo teórico esperado. Por isso você só faz testes estatísticos formais depois de fazer uma análise exploratória. Nessa fase preliminar, você não faz ANOVAs, nem modelos mistos. No máximo, você checa as tendências e variações dos seus dados.

E por que não? Porque um objetivo importante das análises exploratórias é avaliar se podemos de fato realizar os testes estatísticos que planejamos.

Todos os testes estatísticos possuem premissas quanto a que tipo de dados eles são bons em destrinchar. E, caso essas premissas sejam quebradas, o teste perde rigor ou até mesmo validade. Para piorar, a maioria dos pacotes estatísticos roda um teste independentemente da quebra de premissas, o que torna essa etapa da verificação preliminar ainda mais vital.

Abaixo, falo um pouco sobre a quebra das premissas dos testes mais comuns que aprendemos ainda na graduação. Falo também sobre como os gráficos podem nos ajudar a detectar problemas desse tipo.

Nota: o tipo de gráfico a ser usado depende das variáveis envolvidas na questão. O Marco já cobriu esse ponto em outro texto. Então, partirei do princípio que você já sabe a diferença entre os tipos de gráficos, beleza?

Todo mundo que já fez aula de estatística básica ou de desenho experimental já ouviu a seguinte frase: “testes paramétricos exigem que os dados sejam normais”. O que isso quer dizer? Deem uma olhada no gráfico a seguir.

Uma distribuição normal gerada aleatoriamente no R. A linha pontilhada cinza mostra a média da distribuição.

Esse gráfico representa uma distribuição normal que eu gerei aleatoriamente no R. A distribuição normal tem várias características interessantes que a tornam excelente como padrão em análise de dados (as quais não cabe detalhar aqui). Quando plotamos os nossos dados durante as análises exploratórias devemos prestar atenção ao “jeitão” do gráfico.

EDIT: O Pavel Dodonov apontou um erro no texto quanto a checagem de histogramas para inferir normalidade. Por isso, vou editar o texto abaixo, beleza? Valeu Pavel! Como o intuito do blog é mostrar a vida do cientista, vou deixar o texto antigo riscado, ok? Assim vocês podem conferir como eu lidei com o erro.

Como vocês podem observar mirando na linha tracejada que divide o gráfico acima em dois, a distribuição normal tende a ser simétrica e ter apenas um “pico” (ou moda). Qualquer gráfico que desvie desse jeitão pode significar que está sendo quebrado alguma premissa dos testes paramétricos tradicionais. Desvios dessa forma podem nos dizer que algo pode estar acontecendo nos seus dados. Algo que não necessariamente foi planejado para o experimento.

Portanto, um primeiro passo é checar se o histograma dos seus dados é normal. Desvios desse jeitão podem indicar três coisas. Primeira, que testes paramétricos talvez não sejam a melhor escolha para os seus dados. Segunda, se você está seguro de que os dados brutos são mesmo normais, pode ter havido erros de digitação na planilha. Terceira, talvez haja algum fator adicional que você não esteja considerando na lógica do seu projeto.

O histograma abaixo é um bom exemplo disso. Qual dos três problemas explicados acima você acha que pode estar ocorrendo aqui?

Portanto, o primeiro passo é checar o histograma da distribuição dos seus dados.

Eu simulei uma distribuição abaixo que não tem uma aparência muito similar a normal que eu coloquei acima. O que vocês acham? Alguma ideia do que está acontecendo?

Neste caso em específico, eu gerei um cenário em que a distribuição possui duas modas (picos), e não uma. Caso eu fosse fazer um teste estatístico com esses dados, eu já estaria quebrando uma das premissas mais importantes logo de cara. Portanto, os resultados dessa análise ficariam sob suspeita.

Caso vocês chequem o código que usei para gerar gráfico, vão perceber que eu retirei dados aleatoriamente de duas distribuições normais e as coloquei no mesmo “lugar”. O cenário que eu observo no final, é uma curva com dois picos (ou duas modas). Isso não significa que a distribuição não é normal, só significa que há duas médias (ou duas distribuições) e não uma.

Como na maioria das vezes (senão todas) o cientista não tem ideia do processo que gerou o padrão observado, fazer histogramas torna-se importantíssimo para entender o que está acontecendo com seus dados.

Por isso, fazer histogramas é muito importante para entender o que está acontecendo nos bastidores. Desvios da normalidade podem nos ensinar muito não apenas sobre os nossos dados, mas também sobre o fenômeno que estamos investigando.

Apesar dessa enorme importância dos histogramas, acredito que o tipo de gráfico mais usado para uma inspeção visual são os diagramas de dispersão. Eles são excelentes para detectar erros de digitação, relações inesperadas e correlações em geral.

Todos esses problemas podem ser resolvidos através de uma boa inspeção visual. Por exemplo, quem nunca percebeu um outlier nos próprios dados que atire o primeiro ganhador do Nobel:

Outliers, o que são? De onde vem? Do que se alimentam?

Graficando logo no início da pesquisa, você pode examinar a natureza desse outlier. Será que esse ponto fora da curva é um erro de digitação? Ou terá havido um erro na coleta de dados? Ou, por mais estranho que possa parecer, será que ele reflete a realidade e eu não estou considerando alguma outra variável importante? É justamente porque essas possibilidades são múltiplas que não podemos ficar removendo todos os outliers que vemos nos nossos dados, ok?

Um exemplo muito comum para quem trabalha com dados de campo é encontrar alguma correlação inesperada. Por exemplo, temos essa maravilhosa correlação entre filmes em que o Nicolas Cage aparece e o número de mortes por afogamento em piscinas.

Fica a dúvida se essa correlação é realmente espúria…

Apesar de muitas vezes essas correlações não terem necessariamente uma explicação natural por detrás delas, elas ocorrem. O acaso pode nos pregar peças, sim. E, quando essas correlações pintam, elas podem modificar os resultados dos testes estatísticos sem que percebamos.

Por esses motivos, olhar o jeitão dos dados antes de uma análise é um passo essencial no fluxo de trabalho de um cientista. Uma simples inspeção visual pode te levar a corrigir erros na coleta de dados, enquanto ainda há tempo. Ou pode evitar que você rode um teste errado.

Nessas horas é sempre bom lembrar que fazer gráficos também é fazer estatística. O processo de análise estatística envolve vários passos: coleta, armazenamento e gerenciamento de dados, inspeção visual, análise descritiva, teste de hipótese, e interpretação do corpo de evidências.

Mas fazer análises exploratórias é só isso?

Não, jovem gafanhoto. Hoje em dia a ciência de dados progride a passos largos. Ferramentas como o pacote tidyverse oferecem muitas formas de realizar essas análises exploratórias. Isso em apenas uma das várias linguagens de programação usadas por data scientists, que é o R. Meu objetivo aqui é só dar um gostinho do que pode ser feito.

Caso alguém se interesse por isso, sugiro que se aprofunde mais no tema. Um bom lugar para começar é esse artigo aqui (sugestão da Renata!). Além de falar mais detalhadamente sobre análises exploratórias, ele também toca no assunto do próximo texto que a Renata vai escrever: o que fazer quando os meus dados estão fortemente correlacionados entre si?

Em suma, usem e abusem de gráficos. Só não saiam por aí fazendo testes estatísticos sem tomarem as devidas precauções.

PS: Para quem se interessou pelo código dos gráficos que mostrei aqui, é só conferir no GitHub.

14 respostas para “Como usar gráficos para análises exploratórias?”

  1. Legal 🙂 Mas, sobre normalidade…

    “Portanto, um primeiro passo é checar se o histograma dos seus dados é normal. Desvios desse jeitão podem indicar três coisas. ” – O certo é testar normalidade examinando o histograma dos resíduos, não dos dados, certo? Em um modelo linear (incluindo ANOVA e regressão), a premissa é de que existe uma distribuição normal de Y para cada valor de X, e os nossos valores de Y são amostras dessas distribuições normais: Yi = B0 + B1Xi + ei; ei ~ N(0, sd). Então, em uma ANOVA, testaríamos a normalidade de cada grupo ou centralizaríamos cada grupo (valor menos a média do grupo) para depois testar normalidade… Em uma regressão, como temos normalmente um único valor de Y para cada valor de X, ajustamos a reta, extraímos os resíduos e testamos a normalidade deles 🙂

    Então, no seu exemplo de biomassa: pode ser que você esteja comparando a biomassa entre dois grupos (variável explanatória categória com dois níveis), e temos uma distribuição normal em cada um deles (ou seja, a premissa da normalidade foi satisfeita), só que juntando os dois grupos, temos essa distribuição bimodal. Então aí nós concluiríamos que a premissa não foi satisfeita… sendo que ela foi 🙂

    1. Oi Pavel, obrigado pelo feedback.

      Eu realmente sempre achei que a normalidade nós testávamos nos dados brutos, e não nos resíduos. Os resíduos sempre estavam mais associados a heterocidasticidade do que normalidade.

      Mas, entendi teu ponto. Obrigado pela correção! Vou consertar o texto pra já!!

      1. Ah, legal! Então, eu entendo que é nos resíduos porque a premissa é de que existe uma distribuição normal de Y para cada valor de X. E só temos como avaliar isso olhando os resíduos… O livro de Zuur et al, sobre modelos mistos (e acho que outros dele), discute bastante isso 🙂
        Podemos fazer uma exemplo pra visualizar isso em R: dicamos que nosso Y é uma função linear de X, com erros normais:
        x = runif(100, 0, 100) # Valores de x variam de 0 a 100 e seguem uma distribuição normal
        y = rnorm(100, mean=x, sd=2) # y segue uma distribuição normal, com a média determinada por x. Acho que outra forma equivalente pra isso é:
        y = x + rnom(100, mean=0, sd=2) # erros centrados em x
        Se fizermos um histograma de y, provavelmente ele vai seguir uma distribuição uniforme, porque segue a distribuição de x. 🙂

        1. Pera, falei errado: Valores de x variam de 0 a 100 e seguem uma distribuição uniforme. Não normal… runif gera distribuições uniformes, rnorm gera distribuição normal

          1. Acho que só parei para pensar a fundo nisso depois do teu comentário. E ele faz todo sentido. Afinal de contas, as premissas são sobre como o teste vai usar seus dados para fazer inferência. E não dos dados em si.

            Obrigado mesmo por ter tirado o tempo para comentar aqui! Agora vou parar de replicar informação errada por aí!

            Eu consertei o texto e tirei a ênfase de normalidade. Deixei o foco mais no que um histograma pode nos ensinar.

    2. Pois é, essa é uma velha questão, muito importante.

      Aprendemos tradicionalmente, em disciplinas de estatística para biólogos, que devemos olhar para a normalidade dos dados. Até no livrão clássico do Zar, o “Caminho Suave” que alfabetizou a minha geração em estatística, a recomendação era essa. Eu mesmo já ensinei assim quando dava aula de estatística. Contudo, parece que o que importa na verdade é a normalidade dos resíduos ou diferenças. Como será que começou esse telefone sem fio? 🤔

      Será que se trata mesmo de um erro? Ou será apenas mais um caso de uma coisa que era feita de um jeito um tempo atrás, mas que alguém revisou depois? Livros como Zar e Sokal & Rohlf estavam errados?

      1. Estou sem meu Zar aqui pra ver o que ele fala… Mas eu lembro que na época que eu me baseava mais no Zar que no Zuur, eu li em algum lugar que, para testar normalidade para ANOVA, testamos a normalidade separadamente em cada grupo ou senão centralizamos cada valo (X – Xmédio_do_grupo) e depois testamos a normalidade. Não sei foi em um desses livros…

        1. Pois é, também estou sem esses livros aqui no home office. Quando eu for ao lab, dou uma olhada. Essa discussão que estamos tendo talvez seja uma das mais importantes da atualidade. Valeria até mesmo uma mesa-redonda em um congresso!

          Bom, de qualquer forma, ainda aposto na hipótese de que essa história toda pode ser mais uma questão de mudança de abordagem, do que de erro no sentido estrito. Outra hipótese alternativa é de que gerações de biólogos foram ensinadas da forma errada.

          Fora essa questão mais técnica, outro problema é que, na Ecologia, quando surge uma abordagem nova, é comum dizerem que a abordagem antiga estava errada. Ou até mesmo ignorarem a abordagem antiga. Já vi isso rolar com vários outros temas. A ecologia é uma ciência sem memória.

          No caso da estatística, uma mudança comportamental grande, que ocorreu nos anos 2000, é que as pessoas pararam de estudá-la em livros de bioestatística, e começaram a estudá-la em livros focados em como fazer as análises no R. Foi uma mudança de uma abordagem pedagógica mais teórica para uma abordagem mais pragmática. Naturalmente, tudo tem seu lado bom e seu lado ruim.

          A raiz desse problema pedagógico talvez seja tribal e mais profunda. Na verdade, ao invés de aprendermos estatística com estatísticos, na maioria dos casos seguimos gurus que também são biólogos, mas manjam mais de números do que a média. Esse, sim, eu acho um erro de formação grave.

          1. [Tentando lembrar de como eu enxergava essas coisas dez anos atrás…] Então, eu acho que eu sempre tive a dúvida, antes de começar a pensar mais em resíduos, se era pra testar a normalidade de cada grupo individualmente ou de todos os dados juntos (pensando em teste t e ANOVA). Eu acho que era mais pra cada grupo separadamente… mas não tenho certeza. Se for pra cada grupo separadamente, ou se for pra todos os grupos depois de subtrair a média do grupo de cada ponto (acho que isso eu li no Zar ou no S&R), estamos efetivamente avaliando os resíduos. Pra regressão eu realmente não lembro como aprendi; lembro de longas discussões sobre usar regressão OLS ou RMA pra analisar um conjunto de dados, rs. Talvez teve também longas discussões sobre normalidade dos dados ou dos resíduos já naquela época 🙂 Acho que pode ter sido uma mudança de abordagem, ou talvez mudança de foco, quando se começou a pensar mais em termos de modelos lineares, que englobam todos os testes paramétricos clássicos, do que nos testes separadamente. E acho que, em diversos casos, os dados também podem seguir distribuição normal, então talvez testar normalidade dos dados seria um proxy para o teste da premissa (assim como testar a normalidade dos resíduos é, afinal, o ideal seria termos muitos valores de Y pra cada valor de X)?

            Sobre aprendermos estatística não com estatísticos… Eu na verdade acho que assim é melhor, sabe? Porque na graduação temos pouco tempo dedicado a métodos estatísticos (e pra ter mais tempo dedicado a isso precisa ter menos tempo dedicado a outras coisas, e é difícil pensar em coisas a quais dedicar menos tempo). Eu tive sorte de na UFSCar haver duas disciplinas de estatística pra biologia (univariada e multivariada) – mas isso só pro bacharelado. Na UFBA é, até onde sei, uma única disciplina obrigatória, teórico-prática. Então, tendo em vista o pouco tempo dedicado a isso e também a pouca afinidae e experiência com coisas mais matemáticas (pouco exploradas na maioria das disciplinas), pra mim é melhor que a disciplina seja minstrada por pessoas da biologia, que conseguem avaliar o que futuros biólogos e biólogias precisam saber… Que pra mim, por exemplo, é 1) como planejar um bom estudo, 2) como visualizar dados e escolher uma forma de analisar eles, 3) como fazer o teste e testar a premissa, 4) como interpretar e apresentar o resultado e o que o p-valor significa no final das contas, e 5) como estudar estatística por conta própria. O que já é coisa pra bulhufas em uma disciplina de quatro horas semanais! Então eu prefiro nem incluir coisas de probabilidade e coisas mais matemáticas… Que talvez um estatístico acharia mais importante em uma disciplina introdutória, já que é a base de tudo. E também quero fazer com que pessoinhas gostem e não temam a estatística; ter ela ensinada por estatísticos pode assustar!

            E sobre o R, SIM! Eu peguei essa transição… Na minha graduação as disciplinas foram bem mais teóricas, e agora vejo tudo bem mais focado em R. Eu pessoalmente sou um pouco contra isso, e gosto de ensinar o R e o Past, como exemplos de duas formas de Fazer As Coisas, mas focando mais na filosofia dos testes e sua intepretação e visualização. Mas tenho percebido que se às vezes se fala mais em funções de R do que do processo que realmente está sendo realizado… Por exemplo, “usamos a função scale” ao invés de “padronizamos os dados subtraindo de cada valor a média e dividindo pelo desvio-padrão”.

            Véi… Nossa mesa redonda sobre ensino de estatística, quando acontecer (será que conseguiremos dinheiros pra ela?), vai ser tipo muito sensacional. ❤

            1. Excelentes reflexões, Pavel! 🙂

              Quanto à nossa mesa redonda, caraca, é mesmo. Ela ficou no limbo por causa do coronapocalipse. Espero que a possamos realizar um dia. Estes pontos que estamos discutindo aqui por comentários, um meio muito limitado, poderiam ser maravilhosamente esmiuçados nela, com interação do público.

              Você tocou num ponto muito importante! Deve ter acontecido isso mesmo: conforme a filosofia dos modelos lineares gerais e generalizados foi resgatada e se tornou moda, ela acabou fagocitando a filosofia dos testes convencionais. Então talvez não tenhamos aprendido estatística errado nos anos 1980 e 1990, e começo dos 2000. O que houve foi apenas uma mudança de filosofia. Mas, como eu disse, a ecologia é uma ciência sem memória. Por isso, a cada nova moda, as pessoas começam a achar que tudo que veio antes não servia para nada. Sou da opinião de que os testes convencionais resolvem a maioria dos problemas dos estudos ecológicos convencionais.

              Quanto ao ensino de estatística, bons argumentos, cara, concordo contigo. Seria legal acharmos um meio termo nisso. Ou seja, ministrarmos e cursarmos as nossas disciplinas de bioestátistica com biólogos, mas nunca nos esquecendo de beber nas fontes originais regularmente. Eu já fiz algumas vezes o teste de perguntar para estatísticos profissionais a opinião deles sobre algumas das nossas abordagens e, em geral, eles ficam horrorizados, rs. Mau sinal…

              Outro meio termo que precisamos buscar é no balanço entre teoria e prática no aprendizado de bioestatística. A minha geração (X), era sobrecarregada de teoria, mas aprendia quase nada de prática. Programação? Vixe, que nada! No máximo, fazer testes no papel ou em pacotes fechados. Acabávamos tendo que aprender a parte prática mais a fundo no calor da batalha. Já as gerações seguintes, millennial e alpha, começaram a estudar com um foco prático exagerado por causa da mudança para a programação em R. Aí, muitas vezes, confundem filosofia com método.

              Caminho do meio, sempre!

Deixe um comentário

Faça o login usando um destes métodos para comentar:

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

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.