R에서 kpss 테스트를 수행하는 방법(예제 포함)
KPSS 테스트를 사용하여 시계열에 고정 추세가 있는지 여부를 확인할 수 있습니다.
이 테스트에서는 다음과 같은 귀무 가설과 대립 가설을 사용합니다.
- H 0 : 시계열에 고정된 추세가 있습니다.
- H A : 시계열에는 고정 추세 가 없습니다 .
검정의 p-값이 특정 유의 수준(예: α = 0.05)보다 낮으면 귀무 가설을 기각하고 시계열에 고정 추세가 없다는 결론을 내립니다.
그렇지 않으면 귀무가설을 기각하지 못할 것입니다.
다음 예에서는 R에서 KPSS 테스트를 수행하는 방법을 보여줍니다.
예제 1: R의 KPSS 테스트(고정 데이터 포함)
먼저 R에서 작업할 가짜 데이터를 만들어 보겠습니다.
#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 ')
tseries 패키지의 kpss.test() 함수를 사용하여 이 시계열 데이터에 대해 KPSS 테스트를 수행할 수 있습니다.
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
p-값은 0.1 입니다. 이 값은 0.05 이상이므로 KPSS 검정의 귀무가설을 기각할 수 없습니다.
이는 시계열에 고정된 추세가 있다고 가정할 수 있음을 의미합니다.
참고 : p-값은 실제로 여전히 0.1보다 크지만 kpss.test() 함수가 생성하는 가장 낮은 값은 0.1입니다.
예제 2: R의 KPSS 테스트(비정상 데이터 사용)
먼저 R에서 작업할 가짜 데이터를 만들어 보겠습니다.
#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 ')
이번에도 tseries 패키지의 kpss.test() 함수를 사용하여 이 시계열 데이터에 대해 KPSS 테스트를 수행할 수 있습니다.
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
p-값은 0.04751 입니다. 이 값이 0.05보다 작으므로 KPSS 검정의 귀무가설을 기각합니다.
이는 시계열이 고정 되어 있지 않음을 의미합니다.
추가 리소스
다음 튜토리얼은 R에서 시계열 데이터로 작업하는 방법에 대한 추가 정보를 제공합니다.