Stata连享会 主页 || 视频 || 推文 || 知乎 || Bilibili 站
温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
New!
lianxh
命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc
,ihelp
,rdbalance
,gitee
,installpkg
⛳ Stata 系列推文:
作者:张铭鑫 (复旦大学)
邮箱:746548383@qq.com
编者按:以下作者的智慧就像盛开的花朵,而我只是一只沾染了花粉的小小蜜蜂。
What does 'Controlling for' mean in regression? J.M.伍德里奇. 计量经济学导论:现代观点[M]. 中国人民大学出版社, 2003. Judd C M, McClelland G H, Ryan C S. Data analysis: A model comparison approach to regression, ANOVA, and beyond[M]. Routledge, 2017.
目录
在经历数据收集、清洗、回归分析之后,我们终于拿到了朝思暮想的回归结果,但是马上会遇到一个新的问题:如何解读回归结果中的系数?
如果足够幸运 (当然通常都没有这么幸运),我们能够用一个简单回归模型分析感兴趣的问题。例如,在模型 (1) 的回归结果中,回归系数估计值
但是在更普遍的情形下,单变量回归模型的解释力往往是不足的,因此我们需要在回归模型中加入一系列控制变量。为了保持讨论的简洁性,我们主要考虑模型两个解释变量的情况。在回归模型 (2) 中,
上述两个模型中
控制意味着约束由所有解释变量共享的对被解释变量的解释力。为了参悟这一句禅语,不妨考虑如下例子:我们想要探究一个小学生的身高 (height) 和年龄 (age) 对体重 (weight) 的影响,根据生活常识我们可以很容易做出两个假设:
为了验证上述两个假设,我们可能会自然地期望通过回归方程 (3) 与 (4) 对我们已经收集到的数据进行回归分析,并根据回归系数的符号和显著性得出结论。
但是这种做法并不能保证我们得到的结论是正确的,相反,在绝大多数情况下这样得到的结论都是错误的:只有当我们相信一个小学生的年龄和他的身高无关时 (这显然无稽之谈),我们才能通过上述两个模型得到正确的结论。显然,当小学生的年龄和身高相关时,模型 (3) 与模型 (4) 都存在严重的内生性问题,因此回归系数
如果年龄与身高之间并非完全线性相关,那么虽然我们能够猜到年龄更大的学生可能身高更高,但是这两者之间不存在完全的线形关系,即知道一个学生的年龄我们就能准确地知道他的身高 (或者相反),那么一个更合理的模型应当如模型 (5) 所示。
在确定年龄 (age) 与身高 (height) 相关的条件下,我们可以画出如下图所示的三变量因果图。年龄 (age) 与身高 (height) 之间的关系由 Effect 3 与 Effect 4 所描述。
在该图中,我们真正感兴趣的 Effect 1 (
至此我们能够清晰地发现:由于年龄与身高之间共享一部分用以解释体重的信息 (该信息由 Effect 3 和 Effect 4 传递),我们难以在不对两个变量中的某一方 (例如身高) 进行约束的条件下得到另一方的直接影响 (例如年龄)。因此,为了得到直接效应,我们必须约束年龄与身高之间所共享的对体重的解释力。
在方程 (5) 的回归结果中:
在实验室条件下,如果我们感兴趣的是身高对体重的直接影响,就能够在保持控制年龄不变的条件下,通过改变一单位身高的值来直接观测所对应的体重变化,从而直接获得 Effect 1 的大小。注意此时由于年龄是一个固定的值,因此 Effect 2、Effect 3 与 Effect 4 三条机制均被截断,所以此时体重的所有变化都归为身高的效应 Effect 1。
对于经济学家而言,情况往往比实验室条件下更复杂:我们既不能随意控制学生的身高,也不能控制学生的年龄,我们拥有的只是一个观察样本数据库。因此上一小节中那种趋于理想条件下的控制方法也就失去了用场。
不过经济学有经济学的办法。既然我们的目的是要约束解释变量之间所共享的,对被解释变量的解释力所造成的影响,那么一个更“计量经济学”的办法是:从我们感兴趣的被解释变量和解释变量中,直接剔除我们希望加以控制的变量所包含的信息,由此得到不能由控制变量所解释的解释变量与不能由控制变量所解释的被解释变量之间的关系。
假设感兴趣的是学生身高对体重的影响,那么根据我们对于“控制”的理解,我们需要分别从学生的身高和体重中剔除由学生的年龄所决定的部分从而达到约束效果。具体步骤如下:
首先,我们对方程 (4) 进行回归,从而得到回归系数
不难看出,
其次,我们对方程 (6) 进行回归,从而得到回归系数
进一步,从真实的身高中剔除由年龄决定的那一部分,即:
最后,我们只需要估计方程 (7),就能得到回归系数
我们所使用的数据来自 McClelland 等 (2008),该数据集包含 19 名中学生的身高 (height)、年龄 (age)、性别 (sex) 和体重 (weight) 信息。
首先,我们使用模型 (5) 直接进行回归,并观察回归系数。在回归结果中,我们得到了系数
. cnssc install lxhuse, replace // 安装命令
. lxhuse student_weight_height_age.dta, clear
. * 多变量直接回归
. reg weight height age, cformat(%9.3f)
Source | SS df MS Number of obs = 19
-------------+---------------------------------- F(2, 16) = 19.33
Model | 6602.91288 2 3301.45644 Prob > F = 0.0001
Residual | 2732.82396 16 170.801497 R-squared = 0.7073
-------------+---------------------------------- Adj R-squared = 0.6707
Total | 9335.73684 18 518.652047 Root MSE = 13.069
------------------------------------------------------------------------------
weight | Coefficient Std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
height | 3.151 1.071 2.94 0.010 0.880 5.421
age | 2.746 3.567 0.77 0.453 -4.815 10.307
_cons | -134.430 39.725 -3.38 0.004 -218.643 -50.216
------------------------------------------------------------------------------
为了检验我们对于控制的理解是否正确,我们进行逐步回归。在最终的回归结果中,回归系数为
. * 首先从体重剔除年龄的影响
. reg weight age, cformat(%9.3f)
Source | SS df MS Number of obs = 19
-------------+---------------------------------- F(1, 17) = 20.69
Model | 5124.49111 1 5124.49111 Prob > F = 0.0003
Residual | 4211.24573 17 247.720337 R-squared = 0.5489
-------------+---------------------------------- Adj R-squared = 0.5224
Total | 9335.73684 18 518.652047 Root MSE = 15.739
------------------------------------------------------------------------------
weight | Coefficient Std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
age | 11.304 2.485 4.55 0.000 6.060 16.547
_cons | -50.493 33.290 -1.52 0.148 -120.729 19.743
------------------------------------------------------------------------------
. predict weight_hat
. gen weight_tilde = weight - weight_hat
. * 其次从身高中剔出年龄的影响
. reg height age, cformat(%9.3f)
Source | SS df MS Number of obs = 19
-------------+---------------------------------- F(1, 17) = 33.78
Model | 295.902207 1 295.902207 Prob > F = 0.0000
Residual | 148.935765 17 8.76092736 R-squared = 0.6652
-------------+---------------------------------- Adj R-squared = 0.6455
Total | 444.837972 18 24.7132206 Root MSE = 2.9599
------------------------------------------------------------------------------
height | Coefficient Std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
age | 2.716 0.467 5.81 0.000 1.730 3.702
_cons | 26.641 6.261 4.26 0.001 13.433 39.850
------------------------------------------------------------------------------
. predict height_hat
. gen height_tilde = height - height_hat
. * 最后执行简单回归
. reg weight_tilde height_tilde, nocon cformat(%9.3f)
Source | SS df MS Number of obs = 19
-------------+---------------------------------- F(1, 18) = 9.74
Model | 1478.42127 1 1478.42127 Prob > F = 0.0059
Residual | 2732.82509 18 151.823616 R-squared = 0.3511
-------------+---------------------------------- Adj R-squared = 0.3150
Total | 4211.24636 19 221.644545 Root MSE = 12.322
------------------------------------------------------------------------------
weight_tilde | Coefficient Std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
height_tilde | 3.151 1.010 3.12 0.006 1.029 5.272
------------------------------------------------------------------------------
控制意味着约束由所有解释变量所共享的对被解释变量的解释力。在实验室条件下,我们能够通过固定控制变量的值来实现控制;在非实验室条件下,我们能够通过分别从被解释变量与解释变量中剔除由控制变量决定的信息来实现控制。在经济学的语境下,直接使用多元回归模型得到的系数与通过分步回归放的得到的回归系数是相同的。
Note:产生如下推文列表的 Stata 命令为:
lianxh 控制变量, m
安装最新版lianxh
命令:
ssc install lianxh, replace
免费公开课
最新课程-直播课
专题 | 嘉宾 | 直播/回看视频 |
---|---|---|
⭐ 最新专题 | 文本分析、机器学习、效率专题、生存分析等 | |
研究设计 | 连玉君 | 我的特斯拉-实证研究设计,-幻灯片- |
面板模型 | 连玉君 | 动态面板模型,-幻灯片- |
面板模型 | 连玉君 | 直击面板数据模型 [免费公开课,2小时] |
⛳ 课程主页
⛳ 课程主页
关于我们
课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法
等
连享会小程序:扫一扫,看推文,看视频……
扫码加入连享会微信群,提问交流更方便
✏ 连享会-常见问题解答:
✨ https://gitee.com/lianxh/Course/wikis
New!
lianxh
和songbl
命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh