본문 바로가기
Statistics/Time Series Analysis

TSA - 6. 벡터자기회귀

by bents 2021. 1. 22.

 

1) 개념

  • bi-directional relationship (feedback relationship ; y - x)
    : 모든 변수를 “내생적(endogenous)”으로 다룬다

  • 모든 변수를 예측변수로 하는 식이 존재함(변수 k개 => 예측식 k개)

  • 상수와 모든 변수의 시차 변수(lag;k개)로 구성됨

2) 장점 및 추가 활용법

  • 분명한 해석이 필요 없이 '관련된 변수의 모임'을 예측할 때;

  • 그랑거 인과율 검정(Granger causality)에 기초해, 한 변수가 다른 한 변수를 예측에 유용한 정도 분석할 때;

  • 충격 반응 분석(impulse response analysis), 한 변수가 다른 한 변수에 미치는 충격반응 정도 분석할 때;

  • 예측 분산 분해를 예측할 때 (다른 변수의 효과가 각 변수의 예측 분산의 비율이 될 때)

3) 예측기법

  • 정상성(stationarity)을 나타내면, VAR로 예측합니다

  • 정상성을 나타내지 않으면, 차분(difference)을 구하고, VAR로 예측합니다

  • 정상성이 없지만, 공적분관계 ( 시계열간 정상성을 보이는 선형결합관계 ) 존재하면, VECM(Vector Error correction model)을 포함한 VAR로 예측.

  • 매개변수 설정하기 : 변수개수(K)와 시차값(p) ; VAR에서 추정할 계수의 수는 K+pK2 (또는 식 하나 당 1+pK개). ; 예를 들면, K=5 변수와 p=3 시차값이 있는 VAR에 대해, 추정할 전체 80개의 계수에 대해 식 하나 당 16개의 계수가 있습니다.

  • 변수선택하기 (BIC 사용) ; 추정할 계수가 많아지면, 예측에 들어오는 추정 오차가 커지기 때문에, 변수 적어야함.

    • 실제로는 K를 작게 두고 서로 상관관계가 있는 변수만 포함합니다.

    • 정보기준(information criteria)으로 "시차값(lag)의 수"를 선택함. --> AIC: 시차 값의 수가 크게 선택되는 경향이 있으니 조심해야

# www.statsmodels.org/stable/generated/statsmodels.tsa.vector_ar.vecm.VECM.html
from statsmodels.tsa.vector_ar.vecm import VECM
model = VECM(endog = X_train, k_ar_diff = 1, coint_rank = 2, deterministic = 'co')
res = model.fit()
X_pred = res.predict(steps=10)

'Statistics > Time Series Analysis' 카테고리의 다른 글

TSA - 메인 모델 정리  (0) 2021.02.18
TSA - 7. 그룹회귀  (0) 2021.01.22
TSA - 5. 동적회귀  (0) 2021.01.22
TSA - 4. 자기회귀  (0) 2021.01.22
TSA - 3. 패턴분해  (0) 2021.01.22