도입
Stata 연습
- 본 강의는 Stata tutorial 방식으로 진행.
- 저장소에서 zip 파일로 다운로드 받을 수 있음. 다운로드 받지 않아도 되지만 다운로드 받아 놓으면 간편할 것임
exit라고 타이핑하여 Stata를 종료하시오. (iii) Stata를 시작한 후 Command 창에 pwd라고 입력하여 현재 작업 디렉토리가 무엇인지 확인하시오. (iv) Command 창에 ls라고 입력하여 이 디렉토리에 무슨 파일들이 있는지 확인하시오.
- Stata는 Command 창에 직접 입력하여 명령을 실행할 수도 있고 메뉴를 클릭함으로써 가능한 작업들도 있음
- 간단한 작업은 Command 창에 직접 입력하는 것이 간편
- 반복되는 작업은 Stata의 “do” 파일을 이용하여 일괄실행하는 것이 간편함
do 파일을 만들어서(doedit) 다음을 타이핑한 후 원하는 파일 이름으로 저장하고 일괄실행하시오(2행에 올바른 폴더명을 사용할 것).
-
로그 파일을 만들 수도 있음. 시작 위치(
set more off직후)에라고 하고 종료 위치(
set more on직전)에라고 하면 그 사이는
mylog.smcl파일로 저장됨. -
다음 명령으로 pdf 파일도 만들 수 있음
계량경제학의 기초
선형모형
-
선형모형: \(y=\beta_0+\beta_1 x_1 + \beta_2 x_2 + \beta_3 x_3 + u\)처럼 모수(\(\beta_j\))에 대하여 선형인 모형
-
해석이 중요
- 예를 들어 \(\beta_2\) 계수는, \(x_1\)과 \(x_3\)을 통제한 후 \(x_2\)가 한 단위 증가할 때 \(y\)가 \(\beta_2\) 단위만큼 변화할 것으로 예측됨을 의미함
- 여기서 여타 통제변수들(여기서는 \(x_1\)과 \(x_3\))이 통제됨(즉, 값이 고정됨)을 이해하고 언급하는 것이 중요
- 이 부분을 무시하면 해석이 기괴해지는 경우가 많음
- 선형모형의 가장 표준적인 추정 방법은 OLS. Stata에서
reg(regress의 줄임 표현)로 구현.
death1.dta 자료 중 2010년 자료를 이용하여 위 모형을 추정하고, smoke 변수의 계수 추정치를 해석하라. 이 변수는 통계적으로 유의한가? 이 결과는 흡연이 건강에 이로움을 나타내는가? 💡흡연인구비율이 1%p 높은 지역의 인구 1천명당 사망자 수는 0.3425명 적은 것으로 추정됨. 1% 수준에서도 통계적으로 유의함. 상관관계로서 흡연이 건강에 이로움을 나타내지 않음.
deathrate를 smoke와 aged에 대하여 회귀하고 계수 추정치들을 해석하라(aged는 고령인구 비율(%)이다). 앞 연습문제의 결과와 비교하라. 어떻게 된 일인가?
vce(cl region) 옵션을 사용한 이유는 무엇이겠는가?
로그
- 로그 증가분의 크기가 작을 때 로그의 증가분은 증가율과 유사함(100을 곱하면 백분율 증가율)
- 로그 변수의 변화를 증가율로 바꾸어 해석하면 대략적으로 맞음(로그 변화 크기가 작을 때)
- 로그 변화 크기가 크면(0.2~0.3 이상) \(\exp(\Delta \log x)-1\)로 변화율을 정확히 구하는 것이 좋음
- 로그를 취하지 않았으면 단위 + ‘포인트’를 붙이고 말을 자연스럽게 바꿈(예: %p)
- 로그 변수는 퍼센트(100 곱하는 것에 유의). 로그가 없으면 단위 다음에 ‘포인트’를 붙인 후 적당히 보기 좋게(예: %p).
변수 통제와 해석
- 어떤 변수들을 통제하느냐에 따라 해석과 추정값이 크게 달라질 수 있음
hprice1.dta 데이터를 이용하여 ① lprice를 bdrms와 colonial에 대하여 OLS, ② lprice를 bdrms, colonial, lsqrft에 대하여 OLS 하고, 두 결과에서 bdrms 변수의 계수 추정치들은 서로 비슷한가 크게 다른지, 왜 차이가 나는지 설명하라.
sqrft)을 방수(bdrms)로 나누어 로그를 취한 lbdrmsize 변수를 생성한 후 ③ lprice를 bdrms, colonial, lbdrmsize에 대하여 회귀하라. 이 회귀에서 bdrms 변수의 계수 추정치의 의미를 정확히 설명하라. ①, ②, ③ 중 어느 결과가 가장 마음에 드는가? 이유는?
mlb1.dta 데이터를 이용하여 로그 연봉(lsalary)을 메이저리그 경력(years), 연평균 경기 수(gamesyr), 최근 3년 평균 타율(bavg), 연간 홈런(hrunsyr), 연간 타점(rbisyr)에 대하여 회귀하라. 여타 조건이 동일할 때 bavg가 1할 높은 선수는 얼마나 높은 연봉을 받을 것으로 예상하는가? 이 숫자는 합리적인가? 이유는? 홈런을 10개 더 치는 선수는 얼마나 높은 연봉을 받을 것으로 예상하는가? 이 숫자는 합리적인가? ※ 참고로, su years gamesyr bavg hrunsyr rbisyr라고 하여 각 변수들의 평균, 표준편차, 최솟값, 최댓값 등을 알 수 있다.
코드 보기
내생성과 외생성
- 설명변수와 오차항이 독립이면(“설명변수가 외생적”) OLS 추정량은 비편향이고 일치성(consistency)을 가짐
- 반면 설명변수와 오차항이 상관되면(“설명변수가 내생적”) OLS 추정량은 편향되고 inconsistent
- 내생성의 원인으로는 크게 (i) 변수누락(통제하고 싶으나 통제하지 않음)과 (ii) 동시성(좌변과 우변이 동시에 결정됨)이나 역의 인과관계(좌변이 우변을 결정함) 등이 있음
- 시계열 자료의 경우 모형이 잘못 설정되는 경우
(예를 들어 AR(1) 모형에서 시계열상관을 갖는 오차항) 에도 내생성이 발생함
변수누락
wage2.dta 데이터를 이용하여 로그 임금(lwage)을 교육수준(educ, 연수), 경력(exper, 연수), 근속연수(tenure), 결혼여부(married), 흑인여부(black), 남부 거주 여부(south), 도시 거주 여부(urban)에 대하여 회귀하라. 추정된 교육수익률은 얼마인가?
IQ를 추가하라. 추정된 교육수익률은 얼마인가? IQ가 없는 모형의 경우와 비교하여 설명하라.
동시성
wage2.dta 자료를 이용하여 hours (노동시간)를 lwage (로그 임금), age, married, black에 대하여 OLS 회귀하라. lwage의 계수는 어떻게 해석되는가? 이 해석이 상식에 부합하는가? 이러한 결과를 어떻게 설명하겠는가?
내생성 문제의 해결책
- 설명변수가 내생적일 경우 ①모형을 변형하여 설명변수가 외생적이 되도록 하든지, 아니면 ②도구변수(설명변수와 연관된 외생변수)를 별도로 찾아서 도구변수 추정을 해야 함
- 도구변수는 ‘설명변수만을 경유하여 종속변수에 영향을 미치는 변수’여야 함
- 설명변수와 강한 상관이 있어야(relevance)
- 오차항과 상관이 없어야(exogenous)
- 횡단면 분석에서 좋은 도구변수는 보통 찾기가 힘듦.
전통적인 임금 방정식(능력 변수 누락)의 경우 어머니의 교육수준, 수요곡선이라면 비용 관련 변수
wage2.dta를 사용하고 피설명변수가 hours인 회귀)lwage가 내생적인 설명변수라면, 어떤 변수를 도구변수로 사용할 수 있겠는가?
이분산과 이분산에 견고한 추론
-
‘이분산’은 설명변수 값별로 오차 분산이 다른 경우를 지칭함
- 예를 들어, 고학력군 내의 임금격차가 저학력군 내의 임금격차보다 큰 경우
-
‘자기상관’은 비관측 요인들이 서로 상관되는 경우를 지칭함
- 예를 들어, 동일한 가구로부터 추출된 개인들은 동일한 경험을 공유하므로 비관측 요인이 서로 상관될 수 있음
- 시계열 모형에서 오차항은 시간에 걸쳐 상관될 수 있음
-
이분산과 자기상관은 OLS 추정량의 비편향성과 일치성(consistency) 면에는 문제를 일으키지 않음
(시계열 자료의 경우 주의할 것) -
통상적인 표준오차가 잘못되어 통상적인 표준오차를 사용하는 추론(검정)이 잘못됨
-
‘견고한’(robust) 표준오차를 사용하여 타당한 추론(검정)을 할 수 있음
-
‘견고한’ 추론을 할 때에는 무엇에 대하여 견고한지 알고 있어야 함
- 이분산에 대하여 견고한지(HC)
- 이분산과 자기상관에 대하여 견고한지(HAC)
- 아니면 동일 클러스터 내에서는 임의의 상관을 허용하고 상이한 클러스터 간에는 독립인 경우에 견고한지(cluster-robust, 중요함)
-
견고한 표준오차를 사용하기 위해서는 표본크기가 커야 하며, 특히 클러스터 표준오차를 사용하려면 클러스터의 개수가 많아야 함
-
패널 분석에서는 오차항에 시간에 걸친 상관이 있기 쉬우므로 클러스터 표준오차를 사용하는 것이 권장됨
vce 옵션 중 어느 것을 사용하겠는지 설명하라.
- 또한, Het나 AC가 존재할 때 OLS가 BLUE가 아니며, 더 나은 LS 추정방법이 존재한다
(GLS, FGLS, WLS, Prais-Winsten 등) 는 점도 있음- 패널 분석에서는 나중에 RE 회귀할 때 등장함
- 표본크기가 클 때에는 추정의 효율성을 높이는 데 신경을 덜 씀
패널 데이터
- 복수의 개체를 복수의 시간에 걸쳐 추적하여 만든 데이터(‘종단데이터’라고도 함)
-
2차원 구조를 가져 복잡하므로 하첨자(\(i\), \(t\))를 잘 사용할 것
- \(i\)만 있으면 개체 간에는 상이할 수 있으나 시간에 걸쳐서는 동일
- \(t\)만 있으면 시간에 따라 달라지지만 모든 개체에서 동일(시계열 데이터)
- \(i\)와 \(t\)가 모두 있으면 개체 간에도 상이하고 시간에 걸쳐서도 변함
-
패널데이터에서 모든 개체(‘패널’이라 함)들의 관측 시기가 동일하면 균형패널 데이터(balanced panel data), 동일하지 않으면 불균형패널 데이터(unbalanced panel data)
- 불균형패널 데이터가 만들어지는 이유는 관측이 시작되는 시점이 다르거나 패널의 마모(표본이탈) 등으로 중간에 이탈하는 등 다양한 요인이 있을 수 있음
- 불균형패널을 제대로 설명하는 것은 복잡한 면이 있
(고 대부분은 별로 신경쓰지 않) 음
-
Stata에서 패널분석을 하려면 Stata에게 어느 변수가 \(i\) 변수이고 어느 변수가 \(t\) 변수인지 알려 주어야 함.
- 이때
xtset명령을 사용(예:xtset id year).
- 이때
-
패널모형은 패널데이터 내 변수들의 관계를 표현하는 모형
- 예를 들어 \(y_{it} = \alpha + \mathbf{x}_{it}\beta + \mu_i + \varepsilon_{it}\) (즉, \(y_{it} = \alpha_i + \mathbf{x}_{it}\beta + \varepsilon_{it}\))는 선형패널모형
- 첨자를 잘 활용하여 변수들이 어떻게 변하는지 가시적으로 표현해 주는 것이 좋음
-
Stata에서 패널데이터 분석을 하려면 “long form”으로 데이터를 저장하는 것이 좋음(long form이 아닌 것은 wide form)
-
Long form의 예
실제 분석 팁
- ‘원본’ 데이터를 스프레드시트(예: 엑셀)로 관리
- 스크립트를 만들어 ‘원본’ 데이터로부터 ‘분석용’ 데이터를 추출. 다른 사람이 데이터를 달라고 하
(고 꼭 줘야 하) 면 분석용 데이터만 준다. - 스크립트를 만들어 분석용 데이터를 읽어들이고 계량경제 분석을 한다