
New! 搜推文,找资料,用
lianxh
命令:
安装:ssc install lianxh, replace
使用:lianxh 合成控制
lianxh DID + 多期, w


作者: 雷诺 (新加坡国立大学)
邮箱: leinuo@u.nus.edu
Source:
1. 控制函数法介绍
与传统的 2SLS 和 IV 等估计方法一样,控制函数法(Control Function approach, CF approach)多用于处理内生性问题,其工具变量也需要满足外生性(与误差项不相关)和相关性(与内生解释变量有强相关性)。然而,控制函数法的不同之处在于,它不是简单地用第一阶段回归的预测值来替换内生变量,而是将第一阶段回归产生的残差作为一个新的控制变量引入到原模型中。以此控制可能与内生变量相关的未观测因素,从而纠正它们对估计结果的带来潜在偏误。
虽然在设定较为简单的模型中,控制函数法和 2SLS、IV 得到的估计结果是相同的,但是控制函数法具有以下两大优势:
-
Hausman 检验的简便性
控制函数方法提供了一个简单的 Hausman 检验(1978年),即通过比较 OLS 和 2SLS 检验模型是否存在内生性问题。此检验的优势在于其对模型中可能存在的异方差性和群集相关性(包括面板数据结构中的序列相关性)保持稳健,即便这些特性的具体形态未知。
-
处理复杂模型的简约性
控制函数法能简化非线性内生变量的处理,从而允许以较简单的方式分析复杂模型。
本文将围绕控制函数法中 Hausman 检验如何检测内生性问题展开讨论。此外,对于不同模型设定下控制函数法的计算和 Stata 实现可以参考一下推文:
- 张弛, 2022, Stata:控制函数法及其Stata应用, 连享会 No.1138.
- 罗清扬, 2023, Stata:testex-控制函数法中排他性约束的检验和应对, 连享会 No.1198.
- 雷诺, 2024, 控制函数法:Bootstrap标准误的获取, 连享会 No.1328.
2. 内生性和 Hausman 检验的原理
2.1 引例:工具变量的选择
2.1.1 问题的提出
假设我们有如下模型,其中 可能存在内生性问题:
当使用 经验( 和 ) 和 兄弟姐妹数量() 作为工具变量时,Hausman 检验指出模型 存在内生性。但是,当改用 母亲教育程度()、父亲教育程度() 和 个人受教育程度() 作为工具变量时,检验结果表明 没有内生性问题。这一结果引发疑问,因为从理论上讲,模型的内生性是固定不变的,不应受所选工具变量影响。那么,出现这种情况的原因是什么呢?
1. IV:经验和兄弟姐妹数量
1.1 IV:经验 ()
// OLS
. reg hours lwage $x2list, vce(robust)
. estimate store REG
// 2SLS, IV: 经验(exper, exper2)
. ivregress 2sls hours (lwage = exper exper2) $x2list, ///
vce(robust) first
. estimate store REGIV
//比较 OLS 和 IV 的回归结果
. esttab REG REGIV , se(%12.4f) b(%12.5f) ///
star(* 0.10 ** 0.05 *** 0.01) ///
mtitles("OLS" "IV") ///
title("Model test") nogap compress
下面,我们来进行 内生性检验:
//Hausman检验:检验内生性
. estat endogenous
Tests of endogeneity
Ho: variables are exogenous
Robust score chi2(1) = 22.2071 (p = 0.0000)
Robust regression F(1,420) = 26.355 (p = 0.0000)
//拒绝变量外生的原假设,接受模型存在内生性问题的备择假设
内生性的检验结果表明在 1% 的显著性水平上可以拒绝原假设,表明在 1% 的显著性水平上, 变量是内生的。
过度识别约束检验 是对 工具变量的外生性 进行检验。在 恰足识别 情况下,我们无法对工具变量的外生性进行直接检验, 但是在过度识别情况下,我们就可以检验多余的工具变量是否与干扰项不相关。
下面,我们用 过度识别检验 检验工具变量的外生性:
//检验过度识别检验
. estat overid
Test of overidentifying restrictions:
Score chi2(1) = 1.23424 (p = 0.2666)
//不能拒绝过度识别限制下的原假设,即所有的工具变量可能都是外生的
由于 p = 0.2666,当时用经验(, )作为工具变量时,我们不能拒绝过度识别限制下的原假设,所有的工具变量( 和 )可能都是外生的。
1.2 IV:兄弟姐妹数量 (siblings)
// IV: 兄弟姐妹数量 (siblings)
ivregress 2sls hours (lwage = siblings) $x2list,///
vce(robust) first
estimate store IVREGsib
//比较 OLS 和 IVsibling 的回归结果
esttab REG IVREGsib , se(%12.4f) b(%12.5f)///
star(* 0.10 ** 0.05 *** 0.01)///
mtitles("ols" "IVsibling")///
title("Model test") nogap compress
//Hausman检验:检验内生性
estat endogenous
Tests of endogeneity
Ho: variables are exogenous
Robust score chi2(1) = 4.30171 (p = 0.0381)
Robust regression F(1,420) = 4.2976 (p = 0.0388)
//拒绝变量外生的原假设,接受模型存在内生性问题的备择假设
内生性的检验结果表明在 5% 的显著性水平上可以拒绝变量是外生的原假设,即在 5% 的显著性水平上 变量是内生的。
此时由于内生变量和工具变量的数量相同,即 恰足识别 ,我们无法对工具变量的外生性进行直接检验。
2. IV:父母和个人教育程度
当分别使用母亲教育程度()、父亲教育程度()和个人受教育程度()作为工具变量时,Hausman 检验指出模型 不存在内生性问题。结果展示如下:
2.1 IV:母亲教育程度 ()
// IV:母亲教育程度(mothereduc)
. ivregress 2sls hours (lwage = mothereduc) $x2list, ///
vce(robust) first
. estimate store IVREGmother
//比较 OLS 和 IVmother 的回归结果
. esttab REG IVREGmother , se(%12.4f) b(%12.5f) ///
star(* 0.10 ** 0.05 *** 0.01) ///
mtitles("ols" "IVmother") ///
nogap compress
//Hausman检验:检验内生性
. estat endogenous
Tests of endogeneity
Ho: variables are exogenous
Robust score chi2(1) = .023462 (p = 0.8783)
Robust regression F(1,420) = .023051 (p = 0.8794)
//不能拒绝变量外生的原假设,即模型不存在内生性
2.2 IV:父亲教育程度 ()
// IV:父亲教育程度(fathereduc)
. ivregress 2sls hours (lwage = fathereduc) $x2list, ///
vce(robust) first
. estimate store IVREGfather
//比较 OLS 和 IVfather 的回归结果
. esttab REG IVREGfather , se(%12.4f) b(%12.5f) ///
star(* 0.10 ** 0.05 *** 0.01) ///
mtitles("ols" "IVfather") nogap compress
//Hausman检验:检验内生性
. estat endogenous
Tests of endogeneity
Ho: variables are exogenous
Robust score chi2(1) = .763741 (p = 0.3822)
Robust regression F(1,420) = .756369 (p = 0.3850)
//不能拒绝变量外生的原假设,即模型不存在内生性
2.3 IV:配偶教育程度 ()
// IV:配偶教育程度 (heduc)
. ivregress 2sls hours (lwage = heduc) $x2list, vce(robust) first
. estimate store IVREGhusband
//比较 OLS 和 IVheduc 的回归结果
. esttab REG IVREGhusband , se(%12.4f) b(%12.5f) ///
star(* 0.10 ** 0.05 *** 0.01) ///
mtitles("ols" "IVhusband") nogap compress
//Hausman检验:检验内生性
. estat endogenous
Tests of endogeneity
Ho: variables are exogenous
Robust score chi2(1) = .646754 (p = 0.4213)
Robust regression F(1,420) = .641961 (p = 0.4235)
//不能拒绝变量外生的原假设,即模型不存在内生性
内生性的检验结果表明,当用父母教育程度和配偶教育程度做工具变量时,p 值均大于 0.1,即我们不能拒绝变量外生的原假设。
比较 OLS, IV, IVsibling, IVmother, IVfather 和 IVhusband 的回归结果
// 比较 OLS, IV, IVsibling, IVmother, IVfather 和 IVhusband 的回归结果
esttab REG REGIV IVREGsib IVREGmother IVREGfather IVREGhusband ,///
se(%12.4f) b(%12.5f) star(* 0.10 ** 0.05 *** 0.01) ///
mtitles("ols" "IV" "IVsibling" "IVmother" "IVfather" "IVhusband")///
title("Model test") nogap compress
Model Test
-------------------------------------------------------------------------------------------
(1) (2) (3) (4) (5) (6)
OLS IV IVsibling IVmother IVfather IVhusband
-------------------------------------------------------------------------------------------
lwage -17.408 1544.819*** 2896.553 -106.410 599.808 652.999
(81.38) (598.80) (3672.99) (590.13) (775.64) (905.99)
educ -14.445 -177.449*** -318.490 -5.158 -78.846 -84.396
(18.21) (66.85) (381.47) (64.91) (84.45) (97.88)
age -7.730 -10.784 -13.427 -7.556 -8.937 -9.041
(5.85) (10.58) (17.77) (5.98) (6.77) (7.20)
kidsl6 -342.505*** -210.834 -96.904 -350.006*** -290.483* -286.000*
(131.77) (203.91) (471.77) (135.60) (159.97) (173.23)
kids618 -115.021*** -47.557 10.816 -118.864*** -88.367* -86.070*
(29.51) (56.48) (187.38) (37.42) (46.33) (51.86)
nwifeinc -0.004 -0.009* -0.014 -0.004 -0.006 -0.006
(0.003) (0.005) (0.014) (0.004) (0.004) (0.005)
_cons 2114.697*** 2432.198*** 2706.919** 2096.609*** 2240.138*** 2250.948***
(350.32) (611.22) (1153.15) (382.82) (416.83) (447.98)
-------------------------------------------------------------------------------------------
N 428 428 428 428 428 428
-------------------------------------------------------------------------------------------
Standard errors in parentheses
* p<0.10, ** p<0.05, *** p<0.01
2.1.2 内生性和 Hausman 检验的原理
为了理解这个问题,首先我们需要理解内生性检验是如何工作的。
假设 作为被解释变量,而解释变量 存在内生性,即:
接下来,我们用工具变量 检验 是否是内生的。
在对内生变量进行工具变量回归分析时,变量 的变动可被划分为两个部分:可解释部分(该部分被视为外生,因为工具变量 被假设为外生)和不可解释部分:
注意,有效的工具变量需要满足以下两个假设:
- 工具必须影响内生变量,
- 工具不能与结构性误差相关,
如果任一假设不被满足,我们则无法有效地利用所选工具变量来提取变量 的外生变异部分,因为该工具变量可能是弱相关的,或者它自身并非真正外生。
接下来的内生性检验我们会用到控制函数法,即:
- Stage1:对(2)式中内生变量的残差项 进行估计。
- Stage2:对假设 进行检验:
如果我们拒绝这个零假设,则意味着变量 的变异中的“坏”部分(即我们之前分离出的残差 )对结果有显著的影响,表明可能存在内生性问题。
现在,我们会发现为什么检验工具选择很重要了。在先前的例子中,有些工具变量没有满足条件一,即它们与内生变量的相关度不够强。比如,母亲的教育、父亲的教育和配偶的教育这几个工具变量的第一阶段 F 统计量(对应于单个工具情况下的 t 统计量的平方)分别只有 2.99、2.5 和 2.43。通常情况下,我们会对 F 统计量小于 10 的工具变量表示怀疑,因此这三个工具变量不太可能是好的工具变量,基于它们进行的任何内生性检验也就缺乏可信度。
2.2 应用:内生交乘项的处理
接下来,我们将按照 2.1.2 小节中介绍的 Hausman 检验原理来处理交乘项潜在的内生性问题。现在,考虑以下模型:
这里我们感兴趣的是交乘项 ,同时 是外生变量, 和 是控制变量。此外,我们有理论上的理由认为 和 是内生变量,且 受到 的影响:
其中, 是一个标量或一组额外的外生变量。
根据 Hausman 检验原理,估计此模型我们需要:
- Stage1.1:用 、、 以及控制变量 's 对 进行回归,得到残差
- Stage1.2:用 、、 以及控制变量 's 对 进行回归,得到残差
- Stage2:用 、、、's、 和 对 进行回归。
通过 Hausman 检验,我们可以确定是否需要使用 Stage1.1 和 Stage1.2 中的残差 和 来控制 的内生性问题。如果检验指出内生性确实存在,则在 Stage2 回归中加入这些残差可以帮助修正内生性偏误。
此外,与在 Stage1.1 和 Stage1.2 中得到 残差 的方法不同,我们可以通过 2SLS 得到相同的估计值。具体来说,就是在 Stage1.1 和 Stage1.2 中得到内生变量 的 拟合值 ,以及交互项 的 拟合值 ,然后在 Stage2 中使用这些拟合值和外生控制变量 对 进行回归。
3. Stata 实现
最后,我们用模拟数据比较当模型具有内生性问题时,控制函数法、2SLS 和 OLS 的估计结果。假设 是内生变量, 是工具变量, 和 是控制变量:
set seed 1234 // 设置随机数种子以确保结果的可重复性
clear
set obs 100 // 创建模拟数据集
gen z = rnormal() // 生成工具变量 z
gen x1 = rnormal() // 生成控制变量 x1
gen x2 = rnormal() // 生成控制变量 x2
gen v = rnormal() // 生成与 y 相关的变量 v,引入内生性
gen w = 1 + z + 0.5*v + rnormal() // 生成内生解释变量 w
gen y = 2 + 3*w + 4*x1 + 5*x2 + v + rnormal() // 生成因变量 y
采用码生成模拟数据以后,我们开始分别展示基于 OLS、控制函数和 2SLS 的估计结果,并进行相关的检验和对比。
* OLS
reg y w x1 x2
estimates store OLS
* CF
// stage1 用 z 估计 w 的第一阶段回归
reg w z x1 x2
// 预测残差项 u2,其中应包含与 y 相关的内生性信息
predict u2, residual
// stage2 将内生的残差项 u2 加入原始模型回归
reg y w x1 x2 u2
estimates store CF
// 检验残差项 u2 的显著性
test u2
( 1) u2 = 0
F( 1, 95) = 7.00
Prob > F = 0.0095
// 残差项 u2 在 1% 的显著性水平上显著,
// 根据 2.1.2 小节中 Hausman 检验的原理,
// 在 1% 的显著性水平上拒绝变量是外生的原假设,
// 接受至少有一个变量是内生的备择假设。
* 2SLS
// 将 z 作为内生变量 w 的工具变量
ivregress 2sls y (w = z) x1 x2
estimates store TSLS
// 使用 estout 列出结果
estout OLS CF TSLS, ///
cells(b(star fmt(%9.3f)) se(par fmt(%9.2f))) ///
stats(N, fmt(%9.0g) labels("Observations"))
------------------------------------------------------------
OLS CF TSLS
b/se b/se b/se
------------------------------------------------------------
w 3.409*** 3.105*** 3.105***
(0.10) (0.15) (0.16)
x1 4.120*** 4.073*** 4.073***
(0.14) (0.13) (0.14)
x2 5.144*** 5.086*** 5.086***
(0.13) (0.12) (0.13)
u2 0.501**
(0.19)
_cons 1.552*** 1.878*** 1.878***
(0.17) (0.21) (0.22)
------------------------------------------------------------
Observations 100 100 100
------------------------------------------------------------
系数比较
- OLS模型 的估计系数可能受到内生性偏误的影响,因为它没有纠正可能存在的内生变量 的偏误。这通常会导致估计系数偏大或偏小,取决于内生性问题的性质和方向。
- CF模型 中, 的估计系数较 OLS 模型有所降低,这可能表明控制了一部分内生性偏差。在 CF 模型中, 的系数显著不为零,(根据 2.1.1 小节中的讨论)说明 存在内生性,并且这种方法可能已经纠正了部分内生性偏差。
- 2SLS模型 提供了与 CF 模型相同的估计结果,这通常意味着用作工具变量的 与 之间的关系足够强,使得 2SLS 能有效地作为一种工具变量估计方法来纠正内生性。
estat endogenous
Tests of endogeneity
H0: Variables are exogenous
Durbin (score) chi2(1) = 6.86219 (p = 0.0088)
Wu-Hausman F(1,95) = 6.99939 (p = 0.0095)
// 在 1% 的显著性水平上拒绝变量是外生的原假设,
// 接受至少有一个变量是内生的备择假设。
内生性问题
Durbin(score)检验和 Wu-Hausman F 检验都拒绝了变量是外生的原假设(p 值分别为 0.0088 和 0.0095),这表明至少有一个解释变量是内生的,这进一步验证了 CF 和 2SLS 模型的必要性。
4. 总结
- 控制函数法:
- 通过将第一阶段的 残差项 加入第二阶段解决内生性问题。
- 如果 残差项 在第二阶段显著,则表明解释变量存在内生性问题。
- 2SLS 和 IV 方法:
- 通过 工具变量 解决内生性问题。
- 通过比较 2SLS 或 IV 与 OLS 的差异检验内生性。
- 若 内生性检验 显著,则表明解释变量存在内生性问题。
- 总结:
- 控制函数法和 2SLS/IV 都是处理内生性的方法。
- Hausman 检验可以帮助我们确定使用这些策略的必要性。
5. 参考资料
-
Stack Overflow, 2023, IV regression, endogeniety and Wu-hausman question, -Link-
-
Stack Overflow, 2020, Endogenous interaction term in a triangular system using control function (CF) approach, -Link-
-
Stack Overflow, 2020, Intuition behind the Endogeneity Test (the Hausman Test), -Link-
-
Guo, Z., & Small, D.S. (2016). Control Function Instrumental Variable Estimation of Nonlinear Causal Effect Models. J. Mach. Learn. Res., 17, 100:1-100:35. -Link-, -PDF-.
-
Wooldridge, J. M. (2015). Control Function Methods in Applied Econometrics. Journal of Human Resources, 50(2), 420–445. -Link-, -PDF-.
-
雷诺, 2024, 控制函数法:Bootstrap标准误的获取, 连享会 No.1328.
-
罗清扬, 2023, Stata:testex-控制函数法中排他性约束的检验和应对, 连享会 No.1198.
-
杨柳, 2020, IV专题: 内生性检验与过度识别检验, 连享会 No.256.
-
张弛, 2022, Stata:控制函数法及其Stata应用, 连享会 No.1138.
6. 相关推文
Note:产生如下推文列表的 Stata 命令为:
lianxh 控制函数法 内生性 Hausman
安装最新版 lianxh
命令:
ssc install lianxh, replace
- 专题:内生性-因果推断
- 伍慧铭, 2023, Stata:内生性随机边界模型-xtsfkk, 连享会 No.1192.
- 吴煜铭, 郑浩文, 2021, 内生性!内生性!解决方法大集合, 连享会 No.579.
- 崔娜, 2020, Stata:内生变量的交乘项如何处理?, 连享会 No.377.
- 张弛, 2022, Stata:控制函数法及其Stata应用, 连享会 No.1138.
- 徐云娇, 甘徐沁, 2020, Stata:分位数回归中的样本自选择问题, 连享会 No.469.
- 专题:IV-GMM
- 杨柳, 2020, IV专题: 内生性检验与过度识别检验, 连享会 No.256.
- 专题:分位数回归
- 武翰涛, 2021, Stata:面板分位数模型估计及内生性初探, 连享会 No.502.
- 专题:面板数据
- 游万海, 连玉君, 2020, Stata: 面板数据模型一文读懂, 连享会 No.122.
- 王舒瑶, 2022, 第三种内生性:衡量偏误(测量误差)如何解决?-eivreg-sem, 连享会 No.1066.
- 秦利宾, 2020, Heckman 模型:你用对了吗?, 连享会 No.153.
- 窦艺, 2023, IV-面板内生性:严格外生性如何检验?, 连享会 No.1243.
- 专题:Stata命令
- 罗清扬, 2023, Stata:testex-控制函数法中排他性约束的检验和应对, 连享会 No.1198.
- 连享会, 2022, IV专题- 内生性检验与过度识别检验, 连享会 No.988.
- 专题:专题课程
- 连享会, 2020, 连享会Live - 我的特斯拉-实证研究设计, 连享会 No.11.
- 连玉君, 2021, 内生性:来源及处理方法-幻灯片下载, 连享会 No.538.
- 郭佳佳, 2023, 内生性之应对(上):原理篇--遗漏变量-反向因果-测量误差-自选择, 连享会 No.1264.
- 郭佳佳, 2023, 内生性之应对(下):方法篇--遗漏变量-反向因果-测量误差-自选择, 连享会 No.1266.
- 陈贤孟, 2020, 第三种内生性:衡量偏误(测量误差)如何检验-dgmtest?, 连享会 No.289.
- 雷诺, 2023, 好IV坏控制:一个好的工具变量一定是个坏的控制变量, 连享会 No.1271.
- 专题:其它
- 雷诺, 2024, 控制函数法:Bootstrap标准误的获取, 连享会 No.1328.
- 雷诺, 2023, 竞争性假设检验在实证中的运用, 连享会 No.1275.
- 黄俊凯, 2020, suest:跨模型比较与广义豪斯曼检验, 连享会 No.444.
- 黄钊琳, 2021, locmtest:非线性模型的内生性检验, 连享会 No.503.
[(https://www.lianxh.cn/details/1543.html)
资源共享
- 连享会资料 ……
- 在线视频:lianxh-class.cn
- Stata 33 讲,100 万+ 播放,Stata 入门必备,公开课
- 直击面板数据模型,10 万+ 播放,白话面板模型,公开课
- … more …
- 论文复现和数据
- 主题分类
- 热门推文

尊敬的老师 / 亲爱的同学们:
连享会致力于不断优化和丰富课程内容,以确保每位学员都能获得最有价值的学习体验。为了更精准地满足您的学习需求,我们诚挚地邀请您参与到我们的课程规划中来。
请您在下面的问卷中,分享您 感兴趣的学习主题或您希望深入了解的知识领域 。您的每一条建议都是我们宝贵的资源,将直接影响到我们课程的改进和创新。
我们期待您的反馈,因为您的参与和支持是我们不断前进的动力。感谢您抽出宝贵时间,与我们共同塑造更加精彩的学习旅程!https://www.wjx.cn/vm/YgPfdsJ.aspx# 再次感谢大家宝贵的意见!

关于我们
- Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。more……
- 扫码加入连享会微信群,提问交流更方便
