본문 바로가기
시계열모델링

시계열 자료의 상관분석과 검정

by 다빈치스탁 2020. 10. 12.
728x90
반응형

jisu.csv
0.08MB

시계열 자료는 인접한 데이터와 상관성을 가질 확률이 높은 편이다. 이러한 특성때문에 허구적인 회귀의 문제가 발생할 수 있고 그렇기 때문에 지난번 포스트에서 차분 안정화 작업을 통해 안정적인 시계열로 변환하는 방법을 알아보았다. 보통의 시계열 자료와 달리 경제학에서 다루는 시계열 자료들은 확정적이 아닌 확률적인 시계열 자료인 경우가 대부분이다. 특히 이러한 확률적 시계열 자료 중에서 무작위의 분포일 경우 백색잡음, 정규분포의 형태를 보이는 경우에는 가우시안 백색잡음 형태라 한다.

 

단순히 차분 시계열의 분포가 안정적이라는 것은 눈으로 봤을 때 직관적으로 추론하는 정도 이지만 이에 대한 통계적 검증을 수행하지는 않았다. 이제 안정성 검증을 수행해 볼 예정인데 그 전에 시계열 자료가 안정적이라는 것의 정의를 먼저 해보자. 시계열 자료의 어떤 윈도우(부분)에서 샘플링을 하더라도 평균과 분산이 일정하고 공분산은 시점 간의 거리에 의해서 결정이 된다는 조건을 만족할 때 시계열을 "약한 *정상 시계열" 혹은 공분산 안정적이라고 표현을 한다. 

 

그렇다면 왜 시계열자료는 안정적이어야 하는가? 상식적으로 생각해 봤을 때 어떤 이코노믹 쇼크가 영구히 지속되는 경우는 없다(?) 아니 아주 아주 높은 확률로 없을 것이다. IMF에 발생했던 금융쇼크가 2020년 까지 이어질 것이다? 논리적 모순점이 있다. 즉, 어떤 시계열에 가해진 충격은 일시적이며 시간이 경과함에 따라 그 효과는 점차 상쇄되어 해당 시계열의 평균값으로 회귀한다고 가정하는 것이 훨씬 논리적이기 때문이다.

 

시계열 자료의 정상성 검정은 첫째 자기상관함수를 이용하는 방법이 있는데 동일한 변수를 시점을 달리하여 관측하였을 때, 시점에 따라 데이터 사이의 상호 연관관계를 나타내는 방법이다. 둘째는 편자기상관의 분석방법인데 연속적인 2개의 시계열 자료에서 상관계수를 구하는데 이때 산정하기 위한 두 변수를 제외한 다른 변수의 영향을 제거한 상태에서의 두 데이터 사이의 순수한 상관계수를 산정하여 정상성을 검정하는 방법이다.

 

자 이제부터는 R을 이용하여 자기상관분석을 통해서 시계열의 정상성을 검정해 보자. 첫번째 언급한 자기상관함수는 R에서 acf를 그리고 두번째 편상관함수는 pacf를 이용한다. 아래의 코드를 이용하여 분석을 수행해보고 나온 결과를 해석해보자.

#작업경로를 지정하는 명령어
setwd("")

mydatat<-read.csv("jisu.csv",
                  header=TRUE, na.strings = "")

mydatat<-na.omit(mydatat)

o1<-mydatat$코스피지수
acf(o1)

d1<-diff(log(mydatat$코스피지수))
acf(d1)

#--------------------원계열------------------
#추세검정에 관한 검정 
t<-seq(1:length(o1))
cor.test(t,o1)
cor.test(t,o1,method = c("spearman"))
cor.test(t,o1,method = c("kendal"))

#독립성 검정
Box.test(o1)

library(tseries)
#정상성 검정
kpss.test(o1)

#잔차의 정규성 검정 
jarque.bera.test(o1)

#단위근 검정(대립가설)
pp.test(o1)
adf.test(o1)


#--------------------차분시계열------------------
#추세검정에 관한 검정 
td<-seq(1:length(d1))
cor.test(td,d1)
cor.test(td,d1,method = c("spearman"))
cor.test(td,d1,method = c("kendal"))

#독립성 검정
Box.test(d1)

#정상성 검정
kpss.test(d1)

#잔차의 정규성 검정 
jarque.bera.test(d1)

#단위근 검정(대립가설)
pp.test(d1)
adf.test(d1)

위 코드를 돌려보면 아래와 같은 그래프를 볼수 있다. 위에서 acf 분석을 수행하면 따로 정의하지 않아도 95% 신뢰구간으로 분석을 하게 된다. 우선 아래의 첫번째 그림과 같이 원계열 분석의 경우 대부분의 자료가 신뢰구간을 벗어나는 형태를 보이고 있으므로 정상성이 결여되어 있다고 판단할 수 있다. 

원계열 데이터에 대한 acf 분석

그리고 아래의 2번 째 그림을 보면 대부분의 자료가 신뢰구간 범위내에 있기 때문에 이러한 시계열은 정상성을 만족한다고 볼 수 있다. 또한 이렇게 분석된 자기상관의 유형에 따라 시계열 분석에 대한 모형의 직관을 얻을 수 있다. 비록 비정상적이긴 하지만 acf가 그림1과 같이 단조감소하는 형태라면 AR 1차, 그림2와 같이 하나의 spike 형태라면 MA 1차로 모델링할 수 있다. 이 밖에도 자기상관의 형태가 진동감소, 주기감소, 마이너스 spike 등에 따라 분석법을 달리하기도 한다. 

차분데이터에 대한 acf 분석

또한 차분하지 않은 원계열 데이터의 검정통계량 들은 유의확률값이 모두 0.05보다 크기 때문에 귀무가설을 기각할 수 없어 시계열이 안정적이지 않음을 나타내고 있다. 단 유의할 점은 저기서 단위근 검정에 관해서는 대립가설을 기준으로 판단하기 때문에 유의확률 값이 작아야 시계열 자료가 안정적이라는 의미가 되니 유의바란다.

728x90
반응형

댓글