温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
New!
lianxh
命令发布了:
随时搜索推文、Stata 资源。安装命令如下:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
⛳ Stata 系列推文:
作者:吕文渊 (华盛顿大学/韩国发展研究院公共政策学院 KDI School)
邮箱:lwy1022@uw.edu
目录
首先,我们先来复习一下工具变量 (Instrument Variable) 的基本知识。最简单的 OLS 回归模型:
其中自变量
对于内生性问题最直接的解决方法之一是工具变量的使用 (下图所示)。因为工具变量可以通过两阶段最小二乘法将
对此,有两种可行的方案:(1) 将
至此,可以说两种方案都不够令人满意,所以学者们考虑采取第 (3) 种方案:将连续型工具变量转换成为二值虚拟变量。这样处理的好处颇多:
Curci 等 (2019) 开发了将连续型工具变量转换为虚拟变量的命令 discretize
。该命令能提供一个数据驱动过程来构建一个离散的工具变量,并且边界取的是第一阶段 F-statstics 最大的值,这解决了上文所说的边界决定因人而已异的问题。该命令的主要优势在于:
*命令安装
lxhget discretize.ado, replace //将 discretize.ado 放到 Stata 对应的程序文件夹下
*第一阶段估计的语法
discretize contvarname, endogenous(varname) range(min/max) interval(min(step)max)
contvarname
:连续型工具变量 (取整数,因为循环运算不能很好地处理小数);Endogenous(varname)
:内生变量;range(min/max)
:取值范围;Interval(min(step)max)
:检验虚拟变量 “门槛” 的最小和最大的区间,和检测步长 (step)。*第二阶段估计的语法
discretize contrvarname, endogenous(varname)
range(min/max) interval(min(step)max)
interval(min(step)max) second depvar(varname)
在第二阶段估计中,仅加入了第二阶段因变量命令 second depvar
,并使用 ivregress
进行两阶段最小二乘法的估计。在这个主命令下还有其他可使用的选项:
exogenous (varlist)
:表示在一阶段和第二阶段使用到的外生变量 (可多个);interact(varname)
:与 IV 相关的交互变量;xt(estimator)
:面板数据估计也可以使用 xtreg
和 xtivreg
;vce(vcetype)
:增加聚类标准误;print
:显示结果值;save
:保存结果文件 (结果是在 95% 置信区间下);graph
:呈现系数估计或 F 统计量的图像。
该命令是 Curci 和 Masera (2018) 的产物。如果要举例说明命令 discretize
的使用,莫过于使用这篇论文作为例子。我们先来解一下作者论文的故事大概。该文主要是研究城市的 “郊区化” (suburbanization,即大量人口从城市中心转移到郊区的过程),作者认为这种郊区化趋势是可以用犯罪率来解释的——由于城市中心的犯罪率高,导致富裕阶级会迁移至郊区。但是犯罪率与郊区化趋势存在内生性问题,为此作者选取土壤灰尘里的铅含量 (lead poisoning) 作为工具变量来克服上述内生性问题。之所以选取该工具变量,主要是因为:
综上所述,化学理论可以让我们做出一个合理预测,即城市的土壤性质如果越趋向中性,则犯罪率理论上应该会相应降低。所以该工具变量与高危犯罪率之间存在着明显的非线性关系,可能会在某一个区间内会呈现更明显的相关性。
我们来看一下 “郊区化” 的衡量指标和其 OLS 模型:
其中,
然而,由于模型中的平均犯罪率和郊区化程度存在互为因果和遗漏变量偏误等问题,所以使用四乙铅做为工具变量。土壤中的铅含量与郊区化本身没有关系 (1960 年代的人也没有这个意识和相关科学知识,不会有自选择偏误),但是含铅量与犯罪率密切相关,并且含铅量本身是一个连续型变量。所以,使用工具变量后的第一阶段估计模型为:
上述式子表示,城市犯罪率
对模型有了一定了解后,接下来进入核心代码编写时间。其中关键便是工具变量转换成虚拟变量的技术处理。作者使用 discretize
命令进行第一阶段估计的前期处理。Ph 值作为工具变量,取 6.5-8 的范围内进行测试 (最小为 5,最大为 10,间隔为 1,即 Ph 值 0.1 ,进行反复测试),加入各种内外生控制变量后,结果如下所示。我们可以看到 r1 为 F-statistics 最大值的区域,即 Ph 值上限为 7.7,下限为 6.8 的范围内。由此,我们可以确定 IV 进行分界的标准,即 Ph 值 6.8-7.7 区间。
基于上述测试结果,建立好土壤 (good_soil) 变量 (该地区的生物可容性的代理变量) —— Ph 值在 6.8 到 7.7 区间。然后使用 xtivreg
命令 (针对面板数据的工具变量 2SLS) 进行模型估计。其中,自变量为标准化后的犯罪率 (standardized_vc),而工具变量为好土壤*铅含量 (good soil * Lead),于是可以看到系数估计为 -0.072 左右 (原文图表中系数经过一系列固定效应调整后,稳定在 -0.0018) 。
然后,我们再进行第二阶段分析。在重复第一阶段命令基础上,加入因变量市中心人口密度 (perc_cc)。由下图可以看出,在之前的界限内估计系数的绝对值最大。
作者还用 graph
命令将第一阶段 IV 转换的数据可视化。我们可以清晰地观察到原始 IV 进行转换的上下界,其泡泡图最大值 (即 F 统计量) 确实是在下界 (lower bound) 68,和上界(upper bound) 77 的位置。而第二阶段在这个范围内的系数估计也是最大的蓝色气泡之一 (其他较大蓝色气泡点存在更大的标准误),且周围系数波动小,所以较为平均。从敏感性分析的角度而言也证实了系数的稳定性。由此, 原本对于第二阶段系数敏感性过高的担忧也可以烟消云散了。
Note:产生如下推文列表的 Stata 命令为:
lianxh 工具变量, m
安装最新版lianxh
命令:
ssc install lianxh, replace
免费公开课
最新课程-直播课
专题 | 嘉宾 | 直播/回看视频 |
---|---|---|
⭐ 最新专题 | 文本分析、机器学习、效率专题、生存分析等 | |
研究设计 | 连玉君 | 我的特斯拉-实证研究设计,-幻灯片- |
面板模型 | 连玉君 | 动态面板模型,-幻灯片- |
面板模型 | 连玉君 | 直击面板数据模型 [免费公开课,2小时] |
⛳ 课程主页
⛳ 课程主页
关于我们
课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法
等
连享会小程序:扫一扫,看推文,看视频……
扫码加入连享会微信群,提问交流更方便
✏ 连享会-常见问题解答:
✨ https://gitee.com/lianxh/Course/wikis
New!
lianxh
命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh