温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
New!
lianxh
命令发布了:
随时搜索推文、Stata 资源。安装命令如下:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
⛳ Stata 系列推文:
秦范 (四川大学,qf13032861571@163.com)
连玉君 (中山大学,arlionn@163.com)
目录
社会调查数据难免会有缺失值,常见情形之一是问卷题目跳转,比如未婚群体「婚姻幸福度」缺失,失业人群「就业满足度」缺失;一般而言,缺失值有实际值,但由于受访者拒答、隐瞒或谎报造成答案不合理、追踪调查数据后期未能成功追访等原因无法观测。比如每个受访者都有年龄的实际值,但有些人不愿意报告。
缺失值的处理也见仁见智,如果缺失情形满足 MCAR (缺失完全随机,Missing Completely at Random) 则可直接删除缺失值获得无偏估计,也可适当采取单一补漏、多重补漏等处理方式,但没有统一标准。
本文主要和大家介绍数据缺失值直接替换为 0 的处理方式。
只有当你有足够理由说明缺失数据的实际值为 0 时,才能将缺失值替换为 0,否则不可。 (参考 Statalist 问题「When should missing data, in numerical variables, be replaced by zeros?」中 Clyde Schechter 的回答)
在 PMean: Can I replace missing values with zero? 这篇博客中,作者也提出,「有时,缺失值就表示没有,比如调查工资、利息、股息和特许权使用费四种收入构成时,受访者没有回答股息收入是因为没有这种收入」,这种情况下,将缺失值替换为 0 就比较合理。
Allison (2010) 中介绍了 虚拟变量调整 (Dummy variable adjustment) 这种方法,书中举例如下。
某变量缺失处理步骤如下:
该方法可以用于所有解释变量。该方法的好处在于没有删除缺失值,将所有可获信息包含在回归模型中。但可能会造成估计偏误,如果无偏估计不是必需的,可采用这一方法。
参考资料:Allison, Paul D. Missing data. Thousand Oaks, CA: Sage, 2010. -PDF-,pp. 638-639
由此可见,将缺失值替换为 0 是虚拟变量调整法的特殊情形之一。
在公司财务研究中,我们经常需要把「研发支出 (R&D)」作为一个解释变量放入模型,然而,该变量往往存在严重的缺失值。棘手之处在于,我们难以判断这些缺失值到底是因为公司的研发支出为零 (这种情况下将缺失值替换为零是没有问题的),还是它们出于商业机密考虑没有披露研发支出数据 (这种情况下的研发支出反而可能很高)。
多篇大牛的文章都是采用上述方法进行处理的,这种方法的始作俑者应该是「样本选择偏误」的大佬 Hausman 教授 (Hausman et al., 1984, pp. 912)。
如下是连老师的一篇工作论文「连玉君, 黄曼琪, 王俊. 中国上市公司关注目标市场资本结构吗? 2021, 工作论文」中一个脚注中的表述:
「本文将未披露研发费用的上市公司的研发费用一项取值为 0。为了控制由此可能导致的样本选择偏差,参考 Fama and French (2002, pp. 21) 和 Flannery and Rangan (2006, pp. 477) 等人的做法,为了区分研发费用真实值为 0 与研发费用缺漏的观察值,加入是否披露研发费用的虚拟变量作为控制变量。这一做法最早源于)。」
下面,我们对上述脚注中提及的几篇文章的处理方法做个简单的介绍:
Flannery and Rangan (2006) 就采用了将 R&D 支出缺失值替换为 0 的虚拟变量调整法。首先,生成 R&D_DUM 哑变量,当 R&D 支出缺失则取值为 1,否则取值为 0;其次,将 R&D 支出缺失值替换为 0;最后,将 R&D 支出和 R&D_DUM 哑变量同时加入回归。
参考资料:Flannery, M. J. and Rangan, K. P. Partial Adjustment toward Target Capital Structures[J], Journal of Financial Economics, 2006, 79(3): 469-506. -PDF-, pp. 477
Fama and French (2002) 的模型中也加入了表示 R&D 支出为缺失值的哑变量。
参考资料:Fama, E. F. and French, K. R. Testing Trade-Off and Pecking Order Predictions About Dividends and Debt[J], The Review of Financial Studies, 2002, 15(1): 1-33. -PDF-, pp. 21
上述例子,我们无法明晰 R&D 支出缺失则替换为 0 的合理性,但在 Hausman et al. (1984) 中很明显。其中,
参考资料:Hausman, Jerry A, Bronwyn H Hall, and Zvi Griliches. 1984. Econometric Models for Count Data with an Application to the Patents-R&D Relationship. Econometrica 52 (4): 909–938. -PDF-, pp. 912
Stata 中有多种方法可以把缺失值替换为 0。最基本的方法就是使用 replace
命令:
replace x=0 if x>=. | missing(x)
或采用 mvencode
命令进行批量处理:
mvencode x1 x2 x3, mv(0)
也可以采用循环语句:
global X "x1 x2 x3"
foreach var of varlist $X {
replace `var' = 0 if `var'>=.
}
总体而言,虚拟变量调整(Dummy variable adjustment),或将缺失值替换为 0 适用情形很有限,直接使用会造成估计偏误问题。
最后,以 Allison (2010) 概要作结:一般而言,删除缺失值是最好的方法,因为如果缺失完全随机 (MCAR) 则估计无偏,如果缺失变量作为解释变量做回归,则即使缺失不随机也能实现无偏估计。但为了尽可能不减少样本量,建议采用多重补漏,尤其是极大似然法。
Note:产生如下推文列表的 Stata 命令为:
lianxh 缺失值 离群值
安装最新版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