25-因果推断中的线性回归
1 线性回归
这里将使用一个案例演示 regress 和 teffects ra 的用法。
案例数据来自 “中国家庭追踪数据”(China Family Panel Studies, CFPS)2010年的数据,该数据集由中国社会科学院和北京大学共同开发,旨在收集中国家庭的社会、经济和人口信息。
数据总共包括 4137 名年龄在25-55 岁之间的成年人,集体如下:
. use "../../Data/causal-inference/cfps2010.dta", clear
. * 查看数据随机十个数据
. list in 1/10
+------------------------------------------------------------------------+
1. | pid | provcd | gender | age | age2 | age3 | lninc | college |
| 110003101 | 北京市 | 男 | 39 | 1521 | 59319 | 11.51293 | 否 |
|------------------------------------------------------------------------|
| hukou | sibling | race | fmedu |
| 农村户口 | 否 | 是 | 缺失 |
+------------------------------------------------------------------------+
+------------------------------------------------------------------------+
2. | pid | provcd | gender | age | age2 | age3 | lninc | college |
| 110005102 | 北京市 | 男 | 48 | 2304 | 110592 | 9.392662 | 否 |
|------------------------------------------------------------------------|
| hukou | sibling | race | fmedu |
| 城镇户口 | 否 | 是 | 否 |
+------------------------------------------------------------------------+
+------------------------------------------------------------------------+
3. | pid | provcd | gender | age | age2 | age3 | lninc | college |
| 110006101 | 北京市 | 男 | 50 | 2500 | 125000 | 10.30895 | 否 |
|------------------------------------------------------------------------|
| hukou | sibling | race | fmedu |
| 农村户口 | 否 | 是 | 缺失 |
+------------------------------------------------------------------------+
+------------------------------------------------------------------------+
4. | pid | provcd | gender | age | age2 | age3 | lninc | college |
| 110009102 | 北京市 | 男 | 53 | 2809 | 148877 | 9.392662 | 否 |
|------------------------------------------------------------------------|
| hukou | sibling | race | fmedu |
| 城镇户口 | 否 | 是 | 否 |
+------------------------------------------------------------------------+
+------------------------------------------------------------------------+
5. | pid | provcd | gender | age | age2 | age3 | lninc | college |
| 110009105 | 北京市 | 男 | 26 | 676 | 17576 | 8.699514 | 是 |
|------------------------------------------------------------------------|
| hukou | sibling | race | fmedu |
| 城镇户口 | 是 | 是 | 是 |
+------------------------------------------------------------------------+
+------------------------------------------------------------------------+
6. | pid | provcd | gender | age | age2 | age3 | lninc | college |
| 110015104 | 北京市 | 男 | 45 | 2025 | 91125 | 10.12663 | 否 |
|------------------------------------------------------------------------|
| hukou | sibling | race | fmedu |
| 城镇户口 | 否 | 是 | 缺失 |
+------------------------------------------------------------------------+
+------------------------------------------------------------------------+
7. | pid | provcd | gender | age | age2 | age3 | lninc | college |
| 110020103 | 北京市 | 男 | 42 | 1764 | 74088 | 9.680344 | 否 |
|------------------------------------------------------------------------|
| hukou | sibling | race | fmedu |
| 城镇户口 | 否 | 是 | 否 |
+------------------------------------------------------------------------+
+------------------------------------------------------------------------+
8. | pid | provcd | gender | age | age2 | age3 | lninc | college |
| 110020104 | 北京市 | 男 | 36 | 1296 | 46656 | 10.30895 | 否 |
|------------------------------------------------------------------------|
| hukou | sibling | race | fmedu |
| 城镇户口 | 否 | 是 | 否 |
+------------------------------------------------------------------------+
+------------------------------------------------------------------------+
9. | pid | provcd | gender | age | age2 | age3 | lninc | college |
| 110020105 | 北京市 | 女 | 40 | 1600 | 64000 | 9.546813 | 是 |
|------------------------------------------------------------------------|
| hukou | sibling | race | fmedu |
| 城镇户口 | 否 | 是 | 是 |
+------------------------------------------------------------------------+
+------------------------------------------------------------------------+
10. | pid | provcd | gender | age | age2 | age3 | lninc | college |
| 110020106 | 北京市 | 女 | 34 | 1156 | 39304 | 8.006368 | 否 |
|------------------------------------------------------------------------|
| hukou | sibling | race | fmedu |
| 城镇户口 | 否 | 是 | 缺失 |
+------------------------------------------------------------------------+
.
1.1 简要的查看一下数据
Contains data from ../../Data/causal-inference/cfps2010.dta
Observations: 4,137
Variables: 12 5 Aug 2022 19:25
-------------------------------------------------------------------------------
Variable Storage Display Value
name type format label Variable label
-------------------------------------------------------------------------------
pid double %12.0g pid 个人id
provcd double %24.0g provcd 省国标码
gender double %12.0g gender 性别
age float %9.0g 年龄
age2 float %9.0g 年龄平方
age3 float %9.0g 年龄三次方
lninc float %9.0g 收入对数
college double %9.0g yesorno 是否上大学
hukou double %12.0g hukou 3岁时户口性质
sibling float %9.0g yesorno 是否独生子女
race double %9.0g yesorno 是否汉族
fmedu float %9.0g fmedu 父母是否上过高中
-------------------------------------------------------------------------------
Sorted by:
分析变量为收入对数 lninc
,核心自变量为是否上大学 college
,该变量取值为 1 表示研究对象读过大学,取值为 0 表示没有读过大学。
基于上述两个变量,可以进行一元线性回归,具体如下:
Source | SS df MS Number of obs = 4,137
-------------+---------------------------------- F(1, 4135) = 508.22
Model | 671.883317 1 671.883317 Prob > F = 0.0000
Residual | 5466.56371 4,135 1.32202266 R-squared = 0.1095
-------------+---------------------------------- Adj R-squared = 0.1092
Total | 6138.44703 4,136 1.48415063 Root MSE = 1.1498
------------------------------------------------------------------------------
lninc | Coefficient Std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
college | .823612 .0365338 22.54 0.000 .7519861 .895238
_cons | 9.353189 .0230235 406.25 0.000 9.308051 9.398327
------------------------------------------------------------------------------
从分析结果可以看出,在不控制任何变量的情况下,college 的回归系数为 0.824 ,其标准误为 0.037。
用回归系数除以标准误即可得到 t 统计量的值,为 22.54,它的 P 值在小数点后三位都是 0,说明 college 对 lninc 的影响是非常显著的。
除此之外,Stata 还报告了置信度为 95% 的置信区间为 [0.752, 0.896]。
需要注意的是,上述标准误以及统计检验结果都是基于独立同分布假定计算的,因此在实际应用中需要谨慎解读。
在显示条件下,该假定通常不能得到满足,因此,建议使用更加稳健的标准误和统计检验。
1.2 使用稳健标准误
使用怀特异方差稳健标准误来调整异方差的影响,使用方法在 regress
命令后使用选项 vce(robust)
。
Linear regression Number of obs = 4,137
F(1, 4135) = 582.05
Prob > F = 0.0000
R-squared = 0.1095
Root MSE = 1.1498
------------------------------------------------------------------------------
| Robust
lninc | Coefficient std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
college | .823612 .0341385 24.13 0.000 .7566823 .8905418
_cons | 9.353189 .0256882 364.10 0.000 9.302826 9.403552
------------------------------------------------------------------------------
从结果中可以看到,使用稳健标准误后,college 的回归系数仍然为 0.824,但其标准误变为 0.034,相比之前略有下降,t 统计量变为 24.13,P 值在小数点后三位都是 0,说明 college 对 lninc 的影响仍然是非常显著的。
由于异方差条件下的标准误和统计检验结果更加可信,因此建议用户在使用 regress
命令时,使用选项 vce(robust)
。
1.3 多阶段整群抽样
用户还可以使用选项 vce(cluster clustvar) 进一步放松误差项之间相互独立的假定。
CFPS 采用的是以地理区域为抽样单位的多阶段整群抽样,这样会导致同一个抽样单位中的样本存在自相关。
为了降低自相关的影响,以调查样本所在省(provcd)为聚类变量,使用选项 vce(cluster provcd)
,计算聚类稳健标准误,命令和结果如下:
Linear regression Number of obs = 4,137
F(1, 24) = 271.17
Prob > F = 0.0000
R-squared = 0.1095
Root MSE = 1.1498
(Std. err. adjusted for 25 clusters in provcd)
------------------------------------------------------------------------------
| Robust
lninc | Coefficient std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
college | .823612 .0500155 16.47 0.000 .7203851 .926839
_cons | 9.353189 .1084703 86.23 0.000 9.129317 9.577061
------------------------------------------------------------------------------
在使用 vce(cluster provcd)
后,college 的回归系数仍然为 0.824,但其标准误变为 0.050,相比之前略有上升,t 统计量变为 16.47,P 值在小数点后三位都是 0,说明 college 对 lninc 的影响仍然是非常显著的。
在这个聚类稳健标准误的结果中,统计检验结果没有受到影响,相比之前,使用聚类稳健标准误的结果最为稳健,因此,后续都将使用此类标准误的分析结果。
上述分析都只包含 college 这一个自变量,在这种情况下,进行因果推断必须满足严格的可忽略性假定。即要求大学学历在研究对象中随机分配,这个假定显然与中国的实际情况相差很远,因此,上述分析结果仅能代表上大学的人和不上大学的人在收入对数上的平均差异,不能解释为大学对收入的因果影响。
1.4 控制变量
为了使回归分析结果具有因果解释的效应,需要在模型中纳入控制变量,以尽可能地满足条件独立假定。
这里我们认为,就这个研究问题来说,研究对象出生时的户口性质(hukou)是一个非常重要的混杂变量。
一方面,由于教育资源分布的城乡不均,城市人比农村人拥有更多考上大学的机会;另一方面,因为劳动力市场上的城乡分割,城市人也比农村人拥有更好的收入前景。
综合这两个方面,有必要在模型分析时控制 hukou 变量。
Linear regression Number of obs = 4,137
F(2, 24) = 219.69
Prob > F = 0.0000
R-squared = 0.1169
Root MSE = 1.1451
(Std. err. adjusted for 25 clusters in provcd)
------------------------------------------------------------------------------
| Robust
lninc | Coefficient std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
college | .798281 .0451727 17.67 0.000 .7050491 .891513
hukou | .2155333 .0611855 3.52 0.002 .0892526 .3418141
_cons | 9.27541 .0993474 93.36 0.000 9.070367 9.480453
------------------------------------------------------------------------------
从上述多元线性回归分析结果可以发现,在控制了 hukou 变量后,college 的回归系数有所下降,变为 0.798,说明之前使用的一元线性回归确实高估了上大学对收入的影响。
1.5 偏回归系数
在控制 hukou 后,college 的回归系数将变为一个偏回归系数,它可以通过两步线性回归得到。
具体来说,第一步回归分析以 college 为因变量,hukou 为自变量,这一步回归分析的目的是获取 college 的残差。
Linear regression Number of obs = 4,137
F(1, 24) = 27.84
Prob > F = 0.0000
R-squared = 0.0137
Root MSE = .48606
(Std. err. adjusted for 25 clusters in provcd)
------------------------------------------------------------------------------
| Robust
college | Coefficient std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
hukou | .116539 .0220861 5.28 0.000 .0709555 .1621224
_cons | .3496532 .0161816 21.61 0.000 .3162561 .3830504
------------------------------------------------------------------------------
接着,使用 predict
命令并结合选项 residuals
获得回归的残差 \(e\) 。
再使用 lninc 作为因变量,\(e\) 作为自变量进行第二步线性回归分析,这一步回归分析的结果就是 college 的偏回归系数。
Linear regression Number of obs = 4,137
F(1, 24) = 321.05
Prob > F = 0.0000
R-squared = 0.1014
Root MSE = 1.155
(Std. err. adjusted for 25 clusters in provcd)
------------------------------------------------------------------------------
| Robust
lninc | Coefficient std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
e | .798281 .044552 17.92 0.000 .7063302 .8902318
_cons | 9.680285 .1232655 78.53 0.000 9.425877 9.934692
------------------------------------------------------------------------------
从这一步回归的分析结果来看,e 的回归系数与之前控制 hukou 以后得到的 college 对 lninc 的回归系数完全相同。
由此可知,通过两步法可以再现多元线性回归张的统计过程。
不过,通过两步法得到的回归系数的标准误是错误的,因为第二步回归无法自动对完整模型中的参数数量进行校正,因此,这里建议用户直接使用多元线性回归进行统计控制。
这里,使用两步法只是为了帮助用户更好地理解多元线性回归的统计控制和偏回归系数的含义。
1.6 对遗漏变量偏差公式进行检验
在多元线性回归中,遗漏变量偏差公式是一个重要的概念,它可以帮助我们理解控制变量对回归系数的影响。
遗漏变量偏差公式(omitted variable bias formula)为:
\[\tau '-\tau = \beta_k \gamma_D\]
根据这个公式,纳入 hukou 变量之后,college 的回归系数的变化量应等于 college 对 hukou 的回归系数与 hukou 与 lninc 的回归系数的乘积。
为了对上述关系进行检验,我们首先将控制 hukou 和不控制 hukou 时 college 的回归系数相减,得到二者的差异:
接下来,以 hukou 为因变量,college 为自变量拟合回归方程,这样就可以得到 college 对 hukou 的回归系数。
然后,将该系数与多元线性回归中 hukou 对 lninc 的回归系数相乘,得到一个值。
Linear regression Number of obs = 4,137
F(1, 24) = 33.17
Prob > F = 0.0000
R-squared = 0.0137
Root MSE = .48812
(Std. err. adjusted for 25 clusters in provcd)
------------------------------------------------------------------------------
| Robust
hukou | Coefficient std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
college | .1175271 .0204066 5.76 0.000 .0754099 .1596443
_cons | .3608661 .0559186 6.45 0.000 .2454558 .4762764
------------------------------------------------------------------------------
这个乘积与 college 的系数变化完全相同,也是 0.025.
这充分说明,遗漏变量偏差计算公式在实践中是完全正确的。
1.7 纳入更多的控制变量
在上大学对收入的影响这个例子中,hukou 虽然是一个重要的混杂变量,但很可能不是唯一的混杂变量。因此,有必要在回归方程中纳入更多的控制变量。
在回归方程包含多个控制变量的情况下, 必须考虑模型的设定问题。
以同时包含 hukou 和 age 两个控制变量为例,如何设定这两个变量的函数形式才能进行最充分的统计控制?
针对这个问题,最简单的答案就是进行饱和回归,即针对 hukou 和 age 的每个取值和所有交互项均设置一个虚拟变量。具体如下:
Linear regression Number of obs = 4,137
F(23, 24) = .
Prob > F = .
R-squared = 0.1501
Root MSE = 1.1316
(Std. err. adjusted for 25 clusters in provcd)
------------------------------------------------------------------------------
| Robust
lninc | Coefficient std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
college | .7477749 .0544757 13.73 0.000 .6353425 .8602073
|
hukou |
城镇户口 | -.0787305 .1418798 -0.55 0.584 -.3715559 .2140949
|
age |
26 | .3980867 .1481415 2.69 0.013 .0923376 .7038358
27 | .2684265 .2134622 1.26 0.221 -.1721377 .7089908
28 | .4034527 .1960134 2.06 0.051 -.0010991 .8080045
29 | .3063752 .2061596 1.49 0.150 -.1191172 .7318677
30 | .808574 .138855 5.82 0.000 .5219914 1.095157
31 | .6390432 .1597057 4.00 0.001 .3094269 .9686596
32 | .3162257 .1835314 1.72 0.098 -.0625646 .6950159
33 | .5423168 .1908591 2.84 0.009 .148403 .9362305
34 | .4480384 .1642828 2.73 0.012 .1089753 .7871016
35 | .4871379 .1332159 3.66 0.001 .2121937 .762082
36 | .7649181 .1431828 5.34 0.000 .4694033 1.060433
37 | .5898895 .1644897 3.59 0.001 .2503994 .9293797
38 | .4446396 .1414918 3.14 0.004 .1526149 .7366642
39 | .3132889 .2152405 1.46 0.158 -.1309457 .7575234
40 | .6295174 .1203586 5.23 0.000 .3811094 .8779254
41 | .7413657 .1649781 4.49 0.000 .4008676 1.081864
42 | .6440224 .1854795 3.47 0.002 .2612115 1.026833
43 | .1100458 .261421 0.42 0.678 -.4295006 .6495921
44 | .3310236 .1953046 1.69 0.103 -.0720652 .7341124
45 | .2092177 .2516651 0.83 0.414 -.3101935 .7286288
46 | .5989884 .1833996 3.27 0.003 .2204702 .9775067
47 | .2833783 .1619895 1.75 0.093 -.0509517 .6177083
48 | .2354062 .1468512 1.60 0.122 -.0676798 .5384923
49 | .4378188 .164764 2.66 0.014 .0977627 .7778749
50 | .0167503 .1750601 0.10 0.925 -.344556 .3780566
51 | -.1610867 .1851799 -0.87 0.393 -.5432792 .2211059
52 | -.1302052 .286344 -0.45 0.653 -.7211901 .4607797
53 | -.0033811 .2062946 -0.02 0.987 -.4291521 .42239
54 | .2233507 .1566927 1.43 0.167 -.1000471 .5467486
55 | .216386 .2374876 0.91 0.371 -.2737643 .7065363
|
hukou#age |
城镇户口#26 | -.0602352 .2412837 -0.25 0.805 -.5582202 .4377497
城镇户口#27 | .4551441 .2638459 1.73 0.097 -.0894072 .9996953
城镇户口#28 | .3544994 .2567836 1.38 0.180 -.1754758 .8844747
城镇户口#29 | .3823274 .297972 1.28 0.212 -.2326564 .9973113
城镇户口#30 | -.0193147 .2555672 -0.08 0.940 -.5467794 .50815
城镇户口#31 | -.0932038 .2561528 -0.36 0.719 -.6218772 .4354696
城镇户口#32 | .6327651 .2259055 2.80 0.010 .166519 1.099011
城镇户口#33 | .1374474 .2483846 0.55 0.585 -.3751932 .650088
城镇户口#34 | .4132721 .2550715 1.62 0.118 -.1131696 .9397139
城镇户口#35 | .2141665 .1854107 1.16 0.259 -.1685025 .5968354
城镇户口#36 | .0205633 .2148722 0.10 0.925 -.4229113 .4640378
城镇户口#37 | -.0448259 .2031256 -0.22 0.827 -.4640566 .3744048
城镇户口#38 | .3187681 .1745486 1.83 0.080 -.0414825 .6790186
城镇户口#39 | .4006106 .234722 1.71 0.101 -.0838317 .8850529
城镇户口#40 | .0135196 .2054592 0.07 0.948 -.4105273 .4375666
城镇户口#41 | -.0207122 .2451003 -0.08 0.933 -.5265743 .4851499
城镇户口#42 | .0024452 .2642466 0.01 0.993 -.5429331 .5478234
城镇户口#43 | .8893687 .3581507 2.48 0.020 .1501819 1.628555
城镇户口#44 | .3810794 .2435123 1.56 0.131 -.1215052 .883664
城镇户口#45 | .5548028 .3701405 1.50 0.147 -.2091297 1.318735
城镇户口#46 | -.0202823 .2068561 -0.10 0.923 -.4472122 .4066477
城镇户口#47 | .1388032 .3315924 0.42 0.679 -.5455699 .8231762
城镇户口#48 | .4089894 .2048096 2.00 0.057 -.0137169 .8316956
城镇户口#49 | .3254708 .2237488 1.45 0.159 -.1363241 .7872657
城镇户口#50 | .65057 .2474684 2.63 0.015 .1398203 1.16132
城镇户口#51 | .7067489 .3553651 1.99 0.058 -.0266886 1.440186
城镇户口#52 | .7470444 .3445403 2.17 0.040 .0359482 1.458141
城镇户口#53 | .694888 .2878366 2.41 0.024 .1008224 1.288954
城镇户口#54 | .4754364 .2742435 1.73 0.096 -.0905744 1.041447
城镇户口#55 | .2745935 .3227371 0.85 0.403 -.3915031 .9406901
|
_cons | 8.937311 .1616701 55.28 0.000 8.60364 9.270982
------------------------------------------------------------------------------
这样做的好处是不存在模型设定的偏差。
但如上所示,饱和回归也会出现待估参数过多的问题。特别是其中包含像 age 这样连续取值的变量时,这个问题会变得更加严重。
为了避免参数过多给模型估计和解释造成的困难,一个可行的解决方案是对控制变量影响因变量的方式进行参数限定,如使用幂函数来近似 age 对 lninc 的影响,不过需要对这种近似的效果进行评估。
为此,用户需要先计算饱和回归的模型拟合指标,具体如下:
Akaike's information criterion and Bayesian information criterion
-----------------------------------------------------------------------------
Model | N ll(null) ll(model) df AIC BIC
-------------+---------------------------------------------------------------
. | 4,137 -6686.381 -6349.885 24 12747.77 12899.63
-----------------------------------------------------------------------------
Note: BIC uses N = number of observations. See [R] IC note.
接下来,使用年龄的一次项(age)、二次项(age3)和三次项(age3)替代虚拟变量,进行线性回归分析,同时计算这个模型的拟合指标:
Linear regression Number of obs = 4,137
F(8, 24) = 88.50
Prob > F = 0.0000
R-squared = 0.1331
Root MSE = 1.1354
(Std. err. adjusted for 25 clusters in provcd)
------------------------------------------------------------------------------
| Robust
lninc | Coefficient std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
college | .7547539 .0501103 15.06 0.000 .6513314 .8581763
|
hukou |
城镇户口 | -.5628695 3.164092 -0.18 0.860 -7.093234 5.967495
age | .6604027 .2081753 3.17 0.004 .23075 1.090055
age2 | -.0152886 .005478 -2.79 0.010 -.0265947 -.0039824
age3 | .0001114 .0000469 2.38 0.026 .0000147 .0002082
|
hukou#c.age |
城镇户口 | .0697643 .2557794 0.27 0.787 -.4581385 .5976671
|
hukou#c.age2 |
城镇户口 | -.0023666 .0067435 -0.35 0.729 -.0162844 .0115512
|
hukou#c.age3 |
城镇户口 | .0000268 .0000577 0.46 0.646 -.0000923 .0001459
|
_cons | .358661 2.584047 0.14 0.891 -4.974549 5.691871
------------------------------------------------------------------------------
Akaike's information criterion and Bayesian information criterion
-----------------------------------------------------------------------------
Model | N ll(null) ll(model) df AIC BIC
-------------+---------------------------------------------------------------
. | 4,137 -6686.381 -6390.917 9 12799.83 12856.78
-----------------------------------------------------------------------------
Note: BIC uses N = number of observations. See [R] IC note.
可以发现,这个模型和之前的饱和回归模型相比,参数数量大大减少,但模型的AIC和BIC却比饱和模型更低,因此,从模型拟合的角度来说,这个模型更加简约,所以可以用年龄的三次函数近似其对 lninc 的影响。
最后,进一步删除上述模型中 age、age2和age3 与 hukou 的交互项后再进行回归分析,同时计算模型拟合指标:
Linear regression Number of obs = 4,137
F(5, 24) = 130.17
Prob > F = 0.0000
R-squared = 0.1304
Root MSE = 1.1367
(Std. err. adjusted for 25 clusters in provcd)
------------------------------------------------------------------------------
| Robust
lninc | Coefficient std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
college | .7483616 .0474037 15.79 0.000 .6505252 .8461981
hukou | .2233219 .0657661 3.40 0.002 .0875874 .3590565
age | .6884785 .143905 4.78 0.000 .3914732 .9854838
age2 | -.0162254 .0037903 -4.28 0.000 -.0240482 -.0084026
age3 | .000122 .0000326 3.74 0.001 .0000546 .0001893
_cons | .0389147 1.813509 0.02 0.983 -3.703984 3.781814
------------------------------------------------------------------------------
Akaike's information criterion and Bayesian information criterion
-----------------------------------------------------------------------------
Model | N ll(null) ll(model) df AIC BIC
-------------+---------------------------------------------------------------
. | 4,137 -6686.381 -6397.289 6 12806.58 12844.54
-----------------------------------------------------------------------------
Note: BIC uses N = number of observations. See [R] IC note.
可以发现,这个模型是三个模型中最简约的,同时其AIC和BIC也是三个模型中最小的。
这说明,只要在模型中纳入 hukou、age、age2 和 age3 这四个主效应项就可以很好近似 hukou 和 age 对 lninc 的影响。
而且,对比这个模型中 college 的回归系数与之前饱和回归中的系数,可以发现二者几乎不存在任何差异(若保留三位小数都是0.748),所以,从统计控制角度来说,这个更加简约的模型与之前的复杂模型几乎也是等价的。
1.8 纳入分类变量
接下来,我们又在模型中纳入了性别(gender)、民族(race)、是否独生子女(sibling)和父母是否读过高中(fmedu)这四个控制变量,他们都是分类变量,因此都以虚拟变量的形式纳入回归方程。具体如下:
note: age omitted because of collinearity.
Linear regression Number of obs = 4,137
F(9, 24) = 234.58
Prob > F = 0.0000
R-squared = 0.1574
Root MSE = 1.1195
(Std. err. adjusted for 25 clusters in provcd)
------------------------------------------------------------------------------
| Robust
lninc | Coefficient std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
college | .7445286 .0441545 16.86 0.000 .6533982 .835659
hukou | .2210093 .0577399 3.83 0.001 .1018401 .3401785
age | .1415978 .0245026 5.78 0.000 .091027 .1921686
age2 | -.001847 .000325 -5.68 0.000 -.0025177 -.0011763
age | 0 (omitted)
gender | .3974689 .0411983 9.65 0.000 .3124397 .482498
race | .1726838 .1016948 1.70 0.102 -.0372039 .3825716
sibling | .1844962 .078748 2.34 0.028 .0219682 .3470241
|
fmedu |
是 | .0219876 .0362712 0.61 0.550 -.0528725 .0968478
缺失 | .0086198 .0391502 0.22 0.828 -.0721823 .0894219
|
_cons | 6.306768 .4785392 13.18 0.000 5.319111 7.294424
------------------------------------------------------------------------------
在控制上述变量后,college 的回归系数下降到了 0.742,那么我们现在是否已经得到上大学对收入的因果影响了呢?
这个问题的答案取决于上述模型是否满足条件独立假定。
就目前来说,研究者依然有比较充分的理由拒绝这个假定,因为上述模型并未控制能力,而在关于教育回报的研究中,能力是一个不可忽视的混杂变量。
不过,因为数据中没有研究对象在大学前的能力测量,这里分析只能到此为止。
考虑到我们进行上述分析的主要目标是向读者演示如何使用线性回归进行因果分析的一般过程,因此,到这一步已经足够了。
1.9 异质性对回归分析的影响
为了使问题得以简化,我们先考虑只有 hukou 这一个控制变量的情况。
我们可以分农村户口和城镇户口分别进行回归分析,具体如下:
Linear regression Number of obs = 2,451
F(1, 24) = 477.21
Prob > F = 0.0000
R-squared = 0.1018
Root MSE = 1.238
(Std. err. adjusted for 25 clusters in provcd)
------------------------------------------------------------------------------
| Robust
lninc | Coefficient std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
college | .873513 .0399865 21.85 0.000 .7909849 .9560412
_cons | 9.249105 .1050262 88.06 0.000 9.032342 9.465869
------------------------------------------------------------------------------
Linear regression Number of obs = 1,686
F(1, 24) = 63.29
Prob > F = 0.0000
R-squared = 0.1097
Root MSE = .99279
(Std. err. adjusted for 25 clusters in provcd)
------------------------------------------------------------------------------
| Robust
lninc | Coefficient std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
college | .6983452 .0877811 7.96 0.000 .5171739 .8795166
_cons | 9.537533 .1003993 95.00 0.000 9.330319 9.744747
------------------------------------------------------------------------------
分析结果显示,农村户口中 college 的回归系数为 0.874,大于城镇户口中 college 的回归系数 0.698,因此,college 对 lninc 的影响在城镇和农村确实存在异质性。
如果因果效应存在异质性,那么线性回归会基于公式
\[\tau'=\sum\frac{Var(D_i|X_i=x)p(X_i=x)}{\sum Var(D_i|X_i=x)p(X_i=x)}\tau'_x\]
对异质性的回归系数进行加权平均。
这个公式的含义是,线性回归会根据每个子群体的回归系数和该子群体的样本量对回归系数进行加权平均。
首先,我们描述一下样本中农村户口和城镇户口的百分比以及两个样本中 college 的分布:
3岁时户 |
口性质 | Freq. Percent Cum.
------------+-----------------------------------
农村户口 | 2,451 59.25 59.25
城镇户口 | 1,686 40.75 100.00
------------+-----------------------------------
Total | 4,137 100.00
. tab college if hukou==0
是否上 |
大学 | Freq. Percent Cum.
------------+-----------------------------------
否 | 1,594 65.03 65.03
是 | 857 34.97 100.00
------------+-----------------------------------
Total | 2,451 100.00
. tab college if hukou==1
是否上 |
大学 | Freq. Percent Cum.
------------+-----------------------------------
否 | 900 53.38 53.38
是 | 786 46.62 100.00
------------+-----------------------------------
Total | 1,686 100.00
.
然后根据公式 \(Var(D_i|X_i=x)p(X_i=x)\) 计算农村户口和城镇户口的样本格子的权重。
对于农村户口样本,其权重为:
对于城镇户口样本,其权重为:
最后,根据公式
\[\tau'-\tau=\beta_k \gamma_D\]
计算加权后的回归系数,具体命令和结果如下:
. dis 134740.37/(134740.37+101409.46)
.57057153
. dis 101409.46/(134740.37+101409.46)
.42942847
. dis 134740.37/(134740.37+101409.46)*.873513 + .6983452*101409.46/(134740.37+1
> 01409.46)
.79829096
.
可以发现,加权平均后的结果为 0.798,而之前在仅纳入 college 和 hukou 的回归分析中得到的 college 的回归系数也是 0.798。
因此,通过上述分析,我们验证了异质性因果效应情况下的回归系数分解公式。
1.10 计算回归调整估计量
接下来,将演示如何使用 teffects ra
命令计算回归调整估计量。
使用 teffects ra
命令计算 ATE(总体的平均干预效应) 的命令和结果如下:
Iteration 0: EE criterion = 2.620e-24
Iteration 1: EE criterion = 9.251e-30
Treatment-effects estimation Number of obs = 4,137
Estimator : regression adjustment
Outcome model : linear
Treatment model: none
------------------------------------------------------------------------------
| Robust
lninc | Coefficient std. err. z P>|z| [95% conf. interval]
-------------+----------------------------------------------------------------
ATE |
college |
(是 vs 否) | .7887353 .0373127 21.14 0.000 .7156038 .8618667
-------------+----------------------------------------------------------------
POmean |
college |
否 | 9.413724 .0271812 346.33 0.000 9.36045 9.466998
------------------------------------------------------------------------------
分析结果显示,在控制 hukou、age、age2、age3、gender、race、sibling 和 fmedu 这些变量后,college 对 lninc 的平均处理效应(ATE)为 0.798,标准误为 0.037,P 值在小数点后三位都是 0。
如果要得到 ATT(干预组的平均干预效应),可以使用选项 atet
,具体命令和结果如下:
Iteration 0: EE criterion = 2.620e-24
Iteration 1: EE criterion = 7.826e-30
Treatment-effects estimation Number of obs = 4,137
Estimator : regression adjustment
Outcome model : linear
Treatment model: none
------------------------------------------------------------------------------
| Robust
lninc | Coefficient std. err. z P>|z| [95% conf. interval]
-------------+----------------------------------------------------------------
ATET |
college |
(是 vs 否) | .6711883 .0416622 16.11 0.000 .589532 .7528446
-------------+----------------------------------------------------------------
POmean |
college |
否 | 9.505613 .0359548 264.38 0.000 9.435143 9.576083
------------------------------------------------------------------------------
分析结果显示,ATT 为 0.671,小于 ATE 的 0.798,这说明在控制了其他变量后,college 对收入的影响在干预组中更小。
如果要得到 ATU(对照组的平均处理效应),需要做一些小调整。
具体来说,我们需要使用选项 control()
和 tlevel()
将干预组和控制组的位置进行交换,即将 college=0 的组作为干预组,college=1 的组作为控制组,这样就可以通过选项 atet
得到 ATU 的估计,相关命令和结果如下:
Iteration 0: EE criterion = 2.620e-24
Iteration 1: EE criterion = 1.079e-29
Treatment-effects estimation Number of obs = 4,137
Estimator : regression adjustment
Outcome model : linear
Treatment model: none
------------------------------------------------------------------------------
| Robust
lninc | Coefficient std. err. z P>|z| [95% conf. interval]
-------------+----------------------------------------------------------------
ATET |
college |
(否 vs 是) | -.866173 .0405392 -21.37 0.000 -.9456283 -.7867176
-------------+----------------------------------------------------------------
POmean |
college |
是 | 10.21936 .0317611 321.76 0.000 10.15711 10.28161
------------------------------------------------------------------------------
分析结果显示,在将干预组和控制组对调位置之后,ATT 为 -0.866,这实际上表明,上大学对 college=0 的那一组人的平均影响为 0.866,即 ATU=0.866。
最后,为了帮助用户更好地理解回归调整估计量,我们将借助 regress 这个命令手动演示其计算过程。
1.11 手动演示计算回归调整估计量
第一步,我们针对 college=0 的样本拟合回归方程,并使用这个方程预测 college=1 的样本在不上大学情况下的反事实结果,具体如下:
. reg lninc hukou age age2 age3 gender race sibling i.fmedu if college==0
Source | SS df MS Number of obs = 2,494
-------------+---------------------------------- F(9, 2484) = 21.72
Model | 299.291704 9 33.2546338 Prob > F = 0.0000
Residual | 3803.21617 2,484 1.53108541 R-squared = 0.0730
-------------+---------------------------------- Adj R-squared = 0.0696
Total | 4102.50787 2,493 1.64561086 Root MSE = 1.2374
------------------------------------------------------------------------------
lninc | Coefficient Std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
hukou | .3400725 .0536769 6.34 0.000 .2348163 .4453286
age | .5876334 .2255975 2.60 0.009 .1452547 1.030012
age2 | -.0140172 .0056768 -2.47 0.014 -.0251491 -.0028854
age3 | .000105 .0000465 2.26 0.024 .0000138 .0001963
gender | .5032089 .0511487 9.84 0.000 .4029104 .6035073
race | .1929442 .1168315 1.65 0.099 -.0361529 .4220413
sibling | .2414546 .0893476 2.70 0.007 .0662513 .416658
|
fmedu |
是 | .0178976 .0790321 0.23 0.821 -.137078 .1728732
缺失 | .0028774 .0613876 0.05 0.963 -.1174987 .1232535
|
_cons | 1.072145 2.916684 0.37 0.713 -4.647238 6.791527
------------------------------------------------------------------------------
. predict y0hat if college==1
(option xb assumed; fitted values)
(2,494 missing values generated)
.
第二步,我们再针对 college=1 的样本拟合同样的回归方程,并使用该方程预测 college=0 的样本在上大学情况下的反事实结果,具体如下:
. reg lninc hukou age age2 age3 gender race sibling i.fmedu if college==1
Source | SS df MS Number of obs = 1,643
-------------+---------------------------------- F(9, 1633) = 12.17
Model | 85.7486412 9 9.5276268 Prob > F = 0.0000
Residual | 1278.30719 1,633 .782796812 R-squared = 0.0629
-------------+---------------------------------- Adj R-squared = 0.0577
Total | 1364.05584 1,642 .83072828 Root MSE = .88476
------------------------------------------------------------------------------
lninc | Coefficient Std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
hukou | .0484465 .0485173 1.00 0.318 -.0467162 .1436091
age | .6205456 .1870398 3.32 0.001 .2536824 .9874087
age2 | -.0143115 .0049184 -2.91 0.004 -.0239586 -.0046644
age3 | .0001088 .000042 2.59 0.010 .0000264 .0001912
gender | .2153348 .044547 4.83 0.000 .1279596 .30271
race | .1548971 .0931465 1.66 0.097 -.0278021 .3375962
sibling | .2273577 .0611421 3.72 0.000 .1074325 .347283
|
fmedu |
是 | .091336 .0511668 1.79 0.074 -.0090234 .1916954
缺失 | .0564651 .0651018 0.87 0.386 -.0712268 .184157
|
_cons | 1.06923 2.310655 0.46 0.644 -3.462931 5.60139
------------------------------------------------------------------------------
. predict y1hat if college==0
(option xb assumed; fitted values)
(1,643 missing values generated)
.
第三步,计算潜在结果 y1 和 y0。
- 对于 college=0 的样本,其lninc 的观测值即 y0,而 y1 可用预测值 y1hat 估计;
- 对于 college=1 的样本,其lninc 的观测值即 y1,而 y1 可用预测值 y0hat 估计。
具体如下:
. gen y0=lninc if college==0
(1,643 missing values generated)
. replace y0=y0hat if college==1
(1,643 real changes made)
. gen y1=lninc if college==1
(2,494 missing values generated)
. replace y1=y1hat if college==0
(2,494 real changes made)
.
第四步,计算个体层面的干预效应 effect,然后对不同样本求平均,即可得到 ATE、ATT和ATU的估计值。具体如下:
. gen effect=y1-y0
. tab college,sum(effect)
是否上 | Summary of effect
大学 | Mean Std. dev. Freq.
------------+------------------------------------
否 | .86617296 1.2711443 2,494
是 | .6711883 .92538643 1,643
------------+------------------------------------
Total | .78873525 1.1502225 4,137
.
分析结果显示,ATE为0.789,ATT为0.671,ATU为0.866,这三个结果均与使用 teffect ra
命令计算得到的结果完全一致。