[Econometrics, 계량경제학] 데이터 구조와 고정 효과(Fixed Effect)
https://www.youtube.com/watch?v=yZOTgQfVfxQ
데이터 구조
- Cross-sectional Data : 여러 유닛, 특정 시점의 정보를 포함 (서베이 등 데이터를 모음)
- Time-Series Data : 하나의 유닛, 시간에 따른 변화 (주식 가격, 국가의 GDP 등)
- Panel (longitudinal) Data : 여러 유닛, 시간에 따른 변화
- 동일한 유닛에 대해 시간에 따른 변화를 관찰할 수 있어야 함
- 즉, 각 시점마다 유닛이 다르거나 유닛 ID가 없어서 추적이 불가능하다면? pooled cross-sectional data 됨
Recall How to Remove the Selection Bias
인과추론을 방해하는 최대의 적은? 선택 편향 (Treatment가 없는 상황에서 Treatment / Control 그룹의 체계적, 체제적인 차이)
결국 우리의 최종 목표는? 비교가능한 control 그룹을 통해 treatment 그룹에 대한 counterfactual을 추정
이러한 selection bias를 일으키는 변수를 confounder (외생변수, 교란변수)라고 부르기로 했었죠?
이러한 confounder는 시간에 따라 변할수도, 변하지 않을 수도 있겠죠? Time-invariant vs Time-varying
인과추론은 Yes or No 답이 있다고 해석하기 보다는
데이터 구조, 특성에 따라서 어떻게 strict한, 즉 신뢰성이 있는 인과추론을 할 수 있는지 파악하는 것이 중요함
Time Series
만약 시계열 데이터에서 treatment 이전의 정보가 없다고 가정한다면?
potential outcome 관점에서 treatment가 없을 때 어떨지 추론해야 하는데 이전 정보가 없다... → 불가능!
즉, treatment 전의 자기 자신의 데이터를 반 드 시 갖고 있어야 '만약 untreated 였다면 어땠을까?' 가정할 수 있음
이는 'treatment 가 없었다면, 시간에 따라 어떻게 변했을까?' 하고 time trend에 대한 가정을 추가함으로써, 가정에서 벗어난 변화를 보고 추가적인 treatment 효과라고 추정하는 것
이러한 모델을 우리는 'interrupted time-series model' 이라고 부른다! treatment가 interruption 역할인 셈
치명적 한계는? uninterrupted group, 즉 Control group이 없음!
time trend에 대해서는 가정할 수 밖에 없음.
seasonal effect, 시간에 따른 추세가 있다던지 가정을 하는데 비교군이 없어서 확인할 방법도 없고...
특정한 변화 패턴이 우리 가정대로 time trend에 의한 건지, treatment에 의한 건지 자기 자신만 놓고 구분하는게 굉장히 어려움
→ 인과추론 관점에서는 한계가 있는 것, 그러니 인과추론을 하고 싶다면 control group이 있는지 꼭 살펴보자
Cross-sectional
control group을 가진 가장 간단한 데이터 형태
특정 시점에서 treated outcome에 대한 counterfactual에 대해서 untreated outcome을 활용함
이게 가능하려면? control group이 모든 측면에서 treatment group과 비교가능해야 함
즉, time-varying과 time-invariant confounder을 모두 고려한 후에도 'treatment 여부' 차이만 존재해야 함
e.g., 무작위 실험: 두 개의 confounder가 다 제어되니 인과추론이 불가능한 건 아니야~
하지만 실험이 아니라 observational data라면? 이러한 가정을 충족하는 control group을 구하는게 쉽지 않다!
그럼 우리가 할 수 있는건? confounder로 고려할 수 있는 변수를 최대한 모아서 regression의 control 변수로 넣어줘야 ...
하지만 또.. 모든 confounder를 어떻게 다 넣니...
Panel Data (longitudinal Data)
이런 관점에서 패널 데이터가 짱임
바로, Fixed effect의 역할이 넣을 수 있기 때문임!
각 unit에 대한 dummy variable을 포함함으로써 시간에 따라 변하지 않는 모든 특성을 설명하는 통제변수 역할을 넣어주게 됨
time-invariant confounder를 통제할 수 있게 되는 것
→ time-varying confounder에 대해서 비교 가능한 control group을 찾으면 인과추론이 가능해짐
e.g., 다른 학교에서 공부하는 학생 재현이와 지수, 민주의 수학점수를 비교해보자!
재현이는 A 학교, 지수는 B 학교, 민주는 C 학교에 다닌다고 하자. 세 학교는 당연히 다른 교육 프로그램을 운영하지.
그러니 그냥 수학 점수만 놓고 비교한다면, 학교의 차이를 간과할 수 있어.
즉, A 학교가 B, C 학교보다 훨씬 좋은 교육을 제공한다면 재현이의 수학 점수가 훨씬 높을 수 있지.
그러니 각 '학교'를 나타내는 더미 변수를 활용함으로써, 다른 학교와 비교되는 특성을 제어할 수 있게 돼.
그러면 온전히 재현이와 지수의 수학 점수를 비교할 수 있겠지?
만약 Treatment 전후의 데이터를 모두 관찰할 수 있다면?
Time-varying confounder를 제어할 찬스가 있음
Treatment를 받기 이전의 Treatment(A)와 Treatment를 받기 이전의 Control group(B, C)간 차이를 통해
완벽하지는 않지만 어느 정도 설명된다.
잘 모르겠다. GPT가 다시 예를 들어줬다.
e.g., 재현이와 지수가 어떤 수학 캠프에 참여하게 되었다! 우리가 알고 싶은건 이 수학 캠프의 효과겠지?
여전히 재현이는 A 학교, 지수는 B 학교에 다닌다고 하자. Treatment(interrupt, shock)는 수학 캠프 참가다.
둘이 다른 학교에 다니고 있다는 건 Fixed Effect 모형으로 반영되었어. (변하지 않는 사실이니 time-invariant)
그런데? 수학 캠프를 참가하기 전후의 재현이와 지수의 '학습 태도', '선생님의 가르침 방식', '가정환경'과 같은 정보가 추가되었다.
이건 시간 흐름에 따라 변하는(Time-varying) 특성이지.
아까 더미변수로서 반영된 학교 별 고정효과는 이미 반영되어 있다. 프로그램 참여가 우리가 보고 싶은 Treatment가 될 것이고, 나머지가 바로 시간에 따라 변하는(Time-varying) Confounder가 될 수 있지. 예를 들어 학생 i의 t 시점에 대한 학습 태도와 같이.
즉, 수학 캠프에 참가하기 전에 재현이와 지수의 갖고 있던 가정환경, 학습태도 등등의 차이를 반영해준거야. 하지만 이 차이는 시간의 흐름에 따라 또 바뀔 수 있다는 약간의 특성이 존재하지?
이제 남은건? 시간에 따른 변화, Time trend
Treatment 없을 때 treatment / control group 의 차이가 시간에 따라 변하는데, 서로 비교가 가능하다면? 인과추론이 된다!
근데... 아까 말한 Fixed Effect 뭔가 이상하지?
각 treatment 이후에 발생한 데이터를 분석하잖아? 이때 time-invariant 한 게 다 흡수되는데, 여기서 treatment의 값도 변하지 않으니 결국 fix effect에 이 treatment의 특성이 다 흡수되어 버린다는 거지. 즉, 원래는 Treatment 이전의 데이터도 있다~
* 이 글만 읽으면 당연히 이해가 어려울 수 있다! 나도 그랬다. 다음 글인 case를 보고 다시 보면 이해가 쉬울지도?
이렇게 생겨야 한다는 뜻이다.
암튼 그럼 Treatment 받기 전의 데이터가 있으면 어떻게 돼?
time-invariant confounder는 잘 제어가 된다.
즉, 이는 더미변수로 같은 유닛만 남겨가면서 time-varying한 특성만 가지고 비교한다는 뜻이다.
→ 그룹 내 비교(Within-group Compaison)가 되는 것이죠~
e.g., 위 그림에서 A 집단끼리 Treatment 이전과 이후 값이 어떻게 변했는지 보는 거죠.
그래. 이제 Time-varying은 어쩔껀데
이제 B와 C 유닛을 보자. control group인데 treatment effect가 추정될까?
treatment가 안들어갔으니 처음부터 끝까지 0으로 고정인데요?
그럼 Treatment 이전 이후 시점이 없는데 within-group comparison을 어떻게 해?
이게 바로 처치 시점이 없어서 Control group이 무시되는 현상인 겁니다.
하지만 시간에 따라 변하는 특성(Time-varying confounder)이 y값에는 분명 녹아있단 말이다.. 관찰되지는 않았어도...
그럼 Shock 이전의 Treatment Group과 Control group 차이와, Shock 이후의 차이가 어떻게 다른지 반영해준다면? 되겠지요?
(쇼크 발생 전의 두 그룹 간 차이 - 쇼크 발생 후의 두 그룹 간 차이)
그걸 가능하게 만드는게 Time Fixed Effect. 해당 시점을 나타내는 dummy variable이다.
시간대를 고정해서, 그룹 간 평균적 차이를 구한 다음 treatment 이후에는 그 차이가 얼마나 커졌는지 분석하는 것
과거의 그룹 간 차이와 대비해서 어떻게 변했는지!
→ unit fixed effect 뿐만 아니라 time fixed effect를 함께 넣는 것이 two-way fixed-effects (TWFE) 모델이며 이게 일반적임
Hausman test
적어도 인과추론 관점에서 이 테스트는 사장되었고, 최근 탑 저널에서도 이 테스트를 통해 Fixed Effect를 쓸지 Random Effect를 쓸지 결정하지 않는다. 인과추론을 위해서는 가장 default로 활용되는게 Fixed Effect이다.
Random Effect에서는 이러한 confounder를 잘 설명하지 못함.
Clustered Standard Errors
보통 Regression에서는 모든 에러가 독립적이라고 가정한다. (independent and identically distributed, i.i.d.)
하지만 패널 데이터 특성상, 동일한 유닛을 반복적으로 관찰하므로 똑같은 유닛은 시간이 흐르더라도 비슷한 요인을 공유하고 있을 것이고
그들의 outcome은 서로 correlation을 가질 확률이 높다.
즉, 패널 데이터는 데이터 구조 상 i.i.d. 가정을 위배할 확률이 높다.
→ unit 별로 clustered standard error를 구함
(cluster 개수, 즉 패널 유닛이 적으면 efficient 하지 않음. 50개는 되어야... 안되면 cluster-bootstrapped standard error 씀)