计量经济学中的因果研究框架回顾
给出一个OLS回归估计方程:
y
=
α
+
β
x
+
μ
y=\alpha +\beta x+\mu
y=α+βx+μ
-
方程估计的斜率系数 β = d y d x \beta =\frac{dy}{dx} β=dxdy度量了 x x x对 y y y的因果关系的影响
-
无偏估计量 β \beta β需要满足严格的外生性(exogeneity): c o v ( x , μ ) = 0 cov( x,\mu) =0 cov(x,μ)=0
当残差项 μ \mu μ中包含未被观测到的遗漏变量 ω \omega ω时,其严格外生的假设失效,此时说模型存在内生性endogeneity
。 -
在经济学实证研究中,解决内生性的方法包括:面板数据、工具变量、以及DID等方法
内生性处理之:DID
前言
- 方程中存在遗漏变量问题,或一些混杂因素不可观测。导致一个多元回归方程无法控制所有可能的因变量。例如:
房屋的“外观”和“状态”无法准确量化和表达
在工人工资的研究中,工人的工作热情是一个无法观测的变量 - DID 的思想核心在于消除由于遗漏变量问题带来的估计量偏差。
- DID 的做法需要数据中的研究变量分为两组;并且至少可以在时间维度上分为两期,这也称为处理组
treatment
在时间维度上的差异对比。
一、DID的处理过程
下面用一组例子来展示DID的处理过程:
使用kielmc数据集研究社区中的垃圾焚烧炉对房屋价格的影响,数据集根据时间维度分为1978年数据和1981年数据两组,分别对应建立垃圾焚烧炉的前后时间,数据集的链接放在文末,感兴趣可自行下载。
> str(kielmc)
'data.frame': 321 obs. of 25 variables:
$ year : int 1978 1978 1978 1978 1978 1978 1978 1978 1978 1978 ...
$ age : int 48 83 58 11 48 78 22 78 42 41 ...
$ agesq : num 2304 6889 3364 121 2304 ...
$ nbh : int 4 4 4 4 4 4 4 4 4 4 ...
$ cbd : num 3000 4000 4000 4000 4000 3000 4000 3000 3000 3000 ...
$ intst : num 1000 1000 1000 1000 2000 2000 2000 2000 2000 2000 ...
$ lintst : num 6.91 6.91 6.91 6.91 7.6 ...
$ price : num 60000 40000 34000 63900 44000 46000 56000 38500 60500 55000 ...
$ rooms : int 7 6 6 5 5 6 6 6 8 5 ...
$ area : int 1660 2612 1144 1136 1868 1780 1700 1556 1642 1443 ...
$ land : num 4578 8370 5000 10000 10000 ...
$ baths : int 1 2 1 1 1 3 2 2 2 2 ...
$ dist : num 10700 11000 11500 11900 12100 10000 11700 10200 10500 11000 ...
$ ldist : num 9.28 9.31 9.35 9.38 9.4 ...
$ wind : int 3 3 3 3 3 3 3 3 3 3 ...
$ lprice : num 11 10.6 10.4 11.1 10.7 ...
$ y81 : int 0 0 0 0 0 0 0 0 0 0 ...
$ larea : num 7.41 7.87 7.04 7.04 7.53 ...
$ lland : num 8.43 9.03 8.52 9.21 9.21 ...
$ y81ldist: num 0 0 0 0 0 0 0 0 0 0 ...
$ lintstsq: num 47.7 47.7 47.7 47.7 57.8 ...
$ nearinc : int 1 1 1 1 1 1 1 1 1 1 ...
$ y81nrinc: int 0 0 0 0 0 0 0 0 0 0 ...
$ rprice : num 60000 40000 34000 63900 44000 46000 56000 38500 60500 55000 ...
$ lrprice : num 11 10.6 10.4 11.1 10.7 ...
- attr(*, "time.stamp")= chr "25 Jun 2011 23:03"
DID 的思想在于,当回归的自变量时一个是否施加处理
treatment
的二元虚拟变量指标时,估计的斜率系数是不同处理组treatment
和对照组control
之间的平均结果的差异:
D
I
D
≡
β
^
1
1981
−
β
^
1
1978
(1)
DID\equiv \hat{\beta}_{1}^{1981}-\hat{\beta}_{1}^{1978} \tag1
DID≡β^11981−β^11978(1)
D
I
D
=
(
y
ˉ
1981
,
t
r
e
a
t
m
e
n
t
−
y
ˉ
1978
,
t
r
e
a
t
m
e
n
t
)
−
(
y
ˉ
1981
,
c
o
n
t
r
o
l
−
y
ˉ
1978
,
t
c
o
n
t
r
o
l
)
(2)
DID=( \bar{y}^{1981,treatment}-\bar{y}^{1978,treatment} ) -( \bar{y}^{1981,control}-\bar{y}^{1978,tcontrol} ) \tag2
DID=(yˉ1981,treatment−yˉ1978,treatment)−(yˉ1981,control−yˉ1978,tcontrol)(2)
D
I
D
=
(
y
ˉ
1981
,
t
r
e
a
t
m
e
n
t
−
y
ˉ
1981
,
c
o
n
t
r
o
l
)
−
(
y
ˉ
1978
,
t
r
e
a
t
m
e
n
t
−
y
ˉ
1978
,
t
c
o
n
t
r
o
l
)
(3)
DID=( \bar{y}^{1981,treatment}-\bar{y}^{1981,control}) -( \bar{y}^{1978,treatment}-\bar{y}^{1978,tcontrol}) \tag 3
DID=(yˉ1981,treatment−yˉ1981,control)−(yˉ1978,treatment−yˉ1978,tcontrol)(3)
根据上式可以看出,DID存在两种等效的做法:
- 第一种方式是在不同时期分别比较处理组和对照组的差异
- 第二种方式是在处理组和对照组中分别比较时间维度上的不同
一种更一般化的表达如下所示,回归方程中包含两个虚拟变量dummy variables
以及他们的交乘项interaction term
y = β 0 + β 1 D 1 + β 2 D 2 + β 3 ( D 1 ∗ D 2 ) + μ (4) y=\beta _0+\beta _1D_1+\beta _2D_2+\beta _3\left( D_1*D_2 \right) +\mu \tag4 y=β0+β1D1+β2D2+β3(D1∗D2)+μ(4)
其中, D 1 = 1 D_1=1 D1=1 代表处理组, D 1 = 0 D_1=0 D1=0 代表对照组; D 2 = 1 D_2=1 D2=1 代表处理后的时间段, D 2 = 0 D_2=0 D2=0 代表处理前的时间阶段。方程回归系数表示如下:
D 2 = 0 D_2=0 D2=0 | D 2 = 1 D_2=1 D2=1 | |
---|---|---|
D 1 = 0 D_1=0 D1=0 | β 0 \beta _0 β0(case A) | β 0 + β 2 \beta _0+\beta _2 β0+β2(case B) |
D 1 = 1 D_1=1 D1=1 | β 0 + β 1 \beta _0+\beta _1 β0+β1(case C) | β 0 + β 1 + β 2 + β 3 \beta _0+\beta _1+\beta _2+\beta _3 β0+β1+β2+β3(case D) |
β 3 \beta _3 β3也就是我们上面关注的DID估计量:
β
3
=
[
(
c
a
s
e
D
)
−
(
c
a
s
e
B
)
]
−
[
(
c
a
s
e
C
)
−
(
c
a
s
e
A
)
]
(5)
\beta _3=\left[ \left( case\mathrm{ }D \right) -\left( case\mathrm{ }B \right) \right] -\left[ \left( case\mathrm{ }C \right) -\left( case\mathrm{ }A \right) \right] \tag5
β3=[(caseD)−(caseB)]−[(caseC)−(caseA)](5)
β
3
=
[
(
c
a
s
e
D
)
−
(
c
a
s
e
C
)
]
−
[
(
c
a
s
e
B
)
−
(
c
a
s
e
A
)
]
(6)
\beta _3=\left[ \left( case\mathrm{ }D \right) -\left( case\mathrm{ }C \right) \right] -\left[ \left( case\mathrm{ }B \right) -\left( case\mathrm{ }A \right) \right] \tag6
β3=[(caseD)−(caseC)]−[(caseB)−(caseA)](6)
二、内生性处理
下面我们来解释DID是如何消除由于遗漏变量omitted variables
所带来的内生性endogeneity
和估计偏差(bias):
仍然使用上面的数据按时间分为两组:1978和1981对两组数据分别进行回归,得到处理效应的有偏估计量:
β
^
1
1981
→
β
1
+
O
V
B
1981
\hat{\beta}_{1}^{1981}\rightarrow \beta _1+OVB^{1981}
β^11981→β1+OVB1981
其中OVB是一个由于遗漏变量问题所带来的估计量偏差,导致处理效应的真实估计量
β
1
\beta _1
β1和方程的估计系数
β
^
1
1981
\hat{\beta}_{1}^{1981}
β^11981产生不同。
同样的方法,对1978年的数据进行回归:
β
^
1
1978
→
0
+
O
V
B
1978
\hat{\beta}_{1}^{1978}\rightarrow 0+OVB^{1978}
β^11978→0+OVB1978
如果我们假设:遗漏变量对因变量的影响不随时间的变化而变化:
O
V
B
1978
=
O
V
B
1981
OVB^{1978}=OVB^{1981}
OVB1978=OVB1981
那么通过我们的 DID 估计量就可以获得一个"干净"的无偏估计量
β
1
\beta _1
β1
D
I
D
≡
β
^
1
1981
−
β
^
1
1978
→
β
1
DID\equiv \hat{\beta}_{1}^{1981}-\hat{\beta}_{1}^{1978}\rightarrow \beta _1
DID≡β^11981−β^11978→β1
注意
- DID的假设要求遗漏变量对因变量的影响不随时间变化
- 上文中的处理
treatment
既可以表示政策的实施,也可以用来反映变量的状态 ( D ) 1 \left( D \right) _1 (D)1 - 上文中的时间既可以是来源于两不同时间段的样本,也可以是以某一时点划分的政策的前后、外生事件的冲击(也称为自然实验)
三、平行趋势
简单来说,我们需要表明处理组和对照组在处理前有相似的时间路径(共同趋势)。举个例子:我们是在比较苹果和苹果,而不是苹果和橘子。在处理后,我们希望看到趋势之间的差距,要么发散或收敛。如果两种趋势之间的差距在整个时间内保持不变,那么处理的效果就消失了。