Data Analysis & ML/시계열분석

[시계열분석] 다변량 선형 확률과정 - 그랜져 인과관계 (Granger Causality)

YSY^ 2022. 6. 6. 21:12

인과관계와 상관관계

Spurious Regression

  • X와 Y가 관련(인과관계)이 없거나 논리적인 스토리가 없음에도 단순하게 상관성이 높다라고 잘못 결론을 내리는 것

[시계열분석] 다변량 선형 확률과정 - 그랜져 인과관계 (Granger Causality) 0
아이스크림 판매량과 상어에 물리는 케이스는 여름이라서 증가하는것이 둘이 관계가 있어서 같이 증가하는 것이 아님.

Post Hoc Fallacy

  • X 다음에 Y가 일어났으므로 X가 Y의 원인이라고 판단하는, 즉 시간순서가 인과관계를 담보할 것이라는 오류
    • 징크스 : 머리를 염색했더니 시험점수가 100점이 나오더라고 믿는 경우
    • 오버피팅(Overfitting) : 인과관계가 있는 데이터에서 샘플(Train) 데이터에 치우쳐버린 모델
    • Post Hoc Fallacy : 아무런 인과관계가 없는(상관관계는 높더라도) 데이터로 만든 모델  

[시계열분석] 다변량 선형 확률과정 - 그랜져 인과관계 (Granger Causality) 1
시간상으로 봤더니 암환자와 휴대폰사용량이 비슷하게 증가하는것처럼 보이나 실제로는 아무 상관이 없음

 

Granger Causality

어떤 현상의 예측에 있어 다른 정보를 이용하는 것이 얼마나 유의미한지 나타내는 척도

  • 추론불가한 문제: "닭이 먼저인가 달걀이 먼저인가?" (인과관계) 
  • 추론가능한 문제: "닭과 달걀의 생성순서 별 서로의 영향력은 어떤가?" (Granger 인과관계) 
  • 필요성
    • 회귀분석에서 독립변수와 종속변수는 경제이론에 의해 이미 결정된 것으로 간주하고 인과관계 확인
    • 원인과 결과가 불분명한 경우 함수관계에 대한 명확한 결정은 현실적으로 어려움
  • 예시:
    • 닭과 달걀의 생산량의 인과관계
    • 단기금리와 중기금리와의 인과관계
    • 급여인상액과 소비금액의 인과관계
    • 광고비지출액와 매출액의 인과관계
    • 광고캠페인의 수치형 설정조건과 클릭수와 인과관계

 

모형의 전재

  • 과거의 사건은 현재의 사건을 유발할 수 있지만 미래의 사건은 현재의 사건을 유발할 수 없다(시간 선후)
  • 정상성: 정상성 데이터를 가정하므로 독립변수(X)와 종속변수(Y)는 모두 정상성 상태여야 함 (비정상 데이터기반 결과는 오해석 여지가 많기 때문)
  • 입력시차: 입력변수로 시차(Lagged) 적용된 변수를 반영해야 하며, 예상되는 시차가 N이라면, 1부터 N까지의 시차 모두를 입력변수로 사용해야 함
  • 최종시차: 예상시차 N에 매우 민감하므로 적합한 길이를 선택해야 함
    • 통상 연 환산빈도의 2~3배까지: 연별 자료시 2, 분기별 자료시 8, 월별 자료시 24)
    • F검정통계량의 유의한 변화에 의해 결정
  • 검정방향: 독립변수와 종속변수의 양방향 관련성 비교가 필요하기에 총2회의 검정을 수행해야 함
[시계열분석] 다변량 선형 확률과정 - 그랜져 인과관계 (Granger Causality) 2
  • 자동화가능성: 여러가지 데이터에 일반화해서 자동화하기 어려움 
  • 주의사항: 
    • 무조건적 인과관계를 단정할 수 없음
    • 시간 선후가 유의미한 맥락을 갖는 시계열에 적용할 수 있고, 시간선후 기간기준에 따라 Granger 인과관계가 있게 될 수 있음
    • 상관관계를 두고 인과관계가 없다는 증명으로 간단히 볼 수는 있지만, 보이지 않는 요소들도 고려되어야 확실함

 

Granger 인과관계 테스트

가설확인 (t검정과 유사하며, 2번 검정 진행)

  • 대중주장(귀무가설, Null Hypothesis, H0): 한 변수가 다른 변수를 예측하는데 도움이 되지 않는다 (β = 0)
  • 나의주장(대립가설, Alternative Hypothesis, H1): 한 변수가 다른 변수를 예측하는데 도움이 된다 (β ≠ 0)

의사결정(1회 검정)

  • p-value >= 내기준(ex. 0.05): 내가 수집한(분석한) 데이터는 대중주장과 유사하니 대중주장 참 & 나의주장 거짓
    • 수집한(분석한) 데이터는 한 변수가 다른 변수를 예측하는데 도움되지 않는다
  • p-value < 내기준(ex. 0.05): 내가 수집한(분석한) 데이터는 대중주장을 벗어나니 대중주장 거짓 & 나의주장 참
    • 수집한(분석한) 데이터는 한 변수가 다른 변수를 예측하는데 도움된다 

의사결정(2회 검정 비교)

  • "Y lags로만 Y의 데이터를 선형회귀한 것의 예측력(p-value)" > "X lags + Y lags로 Y의 데이터를 선형회귀한 것의 예측력(p-value)"   
    • 수집한(분석한) 데이터는 X변수가 Y변수를 예측하는데 도움되지 않는다
  • "X lags + Y lags로 Y의 데이터를 선형회귀한 것의 예측력(p-value)" > "Y lags로만 Y의 데이터를 선형회귀한 것의 예측력(p-value)"   
    • 수집한(분석한) 데이터는 X변수가 Y변수를 예측하는데 도움된다   

결과 해석

1. "X가 Y에 인과영향을 준다" + "Y는 X에 인과영향을 주지 않는다" 

  • X가 Y에 선행한다고 볼 수 있기에, X가 Y의 인과요인이 될 가능성이 높음  

2. "Y가 X에 인과영향을 준다" + "X는 Y에 인과영향을 주지 않는다" 

  • Y가 X에 선행한다고 볼 수 있기에, Y가 X의 인과요인이 될 가능성이 높음

3. "X가 Y에 인과영향을 준다" + "Y도 X에 인과영향을 준다" 

  • 쌍방으로 Granger Causality가 성립하는 경우로 이 경우 제3의 외부변수(Exogenous Variable)가 영향을 공통으로 주었을 가능성이 높음 
  • 제3의 외부변수(Exogenous Variable)를 알아내던가 포기하던가 해야하며, VAR모형을 사용해야 할 수 있음(Granger Causality도 VAR모형 중 하나) 

   4. "X가 Y에 인과영향을 주지 않는다" + "Y도 X에 인과영향을 주지 않는다"   

  • 두 변수가 서로 인과영향을 주지 않는다고 볼 수도 있지만 단언은 어려움 
  • ARIMA모형으로 추가 확인이 가능할 수 있음 
  • 입력되는 최종 시차에 따라 달라질 수 있으므로 시차에 따른 해석을 달리 할 수도 있음(사람의 경험과 판단이 개입되어야 함)

 

해당 포스팅은 패스트캠퍼스의 <파이썬을 활용한 시계열 데이터 분석 A-Z 올인원 패키지> 강의를 듣고 정리한 내용입니다

728x90
반응형