티스토리 뷰
추정
매칭은 처리군에 속해 있는 사람과 동일한 사람을 통제군에서 골라내는 작업을 지칭한다.
보통 처리군에 속한 사람의 특성 $X$와 동일한(혹은 유사한) $X$를 가진 사람을 통제군에서 골라내어
성과변수 $Y$를 비교한 것이다.
하지만 매칭해야할 $X$의 차원이 커지면, 매칭이 거의 불가능해진다(curse of dimensionality).
$X$ 대신 어떤 점수를 계산하여 이 점수가 동일하면 유사한 사람이라고 볼 수 있다면 차원의 문제는 어느 정도 개선할 수 있게 된다.
이 때 이 점수를 성향점수(propensity score)라고 하고 보통 아래와 같이 정의한다.
$$ P(x)=\Pr(T_{i}=1|X_{i}=x) $$
성향점수 매칭 추정을 하기 위해서는 몇 가지 가정이 필요하지만 여기에서는 소개하지 않겠다. 1
추정을 해보자.
psme1.dta
를 읽어들여보자.
. use psme1, clear
tabstat
을 이용하여 정책변수 $T$ 에 따라서 $Y, x, z$가 어떤 값을 갖는지 살펴보자. $T=1$인 경우와 $T=0$ 인 경우를 비교한 결과를 살펴보자.
$x$와 $z$의 경우도 $T$ 값에 따라서 차이가 나는 것으로 보인다.
. tabstat Y x z, by(T) format(%9.2f) stats(mean sd)
Summary statistics: mean, sd
by categories of: T
T | Y x z
---------+------------------------------
0 | -0.42 -0.24 -0.24
| 1.64 0.96 1.00
---------+------------------------------
1 | 1.89 0.43 0.41
| 1.60 0.93 0.96
---------+------------------------------
Total | 0.35 -0.01 -0.02
| 1.96 1.00 1.03
----------------------------------------
정책수혜 여부에 따라서 Y가 통계적으로 유의한 차이가 발생하고 있는지는 다음과 같은 회귀분석으로 쉽게 구할 수 있다.
회귀분석 결과에 따르면 정책수혜 여부에 따라서 특성 x와 z를 통제한 이후에도 0.98 정도 차이가 있었다.
표준오차는 0.77, t-값은 12.73으로 정책효과가 없다는 귀무가설을 비교적 쉽게 기각할 수 있다.
. reg Y T x z
Source | SS df MS Number of obs = 1,000
-------------+---------------------------------- F(3, 996) = 881.22
Model | 2780.33314 3 926.777714 Prob > F = 0.0000
Residual | 1047.49123 996 1.05169803 R-squared = 0.7263
-------------+---------------------------------- Adj R-squared = 0.7255
Total | 3827.82438 999 3.83165603 Root MSE = 1.0255
------------------------------------------------------------------------------
Y | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
T | .9791484 .0769067 12.73 0.000 .8282306 1.130066
x | 1.031167 .0346941 29.72 0.000 .9630853 1.099249
z | .9927759 .0333297 29.79 0.000 .9273715 1.05818
_cons | .0591595 .0416008 1.42 0.155 -.0224758 .1407948
------------------------------------------------------------------------------
매칭 추정은 teffects
를 이용하여 아래와 같이 추정할 수 있다.
매칭은 성향점수가 유사한 3명과 진행한 결과이다.
. teffects psmatch (Y) (T x z), atet nn(3)
Treatment-effects estimation Number of obs = 1,000
Estimator : propensity-score matching Matches: requested = 3
Outcome model : matching min = 3
Treatment model: logit max = 3
------------------------------------------------------------------------------
| AI Robust
Y | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
ATET |
T |
(1 vs 0) | 1.009557 .0934625 10.80 0.000 .8263737 1.19274
------------------------------------------------------------------------------
처리군과 통제군의 성향점수의 분포는 아래의 그림으로부터 확인할 수 있다.
. teffects overlap, ///
> ptlevel(1) n(1000) ///
> line1opts(recast(area) color(red%30) lwidth(none)) ///
> line2opts(recast(area) color(green%30) lwidth(none)) ///
> legend(ring(0) pos(1) col(1))
note: refitting the model using the generate() option

위 성향점수의 분포는 정책수혜 대상과 비수혜 대상의 성향점수의 분포가 매우 다른 것을 확인할 수 있다.
정책을 받은 사람들($T=1$)의 성향점수는 대체로 0.5 근처에 많이 모여있고 대체로 좌우 대칭으로 보인다. 반면 정책을 받지 않은 사람들($T=0$)의 성향점수는 0 근처에 분포해 있다.
아주 극단적인 경우라면 정책 수혜자들은 성향점수 1에, 정책 비수혜자들은 성향점수 0에 모여 있을 수 있다. 그런 경우라면 평가자는 공통서포트의 가정이 만족되고 있는지를 좀 더 세심히 살펴볼 필요가 있다.
- 필요하신 분은 다른 계량경제학 교과서는 "정책분석을 위한 STATA"를 참고하면 된다, [본문으로]
'STATA' 카테고리의 다른 글
천둥번개와 정책효과: 이중차분추정법 part 1 (0) | 2018.01.04 |
---|---|
도플갱어 PSME: part 3 (예제 2) (0) | 2018.01.01 |
도플갱어 PSME : Part 1 (개요) (0) | 2018.01.01 |
단층과 정책효과 추정: Part 3(비모수적 추정) (0) | 2017.12.27 |
단층과 정책효과 추정: Part 2 (모수적 모형 추정) (2) | 2017.12.26 |