이번 포스트는 2요인 고정효과 모형에 관해서 AWS 에서 직접 실습할 수 있도록 하는 포스트이다. US.Virginia 버젼으로 AWS S3, Glue, Athena 를 사용하고 있는데, Seoul 로 하면 인터페이스가 달라보인다. 그래도 주요 기능은 바뀌지 않을 것이라고 가정하고 포스팅해보겠다.
AWS S3 에 나는 hyeok/paperabtest/ 폴더에 ab_data.csv 파일을 저장해두었다.
AWS Glue
왼쪽 탭에서 Crawlers 를 클릭한다.
클릭하면, 이전에 실행했던 클롤러들에 관한 화면이 나온다. 우측에 "Create crawler" 를 클릭한다.
스텝 1, ... , 5 가 있는데, 설명대로 읽어주면 된다.
나는 paperabtest 라는 테이블에 저장을 했다.
AWS Athena 화면
Athena 화면에서 paperabtest 테이블을 열어서 SQL 쿼리를 실행할 수 있다.
2요인 고정효과 모형효과를 위해서 de-meaning (week 나 firm 별로 각 변수들의 평균을 구한 다음에 원래 변수에 빼주기 등) 을 하는 코드이다.
-- (Project: PaperABtest)
SELECT week_id, firm_id, log1p_pageviews, using_ab_only, log1p_stack2,
log1p_pageviews - AVG(log1p_pageviews) OVER (PARTITION BY week_id) AS demW_log1p_pageviews,
using_ab_only - AVG(using_ab_only) OVER (PARTITION BY week_id) AS demW_using_ab_only,
log1p_stack2 - AVG(log1p_stack2) OVER (PARTITION BY week_id) AS demW_log1p_stack2,
log1p_pageviews - AVG(log1p_pageviews) OVER (PARTITION BY firm_id) AS demF_log1p_pageviews,
using_ab_only - AVG(using_ab_only) OVER (PARTITION BY firm_id) AS demF_using_ab_only,
log1p_stack2 - AVG(log1p_stack2) OVER (PARTITION BY firm_id) AS demF_log1p_stack2,
log1p_pageviews - AVG(log1p_pageviews) OVER () +
AVG(log1p_pageviews) OVER () - AVG(log1p_pageviews) OVER (PARTITION BY week_id) -
AVG(log1p_pageviews) OVER (PARTITION BY firm_id) AS demWF_log1p_pageviews,
using_ab_only - AVG(using_ab_only) OVER () +
AVG(using_ab_only) OVER () - AVG(using_ab_only) OVER (PARTITION BY week_id) -
AVG(using_ab_only) OVER (PARTITION BY firm_id) AS demWF_using_ab_only,
log1p_stack2 - AVG(log1p_stack2) OVER () +
AVG(log1p_stack2) OVER () - AVG(log1p_stack2) OVER (PARTITION BY week_id) -
AVG(log1p_stack2) OVER (PARTITION BY firm_id) AS demWF_log1p_stack2
FROM paperabtest.paperabtest;
코드 실행하면, 아래 그림과 같이 결과값이 de-mean 된 변수들이 포함된 데이터가 출력되는데, ab_dataDeMean.csv 로 저장해주었다.
그 다음 스텝은 위 데이터를 이용해서 회귀식을 돌려보는 것이다. 구글 콜랩에 pap3rdDiDtable2_SQL.ipynb 파일에 회귀식을 돌렸다. 결과는 원래 논문의 결과값과 동일하게 나타난다.
'인과추론' 카테고리의 다른 글
이중차분 (Difference-inDifference), Synthetic Control (0) | 2023.04.28 |
---|---|
정책의 점진적인 도입 효과를 추론하고 싶다면? (two-way fixed effects model) (0) | 2023.04.02 |
[파이썬 코드] 2요인 고정효과 모형 (0) | 2023.04.02 |
[인과추론 테크 회사 리포트/리서치 논문 모음 (링크) (0) | 2022.05.30 |
[인과추론] 매칭 (feat. PSM) (0) | 2022.05.17 |