df1 df2 statistic p-value
Weak instruments 2 3002 13.4953074 1.463030e-06
Wu-Hausman 1 3002 5.5569969 1.847081e-02
Sargan 1 NA 0.8205891 3.650080e-01
本文复现Hansen教材第12.29节的内生性检验内容,使用Card (1995)数据集分析教育回报率问题。通过四种方法检验教育年限的内生性:Hausman检验、控制函数回归、lmtest Wald检验和Wu-Hausman F检验。理论分析表明这些方法具有等价性,实证结果验证了Hausman T统计量等于控制函数回归中残差项系数t统计量的平方。检验结果支持教育年限存在内生性,应使用2SLS估计而非OLS估计。本文为工具变量模型的内生性诊断提供了完整的理论框架和实证分析。

1 理论分析过程
1.1 内生性检验的定义
内生性检验是检验回归变量是否与结构误差项相关的一种统计检验方法。在工具变量模型中,2SLS估计量允许回归变量\(X_2\)是内生的,即\(X_2\)与结构误差\(e\)相关。如果这种相关性为零,则\(X_2\)是外生的,结构方程可以通过最小二乘法进行估计。这是一个可检验的约束条件。
内生性检验的原假设为:
\[ \mathbb{H}_0: \mathbb{E}[X_2 e] = 0 \]
备择假设为:
\[ \mathbb{H}_1: \mathbb{E}[X_2 e] \neq 0 \]
其中维持假设为\(\mathbb{E}[Ze] = 0\)。由于\(X_1\)是\(Z\)的一个组成部分,这意味着\(\mathbb{E}[X_1 e] = 0\)。因此,我们也可以将原假设写为\(\mathbb{H}_0: \mathbb{E}[Xe] = 0\)。
1.2 内生性检验的原理
内生性检验的基本原理基于控制函数回归。回顾控制函数回归(12.59):
\[ \begin{aligned} &Y = X_1' \beta_1 + X_2' \beta_2 + u_2' \alpha + v \\ &\alpha = (\mathbb{E}[u_2 u_2'])^{-1} \mathbb{E}[u_2 e] \end{aligned} \]
注意到\(\mathbb{E}[X_2 e] = 0\)当且仅当\(\mathbb{E}[u_2 e] = 0\),因此假设可以重新表述为\(\mathbb{H}_0: \alpha = 0\)对\(\mathbb{H}_1: \alpha \neq 0\)。因此,一个自然的检验是基于控制函数回归(12.28)中\(\alpha = 0\)的Wald统计量\(W\)。
在定理12.9、定理12.10和\(\mathbb{H}_0\)下,\(W\)渐近服从\(k_2\)个自由度的卡方分布。此外,在正态回归假设下,\(F\)统计量具有精确的\(F(k_2, n - k_1 - 2k_2)\)分布。如果\(W\)(或\(F\))小于临界值,我们接受\(X_2\)是外生的原假设;如果统计量大于临界值,我们拒绝原假设,支持\(X_2\)是内生的假设。
1.3 Hausman T统计量的计算方法
Hausman检验是内生性检验的另一种(也是传统的)方法。在\(\mathbb{H}_0\)下,OLS和2SLS都是一致估计量。但在\(\mathbb{H}_1\)下,它们收敛到不同的值。因此,OLS和2SLS估计量之间的差异是内生性的有效检验统计量。
设\(\widehat{\beta} = (\widehat{\beta}_1, \widehat{\beta}_2)\)为OLS估计量,\(\widetilde{\beta} = (\widetilde{\beta}_1, \widetilde{\beta}_2)\)为2SLS估计量。在\(\mathbb{H}_0\)和同方差性下,OLS估计量是Gauss-Markov有效的,因此根据Hausman等式:
\[ \begin{aligned} \text{var}[\widehat{\beta}_2 - \widetilde{\beta}_2] &= \text{var}[\widetilde{\beta}_2] - \text{var}[\widehat{\beta}_2] \\ &= \left(\left(\boldsymbol{X}_2'(\boldsymbol{P}_Z - \boldsymbol{P}_1)\boldsymbol{X}_2\right)^{-1} - \left(\boldsymbol{X}_2' \boldsymbol{M}_1 \boldsymbol{X}_2\right)^{-1}\right) \sigma^2 \end{aligned} \]
其中\(\boldsymbol{P}_Z = \boldsymbol{Z}(\boldsymbol{Z}'\boldsymbol{Z})^{-1}\boldsymbol{Z}'\),\(\boldsymbol{P}_1 = \boldsymbol{X}_1(\boldsymbol{X}_1'\boldsymbol{X}_1)^{-1}\boldsymbol{X}_1'\),\(\boldsymbol{M}_1 = \boldsymbol{I}_n - \boldsymbol{P}_1\)。
重要说明:在构建设计矩阵时,\(\boldsymbol{X}_1\)应该包含所有外生变量,包括截距项。这是因为截距项在回归模型中是一个重要的外生变量,在2SLS估计中,外生变量(包括截距)作为自己的工具变量。
因此,\(\mathbb{H}_0\)的有效检验统计量为:
\[ T = \frac{(\widehat{\beta}_2 - \widetilde{\beta}_2)'\left(\left(\boldsymbol{X}_2'(\boldsymbol{P}_Z - \boldsymbol{P}_1)\boldsymbol{X}_2\right)^{-1} - \left(\boldsymbol{X}_2' \boldsymbol{M}_1 \boldsymbol{X}_2\right)^{-1}\right)^{-1}(\widehat{\beta}_2 - \widetilde{\beta}_2)}{\widehat{\sigma}^2} \]
其中\(\widehat{\sigma}^2\)是\(\sigma^2\)的某个估计量。
重要说明:Hausman检验的前提条件是\(\text{var}[\widetilde{\beta}_2] > \text{var}[\widehat{\beta}_2]\),即2SLS估计量的方差必须大于OLS估计量的方差。当\(k_2 = 1\)(只有一个内生变量)时,检验统计量简化为:
\[ T = \frac{(\widehat{\beta}_2 - \widetilde{\beta}_2)^2}{\text{var}[\widetilde{\beta}_2] - \text{var}[\widehat{\beta}_2]} \]
在\(\mathbb{H}_0\)下,\(T\)渐近服从\(\chi_1^2\)分布。对于有限样本,也可以使用\(F\)分布进行修正。
重要等价性:根据Hansen教材的理论,Hausman T统计量与Wald W0统计量具有等价性。具体而言:
- Hausman T统计量:基于OLS和2SLS估计量差异的检验
- Wald W0统计量:基于控制函数回归中残差项系数\(\widehat{\alpha}\)的检验
这两种方法在理论上完全等价,即: \[ T = \frac{(\widehat{\beta}_2 - \widetilde{\beta}_2)^2}{\text{var}[\widetilde{\beta}_2] - \text{var}[\widehat{\beta}_2]} = \left(\frac{\widehat{\alpha}}{\text{se}(\widehat{\alpha})}\right)^2 \]
其中\(\widehat{\alpha}\)是控制函数回归中残差项的系数。这种等价性为内生性检验提供了多种实现方式,但结果应该是一致的。
1.4 Wald W统计量(F形式统计量)的计算方法
Wald统计量的计算步骤如下:
首先,通过最小二乘法估计简化形式:
\[ X_{2i} = \widehat{\Gamma}_{12}' Z_{1i} + \widehat{\Gamma}_{22}' Z_{2i} + \widehat{u}_{2i} \]
获得残差。然后通过最小二乘法估计控制函数:
\[ Y_i = X_i' \widehat{\beta} + \widehat{u}_{2i}' \widehat{\alpha} + \widehat{v}_i \]
设\(W\)、\(W^0\)和\(F = W^0/k_2\)分别表示\(\alpha = 0\)的Wald、同方差Wald和\(F\)统计量。
定理12.14:在\(\mathbb{H}_0\)下,\(W \underset{d}{\longrightarrow} \chi_{k_2}^2\)。设\(c_{1-\alpha}\)满足\(\mathbb{P}[\chi_{k_2}^2 \leq c_{1-\alpha}] = 1 - \alpha\)。检验”如果\(W > c_{1-\alpha}\)则拒绝\(\mathbb{H}_0\)“具有渐近水平\(\alpha\)。
定理12.15:假设\(e | X, Z \sim N(0, \sigma^2)\)。在\(\mathbb{H}_0\)下,\(F \sim F(k_2, n - k_1 - 2k_2)\)。设\(c_{1-\alpha}\)满足\(\mathbb{P}[F(k_2, n - k_1 - 2k_2) \leq c_{1-\alpha}] = 1 - \alpha\)。检验”如果\(F > c_{1-\alpha}\)则拒绝\(\mathbb{H}_0\)“具有精确水平\(\alpha\)。
由于我们通常不想强加同方差性,这些结果表明最合适的检验是使用稳健异方差协方差矩阵构造的Wald统计量。这可以在Stata中使用命令estat endogenous在ivregress之后计算,当后者使用稳健协方差选项时。Stata以\(F\)形式报告Wald统计量(因此使用\(F\)分布计算p值)作为”Robust regression F”。使用\(F\)而不是\(\chi^2\)在形式上是不合理的,但这是一个合理的有限样本调整。如果在没有稳健协方差选项的ivregress之后应用命令estat endogenous,Stata将\(F\)统计量报告为”Wu-Hausman F”。
当\(k_2 = 1\)(有一个右侧内生变量)时,这在应用中相当常见,内生性检验可以等价地表示为估计控制函数中\(\widehat{\alpha}\)的t统计量。因此,估计控制函数回归并检查\(\widehat{\alpha}\)的t统计量就足够了。如果\(|\widehat{\alpha}| > 2\),那么我们可以拒绝\(X_2\)对\(\beta\)是外生的假设。
2 R代码实证分析
2.1 准备R环境
首先,加载相关R包。
本文复现使用的R脚本文件和数据集下载链接:
- R脚本文件:
code-endogeneity.R - Card数据集:
Card1995.dta
2.2 数据准备和模型设定
我们使用Card (1995)的数据集,该数据集包含教育回报率的相关信息。在我们的分析中:
- 被解释变量:
lwage(对数工资) - 内生变量:
edu(教育年限) - 工具变量:
public(公立大学附近)和private(私立大学附近) - 控制变量:
exp(工作经验)、exp2(工作经验平方)、black(黑人)、south(南方)、urban(城市)
我们使用三种主要方法进行内生性检验,包括:Wu-Hausman F检验(设置summary函数)、控制函数回归方法(t检验、F检验、卡方检验)、Hausman检验(手动计算矩阵方法)。每种方法都基于不同的理论原理,但在理论上应该得到一致的结果。
2.3 方法1:Wu-Hausman F检验(设置summary函数)
针对TSLS拟合模型,使用summary诊断功能进行内生性检验,设置summary(fit_tsls_pp, diagnostics = TRUE)函数进行的endogeneity检验。
实证结果:
- Wu-Hausman F统计量: 5.557
- Wu-Hausman F检验p值: 0.0185
2.4 方法2:控制函数回归方法
控制函数回归方法通过两步程序进行内生性检验:
第一步:估计简化形式,将内生变量对工具变量和控制变量进行回归
\[ \begin{aligned} edu_{2i} = \widehat{\Gamma}_{02} &+ \widehat{\Gamma}_{12}' public_i + \widehat{\Gamma}_{22}' private_i +\widehat{\Gamma}_{32}' exp_i + \widehat{\Gamma}_{42}' exp2_i \\ &+ \widehat{\Gamma}_{52}' black_i + \widehat{\Gamma}_{62}' south_i + \widehat{\Gamma}_{72}' urban_i + \widehat{u}_{2i} \end{aligned} \]
第二步:获得残差。然后通过最小二乘法估计控制函数:
\[ \begin{aligned} lwage_i = \widehat{\beta}_0 &+ \widehat{\beta}_1' edu_i + \widehat{\beta}_2' exp_i + \widehat{\beta}_3' exp2_i \\ &+ \widehat{\beta}_4' black_i + \widehat{\beta}_5' south_i + \widehat{\beta}_6' urban_i \\ &+ \widehat{u}_{2i}' \widehat{\alpha} + \widehat{v}_i \end{aligned} \]
第三步:检验残差项系数的显著性。这等价于检验\(\mathbb{H}_0: \alpha = 0\)对\(\mathbb{H}_1: \alpha \neq 0\)。
控制方程的回归结果如下:
Call:
lm(formula = lwage ~ edu + exp + exp2 + black + south + urban +
edu_resid, data = control_function_data)
Residuals:
Min 1Q Median 3Q Max
-1.60445 -0.22102 0.02106 0.24297 1.31906
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.26801 0.62540 5.225 1.86e-07 ***
edu 0.16109 0.03711 4.341 1.46e-05 ***
exp 0.11931 0.01654 7.212 6.94e-13 ***
exp2 -0.23054 0.03188 -7.232 6.01e-13 ***
black -0.10173 0.04124 -2.467 0.0137 *
south -0.09504 0.01971 -4.823 1.49e-06 ***
urban 0.11645 0.02462 4.730 2.35e-06 ***
edu_resid -0.08787 0.03727 -2.357 0.0185 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.3739 on 3002 degrees of freedom
Multiple R-squared: 0.2918, Adjusted R-squared: 0.2902
F-statistic: 176.7 on 7 and 3002 DF, p-value: < 2.2e-16
其中,控制方程的残差方差为:
- 控制方程残差方差: 0.1398
2.4.1 残差项系数的t检验
对于只有一个内生变量的情况,可以直接检验残差项系数的t统计量显著性。
实证结果:
- edu_resid系数: -0.0879
- edu_resid标准误: 0.0373
- edu_resid的t统计量: -2.3573
- edu_resid的p值: 0.0185
2.4.2 Wald检验:使用lmtest包进行Wald受约束检验
使用lmtest包进行受约束检验,约束控制函数回归中残差项的系数为0。这等价于检验\(\mathbb{H}_0: \alpha = 0\)对\(\mathbb{H}_1: \alpha \neq 0\)。
理论基础:通过F检验或卡方检验比较无约束模型(包含残差项)和受约束模型(不包含残差项)。
实证结果:
- Wald F统计量: 5.557
- Wald F检验p值: 0.0185
- Wald卡方统计量: 5.557
- Wald卡方检验p值: 0.0184
2.4.3 卡方检验:使用linearHypothesis()函数进行受约束检验
我们也可以使用linearHypothesis()函数进行受约束检验,约束控制函数回归中残差项的系数为0。这等价于检验\(\mathbb{H}_0: \alpha = 0\)对\(\mathbb{H}_1: \alpha \neq 0\)。这与lmtest包的检验等价。
理论基础:通过F检验或卡方检验比较无约束模型(包含残差项)和受约束模型(不包含残差项)。
实证结果(linearHypothesis检验):
- F统计量: 5.557
- F检验p值: 0.0185
- 卡方统计量: 5.557
- 卡方检验p值: 0.0184
2.5 方法3:Hausman检验(手动计算矩阵方法)
Hausman检验通过比较OLS和2SLS估计量的差异来检验内生性。如果变量是外生的,两种估计方法应该得到相似的结果。
理论基础:在\(\mathbb{H}_0\)下,OLS和2SLS都是一致估计量,但在\(\mathbb{H}_1\)下,它们收敛到不同的值。因此,OLS和2SLS估计量之间的差异是内生性的有效检验统计量。
检验统计量: \[ T=\frac{\left(\widehat{\beta}_{2}-\widetilde{\beta}_{2}\right)^{\prime}\left(\left(\boldsymbol{X}_{2}^{\prime}\left(\boldsymbol{P}_{\boldsymbol{Z}}-\boldsymbol{P}_{1}\right) \boldsymbol{X}_{2}\right)^{-1}-\left(\boldsymbol{X}_{2}^{\prime} \boldsymbol{M}_{1} \boldsymbol{X}_{2}\right)^{-1}\right)^{-1}\left(\widehat{\beta}_{2}-\widetilde{\beta}_{2}\right)}{\widehat{\sigma}^{2}} \]
其中\(\widehat{\beta}_2\)是OLS估计量,\(\widetilde{\beta}_2\)是2SLS估计量。\(\sigma^2\)是残差方差的估计量(可以考虑使用控制方程的残差方差估计量)。
采用矩阵方法计算得到的实证结果如下:
- OLS估计中edu系数: 0.074
- 2SLS估计中edu系数: 0.1611
- 系数差异: -0.0871
- sigma^2的估计(来自控制方程): 0.1398
- Hausman T检验统计量: 5.557
- Hausman T检验p值: 0.0184
2.6 结果解释
2.6.1 综合判断
内生性检验的结果将帮助我们判断:
- 控制函数回归结果: t统计量 = -2.3573 (拒绝原假设)
- lmtest Wald F检验结果: p值 = 0.0185 (拒绝原假设)
- Wu-Hausman F检验结果: p值 = 0.0185 (拒绝原假设)
结论: 在5%显著性水平下,拒绝edu是外生的原假设, 即edu是内生的,应该使用2SLS估计。
2.6.2 等价性验证
根据Hansen教材的理论,Hausman T统计量应该等于控制函数回归中残差项系数的t统计量平方。我们验证这种等价性:
- Hausman T统计量(矩阵方法): 5.557
- 控制函数回归中残差项系数的t统计量平方: 5.557
2.6.3 结论
内生性检验是工具变量模型中的重要诊断工具。通过多种方法的检验,我们可以:
- 验证工具变量的有效性:如果检验显著,说明存在内生性问题,需要使用2SLS估计
- 比较不同估计方法:OLS和2SLS估计结果的差异反映了内生性的影响
- 确保模型设定的合理性:检验结果支持我们选择适当的估计方法
这种检验对于选择合适的估计方法至关重要,因为如果存在内生性问题而使用OLS估计,会导致参数估计的不一致性。