Como realizar um teste kpss em r (incluindo um exemplo)


Um teste KPSS pode ser usado para determinar se uma série temporal tem uma tendência estacionária.

Este teste utiliza a seguinte hipótese nula e alternativa:

  • H 0 : A série temporal tem tendência estacionária.
  • HA : A série temporal não tem tendência estacionária.

Se o valor p do teste estiver abaixo de um determinado nível de significância (ex. α = 0,05), então rejeitamos a hipótese nula e concluímos que a série temporal não possui tendência estacionária.

Caso contrário, não conseguiremos rejeitar a hipótese nula.

Os exemplos a seguir mostram como realizar um teste KPSS em R.

Exemplo 1: teste KPSS em R (com dados estacionários)

Primeiro, vamos criar alguns dados falsos em R para trabalhar:

 #make this example reproducible
set. seeds (100)

#create time series data
data<-rnorm(100)

#plot time series data as line plot
plot(data, type=' l ') 

Podemos usar a função kpss.test() do pacote tseries para realizar um teste KPSS nestes dados de série temporal:

 library (tseries)

#perform KPSS test
kpss. test (data, null=" Trend ")

	KPSS Test for Trend Stationarity

data:data
KPSS Trend = 0.034563, Truncation lag parameter = 4, p-value = 0.1

Warning message:
In kpss.test(data, null = "Trend"): p-value greater than printed p-value

O valor p é 0,1 . Como este valor não é inferior a 0,05, não rejeitamos a hipótese nula do teste KPSS.

Isso significa que podemos assumir que a série temporal tem uma tendência estacionária.

Nota : O valor p ainda é maior que 0,1, mas o valor mais baixo que a função kpss.test() produzirá é 0,1.

Exemplo 2: teste KPSS em R (com dados não estacionários)

Primeiro, vamos criar alguns dados falsos em R para trabalhar:

 #make this example reproducible

#create time series data
data <-c(0, 3, 4, 3, 6, 7, 5, 8, 15, 13, 19, 12, 29, 15, 45, 23, 67, 45)

#plot time series data as line plot
plot(data, type=' l ') 

Novamente, podemos usar a função kpss.test() do pacote tseries para realizar um teste KPSS nestes dados de série temporal:

 library (tseries)

#perform KPSS test
kpss. test (data, null=" Trend ")

	KPSS Test for Trend Stationarity

data:data
KPSS Trend = 0.149, Truncation lag parameter = 2, p-value = 0.04751

O valor p é 0,04751 . Sendo este valor inferior a 0,05, rejeitamos a hipótese nula do teste KPSS.

Isso significa que a série temporal não é estacionária.

Recursos adicionais

Os tutoriais a seguir fornecem informações adicionais sobre como trabalhar com dados de série temporal em R:

Como traçar uma série temporal em R
Como realizar um teste Dickey-Fuller aumentado em R

Add a Comment

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