Mann-Kendall: o “off-road” dos métodos de análise de tendência

Veja como aplicar o Teste Mann-Kendall no R de forma rápida e sem burocracia


A análise de tendência é utilizada para determinar se uma série de dados possui uma tendência temporal de alteração estatisticamente significativa.

Com dados considerados como normalmente distribuídos, a análise de tendência pode ser realizada por regressão linear.

Porém, quando não é conhecida a distribuição dos dados que serão analisados ou não há a intensão de considerar a distribuição, a análise de tendência pode ser feita por métodos não-paramétricos como o Teste Mann-Kendall.


O Teste Mann-Kendall (Mann, 1945; Kendall, 1975) é utilizado para determinar se uma série de dados possui tendência temporal estatisticamente significativa, como, por exemplo, a análise de dados de monitoramento de águas superficiais ou subterrânea, visando determinar se concentrações de um contaminante químico apresentam tendência de diminuição, tendência de aumento ou ausência de tendência ao longo do tempo. Por isso, o Teste Mann-Kendall é um método muito utilizado em meio ambiente.


As hipóteses adotadas para o Teste Mann-Kendall geralmente são:


H0 (hipótese nula): Não há tendência presente nos dados.


HA (hipótese alternativa): Uma tendência está presente nos dados que pode ser de aumento ou de diminuição.


Se o valor p do teste for inferior a algum nível de significância (as escolhas comuns são 0,10, 0,05 e 0,01), então há evidência estatisticamente significativa para se rejeitar a hipótese nula H0 e aceitar que há tendência de diminuição ou aumento conforme o resultado da estatística S: e o valor de S é positivo há uma tendência de aumento e se S é negativo há uma tendência de diminuição.



Mann-Kendall no R, rápido e fácil


O R é um projeto aberto, bastante popular tanto no meio corporativo como no meio acadêmico e extremamente ativo, mantido por uma comunidade de colaboradores com lançamento frequente de atualizações. O R possui diversas funções estatísticas e de visualização que são implementadas através de pacotes ou “packages” como o “trend” que será utilizado para realizar o teste Mann-Kendall.

A seguir, você vai aprender em poucos passos como realizar o teste Mann-Kendall do pacote “trend” no R.


Primeiro: obtendo o R


Dois passos e você instala o R:


(1) Procure e instale a versão adequada do R para seu sistema operacional (Windows, Linux ou em https://cran.r-project.org/


(2) Juntamente com o R é instalado o RGui que é um ambiente de linha de comando que é suficiente para rodar o “trend”.


Dica: instale o R em diretório sem restrição de acesso.



Segundo: obtendo o pacote “trend


O gerenciamento de pacotes no R envolve as etapas de instalar e carregar:


(1) Para instalar o pacote “trend” que contém a função mk. test que realizada o teste de Mann-Kendall comece selecionando “Instalar pacote(s)...” no menu “Pacotes


(2) Escolha o “CRAN mirror” na janela que se abrirá com uma lista de espelhos e selecione “Brazil (SP 2) [hppts]” e click "Ok"


(3) Selecione o pacote “trend” da lista de pacotes que se abrirá e click "OK"


Terceiro: carregando o pacote “trend” na memória


Esta é uma parte burocrática do R, porém, importante para não sobrecarregar a memória. Quando for utilizar o “trend”, realize o carregamento do pacote.


(1) Selecione Carregar pacotes no menu “Pacotes


(2) Selecionar o pacote “trend” da lista de pacotes instalados que se abrirá e click "OK"


Dados para testar


(1) Para este artigo vamos utilizar um conjunto de dados que foi disponibilizado na instalação do R: o conjunto “Nile” que é uma série temporal relativa à média anual do nível da água do rio Nilo entre 1871 e 1970


(2) Para conhecer os dados, digite Nile na linha de comando e pressione "Enter". Cuidado com a digitação: o R faz diferença entre letras minúsculas e maiúsculas (case-sensitive)


Dica: para limpar a janela do RGui digite CTRL+L



(3) Para plotar os dados, digite plot (Nile) na linha de comando e pressione "Enter"


Teste Mann-kendall com a função mk.test


(1) Carregue os dados na memória digitando o comando: data (Nile)


(2) Aplicar a função estatística de tendência não paramétrica Mann-Kendall: mk.test (Nile)


Como interpretar os resultados


O que significa cada resultado?


S = -1.387000e+03 → Valor da estatística S. um valor negativo para S indica que a maioria das diferenças entre os valores anteriores e posteriores na série temporal é negativa, apontando uma tendência decrescente ao longo do tempo. Semelhantemente, um valor positivo de S indica que a maioria das diferenças entre as medições anteriores e posteriores na série temporal são positivas, apontando uma tendência ascendente ao longo do tempo. Um valor S próximo a zero indica um número quase igual de diferenças positivas e negativas. Assim, valor de S negativo indica tendência de diminuição, valor S positivo indicam uma tendência de aumento e valor S igual a zero indica ausência de tendência.


var$ = 1.127283e+05 → A distribuição da estatística S é aproximadamente normal com média igual a zero


tau = -2.807413e-01 → A estatística S tem intima relação com o coeficiente de correlação de classificação τ de Kendall


Z = -4,1281 → Para um número pequeno de dados, a estatística de teste padronizado Z fornece uma boa aproximação para a distribuição normal e pode ser usada para o teste de hipótese


n = 100 → número de dados na série temporal


p value = 3. 658e-05 → teste estatístico


Interpretação:

*nível de significância α = 0,05


Complementarmente você plotar uma linha suavizada azul para uma avaliação visual da tendência com a seguinte linha de comando: lines(lowess(time(Nile), Nile), col=’blue’)


Esta é só uma pequena amostra de aplicação de pacotes R, há uma infinidade de possibilidades, inclusive a de você criar suas próprias funções. Deixe nos comentários o que você gostaria de ver publicado aqui.



Meu nome é Sergio Matos, sou geólogo e nesta série vou apresentar aplicações em R para o Gerenciamento de áreas contaminadas e Rastreamento de fontes de contaminação.






Posts Em Destaque
Posts Recentes