인과관계와 상관관계
Spurious Regression
- X와 Y가 관련(인과관계)이 없거나 논리적인 스토리가 없음에도 단순하게 상관성이 높다라고 잘못 결론을 내리는 것
Post Hoc Fallacy
- X 다음에 Y가 일어났으므로 X가 Y의 원인이라고 판단하는, 즉 시간순서가 인과관계를 담보할 것이라는 오류
- 징크스 : 머리를 염색했더니 시험점수가 100점이 나오더라고 믿는 경우
- 오버피팅(Overfitting) : 인과관계가 있는 데이터에서 샘플(Train) 데이터에 치우쳐버린 모델
- Post Hoc Fallacy : 아무런 인과관계가 없는(상관관계는 높더라도) 데이터로 만든 모델
Granger Causality
어떤 현상의 예측에 있어 다른 정보를 이용하는 것이 얼마나 유의미한지 나타내는 척도
- 추론불가한 문제: "닭이 먼저인가 달걀이 먼저인가?" (인과관계)
- 추론가능한 문제: "닭과 달걀의 생성순서 별 서로의 영향력은 어떤가?" (Granger 인과관계)
- 필요성
- 회귀분석에서 독립변수와 종속변수는 경제이론에 의해 이미 결정된 것으로 간주하고 인과관계 확인
- 원인과 결과가 불분명한 경우 함수관계에 대한 명확한 결정은 현실적으로 어려움
- 예시:
- 닭과 달걀의 생산량의 인과관계
- 단기금리와 중기금리와의 인과관계
- 급여인상액과 소비금액의 인과관계
- 광고비지출액와 매출액의 인과관계
- 광고캠페인의 수치형 설정조건과 클릭수와 인과관계
모형의 전재
- 과거의 사건은 현재의 사건을 유발할 수 있지만 미래의 사건은 현재의 사건을 유발할 수 없다(시간 선후)
- 정상성: 정상성 데이터를 가정하므로 독립변수(X)와 종속변수(Y)는 모두 정상성 상태여야 함 (비정상 데이터기반 결과는 오해석 여지가 많기 때문)
- 입력시차: 입력변수로 시차(Lagged) 적용된 변수를 반영해야 하며, 예상되는 시차가 N이라면, 1부터 N까지의 시차 모두를 입력변수로 사용해야 함
- 최종시차: 예상시차 N에 매우 민감하므로 적합한 길이를 선택해야 함
- 통상 연 환산빈도의 2~3배까지: 연별 자료시 2, 분기별 자료시 8, 월별 자료시 24)
- F검정통계량의 유의한 변화에 의해 결정
- 검정방향: 독립변수와 종속변수의 양방향 관련성 비교가 필요하기에 총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
반응형
'Data Analysis & ML > 시계열분석' 카테고리의 다른 글
[시계열분석] 다변량 선형 확률과정 - 거시경제 VAR 모형화 (0) | 2022.02.20 |
---|---|
[시계열분석] 다변량 선형 확률과정 - VAR & IRP (백터자기회귀과정, 임펄스응답함수) (0) | 2022.02.20 |
[시계열 분석] 정확도를 높이기 위한 Prophet 파라미터 활용 (0) | 2022.02.13 |
[시계열 분석] Prophet (0) | 2021.12.19 |
[시계열분석] 시계열 알고리즘 - 선형확률과정의 분석사이클 자동화 (Auto ARIMA)(2) - 항공사 승객수요 Auro-ARIMA 모델링 (0) | 2021.10.17 |