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