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에서 시계열 데이터로 작업하는 방법에 대한 추가 정보를 제공합니다.

R에서 시계열을 그리는 방법
R에서 증강된 Dickey-Fuller 테스트를 수행하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다