作者:付一帆 (天津大学)
邮箱:yifanfu_0912@tju.edu.cn
温馨提示: 文中链接在微信中无法生效。请点击底部「阅读原文」。或直接长按/扫描如下二维码,直达原文:
目录
1. 控制的正确打开方式
2. 控制实现的理论基础
2.1 前序知识矩阵投影
2.2 证明 FWL 定理
2.3 证明 OLS 与分步回归具有等价性
2.4 Stata 验证
3. FWL 定理的应用
3.1 求解某一变量的系数
3.2 去除时间或季节趋势
4. 参考文献
5. 相关推文
在实证研究中,为讨论因变量和自变量之间的因果关系,常常需要加入控制变量来排除其他因素的干扰。例如,研究子女上学年限对工资的影响,线性回归模型为:
其中 是年工资 (元),核心解释变量 是子女上学年限 (年),控制变量 是母亲上学年限 (年)。控制母亲上学年限最直观的方式是联想早期回归分析实验中的控制变量法,保证所有样本的母亲上学年限均相同。这样,子女上学年限变化导致工资的波动可以归因为子女上学年限对工资因果效应。
然而,这种保持其他因素不变或者控制其他因素在相同水平的方法只适用于实验数据,在观测数据中却很难做到。在实验中,可以轻易控制某一变量在不同个体之间保持相同水平,而获取观测数据时,由于不能对获得的样本值进行限制,我们很少能奢侈地保持某些变量不变。
那么,在非实验条件下如何剔除控制变量的干扰呢?控制变量究竟是如何被 “控制” 的呢?
在介绍原理之前,首先观摩一下控制的正确打开方式。所谓的控制,本质上是一种 Partial out (排除影响) 的思想。
这里必须要提到的定理是 Frisch–Waugh–Lovell theorem (弗里希-沃定理,简称 FWL 定理):多元回归中任何单一变量的系数,可以通过分步回归剔除回归模型中其他变量对因变量和自变量的影响后得到。具体而言,弗里希-沃定理分步回归的步骤如下:
首先,将 与 进行回归:,得到的残差 剔除了 对 的影响,只包含 不能解释的 部分,即图中 去除了 能解释的 D+C 部分后剩下的 A+B 部分。
其次,将 与 进行回归:,得到的残差 剔除了 对 的影响,只包含 不能解释的 部分,即图中 去除了 能解释的 E+C 部分后剩下的 B+F 部分。
最后,将 与 进行回归,因为 与 均值都为零,所以该回归模型不必带有截距项,回归方程:,得到的 被称为偏相关系数,指在控制变量 后 对 的净效应,即图中 A+B 部分与 B+F 部分重合的 B 部分。
上述分步回归的过程虽然剔除了控制变量的影响,但是大家可能不免疑惑:
reg Y X Z
命令就认为已经控制变量了呢?为了回答上述两个问题,我们将:
在证明前,首先了解矩阵投影的前序知识,矩阵投影的部分结论将在证明中得到应用。一维空间的矩阵投影如图所示:
其中, 是 在 上的投影。 和 是同向的,故可以表示为 , 是标量。根据 和 正交的条件,可以推导出 ,则:
记 为投影矩阵,说明在一维空间中,向量 在 上的投影 是由投影矩阵 作用在 上得到的。 是误差向量,表示为:
记 为残差生成矩阵,说明在一维空间中,误差向量 是由残差生成矩阵 作用在 上得到的。
将一维空间的矩阵投影推广到多维空间,向量 变成矩阵 。记 的列空间包含两个向量 、,向量 在 空间上的投影为 ,则:
误差向量 垂直于列空间的平面,故:
此时投影向量 的形式为:
记 为投影矩阵,说明在多维空间中,向量 在矩阵 上的投影 是由投影矩阵 作用在 上得到的。同样,误差向量 是由残差生成矩阵 作用在 上得到的。
一维空间:
多维空间:
具体而言,假设线性回归方程为:
OLS 的估计量 是使得残差平方和最小的 ,符合以下条件:
将核心解释变量表示为 ,控制变量表示为 ,其中 。 表示为:
表示为:
根据 得到:
根据矩阵乘法得到:
进一步得到:
将 带入 得到:
根据矩阵投影 的性质:
根据矩阵投影 的性质,得到:
根据残差生成矩阵 的对称性及幂等性:
因此 可以重新写为:
其中,,。 是 对 做回归后得到残差向量, 是 对 做回归后得到残差向量。 公式即为 FWL 定理。
对比 OLS 估计量 的含义是 对 做回归的回归系数, 可以理解为被解释变量对控制变量做回归后的残差向量 与核心解释变量对控制变量做回归后的残差向量 再做回归得到的系数,此系数就是 对 的回归系数,(1) 证毕。
上面利用 FWL 定理进行分步回归估计的核心解释变量系数是:
假设用 OLS 回归估计线性回归方程:
在上式两边同时乘以 ,得到:
根据一维空间矩阵投影 的性质:
根据多维空间矩阵投影 及 的性质:
因此,
我们发现,用 OLS 估计得到的 与利用 FWL 定理进行分步回归估计的核心解释变量系数 完全一致,(2) 得证。
接下来,我们用 Stata 验证 OLS 回归与 FWL 定理分步回归结果一致。首先,调用 Stata 自带的 auto 数据集。其中,被解释变量是 ,核心解释变量是 ,控制变量是 和 。线性回归方程是:
. sysuse auto,clear
. rename (price mpg weight length) (Y x1 x2 x3)
. reg Y x1 x2 x3
Source | SS df MS Number of obs = 74
-------------+---------------------------------- F(3, 70) = 12.98
Model | 226957412 3 75652470.6 Prob > F = 0.0000
Residual | 408107984 70 5830114.06 R-squared = 0.3574
-------------+---------------------------------- Adj R-squared = 0.3298
Total | 635065396 73 8699525.97 Root MSE = 2414.6
------------------------------------------------------------------------------
Y | Coefficient Std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
x1 | -86.789 83.943 -1.03 0.305 -254.209 80.630
x2 | 4.365 1.167 3.74 0.000 2.036 6.693
x3 | -104.868 39.722 -2.64 0.010 -184.090 -25.646
_cons | 14542.434 5890.632 2.47 0.016 2793.940 26290.929
------------------------------------------------------------------------------
可以看到,核心解释变量 的系数为 -86.79。然后,我们利用 Frisch–Waugh–Lovell theorem 分步回归的原理展示 系数是如何得到的。
. * 第一步
. reg Y x2 x3
. predict ey23, res
. * 第二步
. reg x1 x2 x3
. predict e123, res
. * 第三步
. reg ey23 e123
Source | SS df MS Number of obs = 74
-------------+---------------------------------- F(1, 72) = 1.10
Model | 6232132.49 1 6232132.49 Prob > F = 0.2979
Residual | 408107991 72 5668166.54 R-squared = 0.0150
-------------+---------------------------------- Adj R-squared = 0.0014
Total | 414340123 73 5675892.1 Root MSE = 2380.8
------------------------------------------------------------------------------
ey23 | Coefficient Std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
e123 | -86.789 82.769 -1.05 0.298 -251.787 78.208
_cons | 0.000 276.761 0.00 1.000 -551.714 551.714
------------------------------------------------------------------------------
可以看出, 的系数为 -86.79,这与执行 reg Y X Z
后 的系数一致。
总结来看,FWL 定理主要有以下应用:
在 OLS 估计多元线性回归模型中,各系数估计通过求解四个正规方程获得。事实上,如果只关注某一个斜率系数的估计结果,则可利用 FWL 定理,通过构造一系列简单线性回归模型,就能得到的某一重点关注变量的系数估计值。并且,此估计值与 OLS 估计多元线性回归模型的估计值具有等价性。
另一方面,多元回归分析中多个自变量可能相互影响,造成参数估计偏差的问题。FWL 定理依然可以剔除这些混杂因素的影响,对参数进行准确的估计。
在时间序列回归中,如果因变量和控制变量都显示出强烈的趋势或季节性,可以将分步回归作为一种除趋势或除季节性的替代方法。
假设一个含有时间趋势 的回归方程:
利用 OLS 估计多元线性回归模型,将 对 、 和时间趋势 进行回归,得到拟合方程:
根据 FWL 定理, 和 还可通过如下方式得到:首先,将 、、 对常数项和时间趋势 进行回归,用 OLS 分别估计模型:
记残差 ,,,分别表示除去线性时间趋势 后的 、、。然后,将 对 和 回归,回归系数刚好等于利用 OLS 估计多元线性回归模型的估计值 和 。这意味着,我们最感兴趣的估计值 和 来自一个没有时间趋势的回归。
如果我们拿到的数据具有季节性,例如雪糕销量在夏季月份高于冬季月份,那么就需要进行季节调整,通过在模型中包括一组季节虚拟变量来解释因变量或自变量的季节性。同样,分步回归也可以作为是一种去除季节性的替代方法。
去除季节性的一个通用模型为:
其中,,,, 是标志着时期 是否对应于相应月份的虚拟变量。在这个公式中, 1 月是基准月, 是代表 1 月份的截距。考虑模型中含有两个自变量 和 ,线性回归方程:
利用 OLS 估计多元线性回归模型得到的斜率系数 和 还可以通过以下方法得到:首先,将 、 和 分别对一个常数项和月度虚拟变量 ,,, 进行回归,保留残差为 , 和 ,。 表示除去线性时间趋势 后的 ,对 和 的回归及解释与此相似。
然后,将 对 和 回归,得到与利用 OLS 多元线性回归估计值相同的 和 。
Note:产生如下推文列表的 Stata 命令为:
lianxh 回归系数, m
安装最新版lianxh
命令:
ssc install lianxh, replace
课程推荐:因果推断实用计量方法
主讲老师:邱嘉平教授
🍓 课程主页:https://gitee.com/lianxh/YGqjp
New! Stata 搜索神器:
lianxh
和songbl
GIF 动图介绍
搜: 推文、数据分享、期刊论文、重现代码 ……
👉 安装:
. ssc install lianxh
. ssc install songbl
👉 使用:
. lianxh DID 倍分法
. songbl all
🍏
联系客服