![]() |
长情的充电器 · SAML 疑难解答 - Tableau· 1 年前 · |
![]() |
不敢表白的铁链 · tsconfig中的绝对路径不起作用-腾讯云 ...· 1 年前 · |
![]() |
爱吹牛的青蛙 · 三种方法,刷新 Android 的 ...· 1 年前 · |
![]() |
火爆的茴香 · ASP.NET获取路径的方法-阿里云开发者社区· 2 年前 · |
![]() |
自信的拖把 · Unreal 开发环境(Rider for ...· 2 年前 · |
王小二参加研究生复试的面试时,恰好认识其中一位参加面试的老师。假设面试分数 (
如何解决这个内生性问题呢?不妨再找另一个老师来代替这位跟王小二认识的老师,基本要求是:新找来的老师不能跟王小二认识,并且又跟被替换下的这位老师在专业背景方面有很高的相似度。这个新找来的老师就称为被替换下的老师的工具变量 (Instrumental Variable,简称 IV) 。接下来,让我们一起学习 IV 估计。
我们从一个最简单的回归模型引入工具变量估计法。如下式(1)所示:
假设
随机误差项
能力
的因素包括在
能力
的高低与
收入
(
能力
的高低与
受教育年数
(
在模型(1)中我们遗漏了
能力
这个重要变量,在这种情况下,OLS 估计量
我们可以使用工具变量估计法解决上述内生性问题。引入一个新的工具变量
当
在一般形式的回归模型(2)中(以矩阵形式表示):
工具变量
IV 估计量的一种有趣的情况是:如果零条件均值假设满足,每一个解释变量都可以做为自己的工具变量,即
如果 “王小二面试” 时找来一个代替老师,那么这位新老师给的面试分数还是有一定的随机性,一个主要的原因是新找来的这位老师可能与被替换的那位老师之间的相关性不够强。为了控制面试得分偏差,我们可以多找几个老师。不妨再找一个老师,这两个老师就称为被替换下来的老师的两个工具变量。
此时,我们会面临一个问题:回归模型中有一个内生变量,并且我们找了多个工具变量,不妨设为
两阶段最小二乘估计法 (2SLS) 可以将多个工具变量整合为一个最优的工具变量,这样就可以应用到 IV 估计式中。
考虑简单回归模型(1)的情形:我们为内生变量
得到用两个工具变量
为了说明 2SLS 法的计算原理,我们定义一个矩阵
将上式代入 IV 估计式中可得:
定义投影矩阵
在上式中,2SLS 估计量可以用
假设随机误差项
其中,
需要特别说明的是,
尽管 2SLS 法是按照两个阶段回归的顺序进行的 ,但是我们不能按照这两个阶段的顺序进行手动计算,因为如果这样做的话,第二个阶段的回归将得到错误的残差
使用 Stata 的 2SLS 法的命令
ivreg 2sls
将避免上述错误。完成 2SLS 估计之后,使用
predict
命令将得到正确的残差值。
其中,
ivregress 2sls
为 2SLS 的 Stata 命令;
示例1:已婚妇女的教育回报(IVs:父母的受教育年数)
使用《计量经济学导论 现代观点》中的 mroz.dta 数据来研究已婚妇女的教育回报率。该份数据包括了在 1976 年调查的 753 个已婚妇女的年龄、工资与受教育的年数、丈夫的年龄、工资与受教育的年数、家庭收入、已婚妇女的父母的受教育年数、已婚妇女的工作经历年数等变量 ( 点击此处下载 mroz.dta 数据 )。
我们用已婚妇女工资的对数值 ( ln wage ) 作为被解释变量,受教育年数 ( educ ) 、工作经历年数 ( exper ) 与工作经历年数的平方值 ( expersq ) 作为解释变量。现在,我们想研究教育的边际回报是多少,于是建立如下回归模型(4):
在模型(4)中,
能力
会对工资有正影响作用,但未包括在模型(4)中,我们遗漏了重要解释变量
能力
。并且,
能力
与
educ
又是正相关的 ,这样解释变量
educ
是内生的,使用 OLS 估计法会导致估计量
现在我们寻找
educ
的工具变量,进而使用 2SLS 法对
父亲和母亲的受教育年数
(
motheduc
与
fatheduc
) 跟已婚妇女的
educ
是正相关的,而这两个变量与已婚妇女的
能力
不是直接相关的。因此,我们可以用
motheduc
与
fatheduc
作为
educ
的工具变量。Stata 命令和结果如下所示:
. ssc install bcuse, replace // 下载 bcuse 命令, 若已安装,可忽略此步骤
. bcuse "mroz.dta", clear
. *-Coviariates set up
. global aa "exper expersq"
. *-2SLS
. ivregress 2sls lwage $aa (educ = motheduc fatheduc)
Instrumental variables (2SLS) regression Number of obs = 428
Wald chi2(3) = 24.65
Prob > chi2 = 0.0000
R-squared = 0.1357
Root MSE = .67155
------------------------------------------------------------------------------
lwage | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
educ | .0613966 .0312895 1.96 0.050 .0000704 .1227228
exper | .0441704 .0133696 3.30 0.001 .0179665 .0703742
expersq | -.000899 .0003998 -2.25 0.025 -.0016826 -.0001154
_cons | .0481003 .398453 0.12 0.904 -.7328532 .8290538
------------------------------------------------------------------------------
Instrumented: educ
Instruments: exper expersq motheduc fatheduc
将 2SLS法 与 OLS 法的回归结果进行比较,Stata 命令和结果如下所示:
. *-OLS
. reg lwage educ $aa
Source | SS df MS Number of obs = 428
-------------+---------------------------------- F(3, 424) = 26.29
Model | 35.0223023 3 11.6741008 Prob > F = 0.0000
Residual | 188.305149 424 .444115917 R-squared = 0.1568
-------------+---------------------------------- Adj R-squared = 0.1509
Total | 223.327451 427 .523015108 Root MSE = .66642
------------------------------------------------------------------------------
lwage | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
educ | .1074896 .0141465 7.60 0.000 .0796837 .1352956
exper | .0415665 .0131752 3.15 0.002 .0156697 .0674633
expersq | -.0008112 .0003932 -2.06 0.040 -.0015841 -.0000382
_cons | -.5220407 .1986321 -2.63 0.009 -.9124668 -.1316145
------------------------------------------------------------------------------
. est store OLS
. *-2SLS
. ivregress 2sls lwage $aa (educ = motheduc fatheduc)
Instrumental variables (2SLS) regression Number of obs = 428
Wald chi2(3) = 24.65
Prob > chi2 = 0.0000
R-squared = 0.1357
Root MSE = .67155
------------------------------------------------------------------------------
lwage | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
educ | .0613966 .0312895 1.96 0.050 .0000704 .1227228
exper | .0441704 .0133696 3.30 0.001 .0179665 .0703742
expersq | -.000899 .0003998 -2.25 0.025 -.0016826 -.0001154
_cons | .0481003 .398453 0.12 0.904 -.7328532 .8290538
------------------------------------------------------------------------------
Instrumented: educ
Instruments: exper expersq motheduc fatheduc
. est store _2SLS
. *-输出回归结果(屏幕显示结果)
. local m "OLS _2SLS"
. esttab `m', mtitle(`m') replace ///
> nogap compress b(%6.3f) s(N r2_a) se ///
> star(* 0.1 ** 0.05 *** 0.01) ///
> addnotes("*** 1% ** 5% * 10%")
------------------------------------
(1) (2)
OLS _2SLS
------------------------------------
educ 0.107*** 0.061**
(0.014) (0.031)
exper 0.042*** 0.044***
(0.013) (0.013)
expersq -0.001** -0.001**
(0.000) (0.000)
_cons -0.522*** 0.048
(0.199) (0.398)
------------------------------------
N 428.000 428.000
r2_a 0.151 0.130
------------------------------------
Standard errors in parentheses
*** 1% ** 5% * 10%
* p<0.1, ** p<0.05, *** p<0.01
从上面的结果中可以看到,使用 2SLS
估计的受教育年数的边际回报为 6.1%
,而使用 OLS
估计的受教育年数的边际回报为 10.7%
。两者具有差异, OLS
的估计值偏高。但是我们并不知道两者的差异是否在统计上显著?哪个系数估计值更接近于真实的教育回报?在随后的推文中,我们将介绍对工具变量的合理性与解释变量的内生性进行检验,敬请期待。
我们还看到,2SLS
结果中 educ
的 标准误
是 OLS
结果的 2.21 倍(2SLS
估计的方差总是大于 OLS
的方差,证明见《计量经济学导论 现代观点》第十五章),表明若模型中没有内生性问题,OLS 的估计结果更有效。
示例2:男性样本的教育回报(IV:是否在大学附近成长)
使用《计量经济学导论 现代观点》中的 card.dta
数据来研究一份男性样本的教育回报率。该份数据包括了在 1976 年调查的 3010 位男性的年龄、工资与受教育的年数、父母的受教育年数、工作经历年数、居住地的区域(南部/大城市及其郊区/其他地区)、是否在四年制/两年制大学附近成长、种族(是否黑人)等变量 (点击此处下载 card.dta 数据)。
使用受教育年数 (educ) 和其他控制变量:工作经历年数 (exper) 及其平方项 (expersq)、黑人种族虚拟变量 (black)、居住在大城市及其郊区 (smsa) 、居住在南部 (south) 和其他居住地区域的虚拟变量 (smsa66, reg662, reg663, reg664, reg665, reg667, reg668, reg669) 建立回归模型(5),如下所示:
模型中遗漏了 能力
变量,带来了 educ 变量是内生的问题。卡德(Card,1995)为 educ 选择的工具变量为:一个人是否在一所四年制大学附近成长 (nearc4) 的虚拟变量,认为该变量与 能力
无直接关系,并且与 educ
变量正相关(若一个人在四年制大学附近成长,那么受教育的年数会更多一些)。使用 IV 估计法对参数 的值进行求解,并将该结果与 OLS 进行对比,Stata命令和结果如下:
. use "D:\stata15\ado\personal\IV_2SLS\Data\card.dta", clear
. *-Coviariates set up
. global bb "exper expersq black smsa south smsa66 reg662 reg663 reg664 reg665 reg666 reg667 reg668 reg669"
. *-OLS
. reg lwage educ $bb
Source | SS df MS Number of obs = 3,010
-------------+---------------------------------- F(15, 2994) = 85.48
Model | 177.695576 15 11.8463717 Prob > F = 0.0000
Residual | 414.946035 2,994 .13859253 R-squared = 0.2998
-------------+---------------------------------- Adj R-squared = 0.2963
Total | 592.641611 3,009 .196956335 Root MSE = .37228
------------------------------------------------------------------------------
lwage | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
educ | .0746932 .0034983 21.35 0.000 .0678338 .0815527
exper | .084832 .0066242 12.81 0.000 .0718435 .0978205
expersq | -.002287 .0003166 -7.22 0.000 -.0029079 -.0016662
black | -.1990123 .0182483 -10.91 0.000 -.2347928 -.1632318
smsa | .1363846 .0201005 6.79 0.000 .0969724 .1757967
south | -.147955 .0259799 -5.69 0.000 -.1988952 -.0970148
smsa66 | .0262417 .0194477 1.35 0.177 -.0118905 .0643739
reg662 | .0963671 .0358979 2.68 0.007 .0259801 .1667542
reg663 | .14454 .0351244 4.12 0.000 .0756695 .2134104
reg664 | .0550755 .0416573 1.32 0.186 -.0266043 .1367554
reg665 | .1280248 .0418395 3.06 0.002 .0459878 .2100618
reg666 | .1405174 .0452469 3.11 0.002 .0517992 .2292356
reg667 | .117981 .0448025 2.63 0.008 .0301343 .2058277
reg668 | -.0564361 .0512579 -1.10 0.271 -.1569404 .0440682
reg669 | .1185697 .0388301 3.05 0.002 .0424334 .194706
_cons | 4.620807 .0742327 62.25 0.000 4.475255 4.766359
------------------------------------------------------------------------------
. est store OLS_nearc4
. *-2SLS
. ivregress 2sls lwage $bb (educ = nearc4)
Instrumental variables (2SLS) regression Number of obs = 3,010
Wald chi2(15) = 769.20
Prob > chi2 = 0.0000
R-squared = 0.2382
Root MSE = .3873
------------------------------------------------------------------------------
lwage | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
educ | .1315038 .0548174 2.40 0.016 .0240637 .2389439
exper | .1082711 .0235956 4.59 0.000 .0620245 .1545176
expersq | -.0023349 .0003326 -7.02 0.000 -.0029868 -.001683
black | -.1467758 .0537564 -2.73 0.006 -.2521364 -.0414152
smsa | .1118084 .0315777 3.54 0.000 .0499172 .1736996
south | -.1446715 .027212 -5.32 0.000 -.198006 -.0913369
smsa66 | .0185311 .0215511 0.86 0.390 -.0237083 .0607704
reg662 | .1007677 .0375854 2.68 0.007 .0271017 .1744338
reg663 | .1482588 .0367162 4.04 0.000 .0762964 .2202211
reg664 | .0498971 .0436234 1.14 0.253 -.0356032 .1353974
reg665 | .1462719 .0469387 3.12 0.002 .0542737 .23827
reg666 | .1629029 .0517714 3.15 0.002 .0614328 .264373
reg667 | .1345722 .0492708 2.73 0.006 .0380031 .2311412
reg668 | -.083077 .0591734 -1.40 0.160 -.1990548 .0329008
reg669 | .1078142 .0417024 2.59 0.010 .026079 .1895494
_cons | 3.666152 .9223682 3.97 0.000 1.858344 5.47396
------------------------------------------------------------------------------
Instrumented: educ
Instruments: exper expersq black smsa south smsa66 reg662 reg663 reg664
reg665 reg666 reg667 reg668 reg669 nearc4
. est store _2SLS_nearc4
. *-输出回归结果(屏幕显示结果)
. local m "OLS_nearc4 _2SLS_nearc4"
. esttab `m', mtitle(`m') replace ///
> nogap compress b(%6.3f) s(N r2_a) se ///
> star(* 0.1 ** 0.05 *** 0.01) ///
> addnotes("*** 1% ** 5% * 10%")
------------------------------------
(1) (2)
OLS_nea~4 _2SLS_n~4
------------------------------------
educ 0.075*** 0.132**
(0.003) (0.055)
exper 0.085*** 0.108***
(0.007) (0.024)
expersq -0.002*** -0.002***
(0.000) (0.000)
black -0.199*** -0.147***
(0.018) (0.054)
smsa 0.136*** 0.112***
(0.020) (0.032)
south -0.148*** -0.145***
(0.026) (0.027)
smsa66 0.026 0.019
(0.019) (0.022)
reg662 0.096*** 0.101***
(0.036) (0.038)
reg663 0.145*** 0.148***
(0.035) (0.037)
reg664 0.055 0.050
(0.042) (0.044)
reg665 0.128*** 0.146***
(0.042) (0.047)
reg666 0.141*** 0.163***
(0.045) (0.052)
reg667 0.118*** 0.135***
(0.045) (0.049)
reg668 -0.056 -0.083
(0.051) (0.059)
reg669 0.119*** 0.108***
(0.039) (0.042)
_cons 4.621*** 3.666***
(0.074) (0.922)
------------------------------------
N 3010.000 3010.000
r2_a 0.296 0.234
------------------------------------
Standard errors in parentheses
*** 1% ** 5% * 10%
* p<0.1, ** p<0.05, *** p<0.01
我们看到上述结果中有趣的一点是:OLS 估计的教育回报的边际效应是 7.5%
,约为 IV 估计的 13.2%
的一半,带来的直观结果是 OLS 并没有高估教育回报。而我们在理论分析中通常认为由于遗漏了能力这个重要变量,OLS 会高估教育对工资的边际回报。Card 在 1993 年发表了使用 是否在大学附近成长
作为工具变量研究教育回报率的文章,在后续推文中,我们将详细介绍这个文献案例,敬请关注。
Christopher F. Baum (2006). An Introduction to Modern Econometrics Using Stata. Cameron, A. Colin and Trivedi Pravin K. (2009). Microeconometrics Using Stata. Wooldridge, J. M. (2012). Introductory Econometrics A Modern Approach.
连享会-直播课 上线了!
http://lianxh.duanshu.com
免费公开课:
直击面板数据模型 - 连玉君,时长:1小时40分钟 Stata 33 讲 - 连玉君, 每讲 15 分钟. 部分直播课 课程资料下载 (PPT,dofiles等)
支持回看,所有课程可以随时购买观看。
Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。直播间 有很多视频课程,可以随时观看。 连享会-主页 和 知乎专栏,300+ 推文,实证分析不再抓狂。 公众号推文分类: 计量专题 | 分类推文 | 资源工具。推文分成 内生性 | 空间计量 | 时序面板 | 结果输出 | 交乘调节 五类,主流方法介绍一目了然:DID, RDD, IV, GMM, FE, Probit 等。 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法
等

连享会主页 lianxh.cn
连享会小程序:扫一扫,看推文,看视频……