Jak wykonać test kpss w r (wraz z przykładem)
Test KPSS można zastosować do ustalenia, czy szereg czasowy ma trend stacjonarny.
W teście tym wykorzystuje się następującą hipotezę zerową i alternatywną:
- H 0 : Szereg czasowy ma trend stacjonarny.
- H A : Szereg czasowy nie ma trendu stacjonarnego.
Jeżeli wartość p testu jest poniżej pewnego poziomu istotności (np. α = 0,05), wówczas odrzucamy hipotezę zerową i stwierdzamy, że szereg czasowy nie ma tendencji stacjonarnej.
W przeciwnym razie nie uda nam się odrzucić hipotezy zerowej.
Poniższe przykłady pokazują, jak wykonać test KPSS w R.
Przykład 1: Test KPSS w R (z danymi stacjonarnymi)
Najpierw utwórzmy fałszywe dane w R, z którymi będziemy mogli pracować:
#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 ')
Możemy użyć funkcji kpss.test() z pakietu tseries , aby przeprowadzić test KPSS na danych szeregu czasowego:
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
Wartość p wynosi 0,1 . Ponieważ wartość ta jest nie mniejsza niż 0,05, nie można odrzucić hipotezy zerowej testu KPSS.
Oznacza to, że możemy założyć, że szereg czasowy ma trend stacjonarny.
Uwaga : Wartość p jest w rzeczywistości nadal większa niż 0,1, ale najniższa wartość, jaką wygeneruje funkcja kpss.test() to 0,1.
Przykład 2: Test KPSS w R (z danymi niestacjonarnymi)
Najpierw utwórzmy fałszywe dane w R, z którymi będziemy mogli pracować:
#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 ')
Ponownie możemy użyć funkcji kpss.test() z pakietu tseries , aby przeprowadzić test KPSS na danych szeregu czasowego:
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
Wartość p wynosi 0,04751 . Wartość ta jest mniejsza niż 0,05, więc odrzucamy hipotezę zerową testu KPSS.
Oznacza to, że szereg czasowy nie jest stacjonarny.
Dodatkowe zasoby
Poniższe samouczki zawierają dodatkowe informacje na temat pracy z danymi szeregów czasowych w języku R:
Jak wykreślić szereg czasowy w R
Jak wykonać rozszerzony test Dickeya-Fullera w R