Como realizar um teste de tendência mann-kendall em r


Um teste de tendência Mann-Kendall é usado para determinar se há ou não uma tendência nos dados de séries temporais. Este é um teste não paramétrico, o que significa que não são feitas suposições subjacentes sobre a normalidade dos dados.

As hipóteses de teste são as seguintes:

H 0 (hipótese nula): nenhuma tendência está presente nos dados.

HA (hipótese alternativa): Uma tendência está presente nos dados. (Esta pode ser uma tendência positiva ou negativa)

Se o valor p do teste estiver abaixo de um certo nível de significância (as escolhas comuns são 0,10, 0,05 e 0,01), então há evidências estatisticamente significativas de que uma tendência está presente nos dados da série temporal.

Este tutorial explica como realizar um teste de tendência Mann-Kendall em R.

Exemplo: teste de tendência Mann-Kendall em R

Para realizar um teste de tendência Mann-Kendall em R, usaremos a função MannKendall() da biblioteca Kendall , que utiliza a seguinte sintaxe:

MannKendall(x)

Ouro:

  • x = um vetor de dados, geralmente uma série temporal

Para ilustrar como realizar o teste, usaremos o conjunto de dados PrecipGL integrado da Biblioteca Kendall , que contém informações de precipitação anual para todos os Grandes Lagos de 1900 a 1986:

 #load Kendall library and PrecipGL dataset
library(Kendall)
data(PrecipGL)

#view dataset
PrecipGL

Time Series:
Start = 1900 
End = 1986 
Frequency = 1 
[1] 31.69 29.77 31.70 33.06 31.31 32.72 31.18 29.90 29.17 31.48 28.11 32.61
[13] 31.31 30.96 28.40 30.68 33.67 28.65 30.62 30.21 28.79 30.92 30.92 28.13
[25] 30.51 27.63 34.80 32.10 33.86 32.33 25.69 30.60 32.85 30.31 27.71 30.34
[37] 29.14 33.41 33.51 29.90 32.69 32.34 35.01 33.05 31.15 36.36 29.83 33.70
[49] 29.81 32.41 35.90 37.45 30.39 31.15 35.75 31.14 30.06 32.40 28.44 36.38
[61] 31.73 31.27 28.51 26.01 31.27 35.57 30.85 33.35 35.82 31.78 34.25 31.43
[73] 35.97 33.87 28.94 34.62 31.06 38.84 32.25 35.86 32.93 32.69 34.39 33.97
[85] 32.15 40.16 36.32
attr(,"title")
[1] Annual precipitation, 1900-1986, Entire Great Lakes

Para ver se há tendência nos dados, podemos realizar o teste de tendência de Mann-Kendall:

 #Perform the Mann-Kendall Trend Test
MannKendall(PrecipGL)

tau = 0.265, 2-sided pvalue = 0.00029206

A estatística de teste é 0,265 e o valor p bicaudal correspondente é 0,00029206 . Como este valor p é inferior a 0,05, rejeitaremos a hipótese nula do teste e concluiremos que uma tendência está presente nos dados.

Para visualizar a tendência, podemos criar um gráfico temporal da precipitação anual por ano e adicionar uma linha suave para representar a tendência:

 #Plot the time series data
plot(PrecipGL)

#Add a smooth line to visualize the trend 
lines(lowess(time(PrecipGL),PrecipGL), col='blue')

Gráfico de série temporal com linha suave

Observe que também podemos realizar um teste de tendência de Mann-Kendall ajustado sazonalmente para levar em conta qualquer sazonalidade nos dados usando o comando SeasonalMannKendall(x) :

 #Perform a seasonally-adjusted Mann-Kendall Trend Test
SeasonalMannKendall(PrecipGL)

tau = 0.265, 2-sided pvalue = 0.00028797

A estatística de teste é 0,265 e o valor p bicaudal correspondente é 0,00028797 . Novamente este valor p é inferior a 0,05, portanto rejeitaremos a hipótese nula do teste e concluiremos que uma tendência está presente nos dados.

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *