Stata:如何理解回归中的控制

Stata:如何理解回归中的控制| 连享会主页

目录


1. 问题简介

在经历数据收集、清洗、回归分析之后,我们终于拿到了朝思暮想的回归结果,但是马上会遇到一个新的问题:如何解读回归结果中的系数?

如果足够幸运 (当然通常都没有这么幸运),我们能够用一个简单回归模型分析感兴趣的问题。例如,在模型 (1) 的回归结果中,回归系数估计值  的含义是相当明显的: 变化一个单位对  造成的影响。

但是在更普遍的情形下,单变量回归模型的解释力往往是不足的,因此我们需要在回归模型中加入一系列控制变量。为了保持讨论的简洁性,我们主要考虑模型两个解释变量的情况。在回归模型 (2) 中, 的含义就更加复杂:在控制  不变的条件下, 变化一个单位对  造成的影响。

上述两个模型中  系数含义的主要区别是:模型 (2) 强调对回归方程中另一个解释变量  的控制,但是模型 (1) 没有控制其他因素。在文章中写下“在控制了其他因素之后,本文发现……”是没有什么难度的,真正的问题是:当我们宣称自己控制了其他因素的时候,我们在表达什么?

2. 理解控制

2.1 控制的含义

控制意味着约束由所有解释变量共享的对被解释变量的解释力。为了参悟这一句禅语,不妨考虑如下例子:我们想要探究一个小学生的身高 (height) 和年龄 (age) 对体重 (weight) 的影响,根据生活常识我们可以很容易做出两个假设:

  • 身高更高的小学生体重更大;

  • 年龄更大的小学生体重更大。

为了验证上述两个假设,我们可能会自然地期望通过回归方程 (3) 与 (4) 对我们已经收集到的数据进行回归分析,并根据回归系数的符号和显著性得出结论。

但是这种做法并不能保证我们得到的结论是正确的,相反,在绝大多数情况下这样得到的结论都是错误的:只有当我们相信一个小学生的年龄和他的身高无关时 (这显然无稽之谈),我们才能通过上述两个模型得到正确的结论。显然,当小学生的年龄和身高相关时,模型 (3) 与模型 (4) 都存在严重的内生性问题,因此回归系数  与  一定是有偏的。

如果年龄与身高之间并非完全线性相关,那么虽然我们能够猜到年龄更大的学生可能身高更高,但是这两者之间不存在完全的线形关系,即知道一个学生的年龄我们就能准确地知道他的身高 (或者相反),那么一个更合理的模型应当如模型 (5) 所示。

在确定年龄 (age) 与身高 (height) 相关的条件下,我们可以画出如下图所示的三变量因果图。年龄 (age) 与身高 (height) 之间的关系由 Effect 3 与 Effect 4 所描述。

在该图中,我们真正感兴趣的 Effect 1 () 与 Effect 2 () 的大小,但是由于 Effect 3 和 Effect 4 的存在,我们难以直接获得对 Effect 1 和 Effect 2 的度量:当身高 () 变动一单位时,体重 () 的变动由两部分组成,一部分为来自于 Effect 1,另一部分则来自于由于身高变动所导致的年龄 () 变动最终带来的体重的变动,即 Effect 3 * Effect 2。

至此我们能够清晰地发现:由于年龄与身高之间共享一部分用以解释体重的信息 (该信息由 Effect 3 和 Effect 4 传递),我们难以在不对两个变量中的某一方 (例如身高) 进行约束的条件下得到另一方的直接影响 (例如年龄)。因此,为了得到直接效应,我们必须约束年龄与身高之间所共享的对体重的解释力。

在方程 (5) 的回归结果中: 代表着在控制年龄和常数项的条件下,身高增加一单位对体重造成的影响; 代表着在控制身高和常数项的条件下年龄增加一单位对体重造成的影响。

2.2 控制的实现

2.2.1 实验室条件下的实现

在实验室条件下,如果我们感兴趣的是身高对体重的直接影响,就能够在保持控制年龄不变的条件下,通过改变一单位身高的值来直接观测所对应的体重变化,从而直接获得 Effect 1 的大小。注意此时由于年龄是一个固定的值,因此 Effect 2、Effect 3 与 Effect 4 三条机制均被截断,所以此时体重的所有变化都归为身高的效应 Effect 1。

2.2.2 非实验室条件下的实现

对于经济学家而言,情况往往比实验室条件下更复杂:我们既不能随意控制学生的身高,也不能控制学生的年龄,我们拥有的只是一个观察样本数据库。因此上一小节中那种趋于理想条件下的控制方法也就失去了用场。

不过经济学有经济学的办法。既然我们的目的是要约束解释变量之间所共享的,对被解释变量的解释力所造成的影响,那么一个更“计量经济学”的办法是:从我们感兴趣的被解释变量和解释变量中,直接剔除我们希望加以控制的变量所包含的信息,由此得到不能由控制变量所解释的解释变量不能由控制变量所解释的被解释变量之间的关系。

假设感兴趣的是学生身高对体重的影响,那么根据我们对于“控制”的理解,我们需要分别从学生的身高和体重中剔除由学生的年龄所决定的部分从而达到约束效果。具体步骤如下:

首先,我们对方程 (4) 进行回归,从而得到回归系数  与 ,在此基础上我们就能得到体重的拟合值:

不难看出, 代表着由常数项和年龄完全决定的那部分体重,那么要从真实的体重 (weight) 中剔除年龄的影响只需要将两项相减,即:

 就是不能由解释变量 age 以及常数项解释的那一部分体重。

其次,我们对方程 (6) 进行回归,从而得到回归系数  与 ,进而通过相同的思路得到身高的拟合值:

进一步,从真实的身高中剔除由年龄决定的那一部分,即:

 就是不能由解释变量  以及常数项解释的那一部分身高。

最后,我们只需要估计方程 (7),就能得到回归系数 ,即在控制年龄变量和常数项的条件下,身高的一单位变化对体重造成的影响。对比模型 (5) 的回归系数  解读,我们能够发现他们的定义是完全相同的。因此,如果对于控制的理解是正确的,那么在相同的数据集中,我们一定能够预期 。

3. Stata 实例

我们所使用的数据来自 McClelland 等 (2008),该数据集包含 19 名中学生的身高 (height)、年龄 (age)、性别 (sex) 和体重 (weight) 信息。

3.1 多变量直接回归

首先,我们使用模型 (5) 直接进行回归,并观察回归系数。在回归结果中,我们得到了系数  以及 。在控制常数项以及年龄的条件下,身高每增加一单位将会使得体重增加 3.151 个单位;在控制常数项以及身高的条件下,年龄每增加一单位将会使得体重增加 2.746 个单位。

. 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
------------------------------------------------------------------------------

3.2 逐步回归

为了检验我们对于控制的理解是否正确,我们进行逐步回归。在最终的回归结果中,回归系数为 。通过比较直接从多元回归中得到的系数  与从分步回归中得到的系数 ,我们能够发现 。这说明我们对控制的理解是正确的*。

. * 首先从体重剔除年龄的影响
. 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
------------------------------------------------------------------------------

4. 总结

控制意味着约束由所有解释变量所共享的对被解释变量的解释力。在实验室条件下,我们能够通过固定控制变量的值来实现控制;在非实验室条件下,我们能够通过分别从被解释变量与解释变量中剔除由控制变量决定的信息来实现控制。在经济学的语境下,直接使用多元回归模型得到的系数与通过分步回归放的得到的回归系数是相同的。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值