2022년 1월 20일 목요일

시계열 검정

1. 정상성 여부

정상성(Stationarity)이란? 

시계열 데이터와 관측된 시간간의 관계성


정상 시계열은?

추세(Trend)와 계절성(Season)을 나타내지 않는 시계열.

시계열데이터에 추세, 계절성이 있는 비정상 시계열일 경우, 추세와 계절성이 서로 다른 시간에 영향을 주게됨. 


정상성을 갖게 하려면?

로그변환과 1차,2차 차분의 과정을 거친다. 


데이터의 정상성을 알아보는 방법중에 Augmented dickey fuller test (증강 디키-풀러검정)가 있다.

1) 귀무가설: 데이터셋이 비정상 시계열이다.

2) 대립가설: 데이터셋이 정상 시계열이다.


 python의 statsmodels 라이브러리에 adfuller 검정이 구현되어 있다.


statsmodels.tsa.stattools.adfuller(xmaxlag=Noneregression='c'autolag='AIC'store=Falseregresults=False)


maxlag : {None,int} ADF 검정에 사용할 시차의 수

regression

'c' : 상수항만 사용(추세 없다고 가정)

'ct': 상수항과 1차 추세 사용

'ctt': 상수항과 1차 추세, 2차 추세사용

'autolag': 검정 AR모형의 차수를 자동으로 결정하는 기준 {'AIC','BIC','t-test',None}

'nc': 상수항, 추세 없음 DF test  

 

2. 시계열 간 인과관계 (그래인저 인과관계)


그래인저 인과관계란, 일정 시간대(한달 전)의 A의 데이터가 현재의 B의 데이터에 대해서 선형회귀를 할 수 있다면 그래인저 인과관계가 있다고 하는 것. 

예) 5일전의 원유가격과 현재의 가솔린의 가격  

그래인저 인과관계 검정을 통해서 알아볼 수 있다. 주의해야할 점은 정상시계열을 전제로 수행한다.

1) 귀무가설: 그래인저 인과관계 없다.

2) 대립가설: 그래인저 인과관계가 있다.

그래인저 인과관계 또한 statsmodels에 구현되어 있다. 


statsmodels.tsa.stattools.grangercausalitytests(x,maxlag,addconst=True,verbose=True)

 


 

 


Share:

0 comments:

댓글 쓰기