Stata数据处理:缺失值与多重补漏分析(一)
👇 连享会 · 推文导航 | www.lianxh.cn
🍎 Stata:Stata基础 | Stata绘图 | Stata程序 | Stata新命令 📘 论文:数据处理 | 结果输出 | 论文写作 | 数据分享 💹 计量:回归分析 | 交乘项-调节 | IV-GMM | 时间序列 | 面板数据 | 空间计量 | Probit-Logit | 分位数回归 ⛳ 专题:SFA-DEA | 生存分析 | 爬虫 | 机器学习 | 文本分析 🔃 因果:DID | RDD | 因果推断 | 合成控制法 | PSM-Matching 🔨 工具:工具软件 | Markdown | Python-R-Stata 🎧 课程:公开课-直播 | 计量专题 | 关于连享会
「十年口碑,桃李三千」
🎦 2021 Stata 暑期论文班
📅 2021 年 7 月 28-30 日
🔑 江艇 (中国人民大学)
🍓 课程主页:https://gitee.com/lianxh/PX
作者:孟佳音 (University College London)
邮箱:jiayin.meng.20@ucl.ac.uk
目录
1. 理解数据缺失
2. 数据缺失模式与机制
2.1 数据缺失常见模式
2.2 数据缺失机制
3. 处理数据缺失的传统方式
3.1 直接删除法
3.2 单一插补法
4. 多重插补初探
5. 参考资料
6. 相关推文
缺失值与多重补漏分析系列推文
Stata数据处理:缺失值与多重补漏分析(一) Stata数据处理:缺失值与多重补漏分析(二) Stata数据处理:缺失值与多重补漏分析(三)
温馨提示: 文中链接在微信中无法生效。请点击底部「阅读原文」。或直接长按/扫描如下二维码,直达原文:
1. 理解数据缺失
数据处理作为实证分析的基础,是一个十分繁琐的过程。我们搜集来的数据 (尤其是问卷调查数据) 往往存在各式各样的问题,其中最主要的问题之一就是存在缺失数据 (Missing data)。
如何更好的应对数据缺失的问题呢?本文将从数据缺失背后的理论机制讲起,作为 “数据缺失与多重插补” 专题的第一篇推文,力求帮助大家深入浅出地理解缺失数据的处理方法。
数据缺失的定义:
数据缺失 (Missing data) 是指那些实际未观测到,但是如果观测到会有意义的值。也就是说,缺失数据隐藏了有价值的信息。更直白点讲,计划收集用于研究,但未收集到的数据均可看作缺失数据。
数据缺失的原因:
信息未被采集到; 信息被采集后丢失; 信息被采集后认定有误并被删除。
数据缺失的影响:
削弱数据能效 (reduce power); 分析过程中需要缺失数据满足相应假设 (analysis requires untestable assumptions); 错误的假设可能导致结果偏误 (wrong assumptions can lead to bias)。
2. 数据缺失模式与机制
处理缺失数据的关键在于识别不同类型的缺失数据,针对不同类型的缺失数据,采用相匹配的处理方法。本小节从数据缺失模式 (pattern) 和数据缺失机制 (mechanism) 两方面进行讲解。
2.1 数据缺失常见模式
数据缺失模式 (missing data pattern) 是指在一个数据集中,数据观测值和数据缺失值的结构。其中最常见的模式有以下三种:
单一模式 (Univariate Pattern):缺失值均属于同一个变量; 单调模式 (Monotone Pattern):典型的面板数据中被调查对象退出调查且后续不再返回; 一般模式 (General Pattern):缺失值在数据集中随机散布。
下图展示了三种不同的缺失数据模式,其中灰色部分表示数据缺失。
在 Stata 中,可用如下命令识别缺失数据:
misstable summarzie, gen (m_)
tab m_*
misstable pattern
misstable pattern, freq
2.2 数据缺失机制
Rubin (1976) 提出了被广为认可的数据缺失机制,用来描述缺失值存在的概率与数据的关系。他将缺失数据分为如下三种:
完全随机缺失数据 (Missing Completely at Random Data,MCAR):数据缺失的概率与数据集中的任何数据均无关; 随机缺失数据 (Missing at Random Data,MAR):变量 Y 数据缺失的概率与模型中其他变量相关,但与变量 Y 本身无关; 非随机缺失数据 (Missing Not at Random Data,MNAR): 变量 Y 数据缺失的概率即使在控制其他变量以后,仍与 Y 本身有关。
由于这个定义容易让人产生混淆,本节内容借鉴 Enders (2010) 的做法,引入一个简单的例子进行概念描述。我们模拟一个员工试用期表现得分 (job performance rating),并与员工 IQ 测试得分 (IQ) 进行比较。下图展示了完全数据 (complete)、完全随机缺失数据 (MCAR)、随机缺失数据 (MAR) 和非随机缺失数据 (MNAR) 四种情况。
图中 MCAR 列表示的缺失数据是完全随机的;MAR 列表示的缺失数据只与 IQ 得分有关,IQ 得分低的数据存在缺失;MNAR 列表示的缺失数据与员工试用期表现得分本身相关,表现得分低的数据存在缺失。
3. 处理数据缺失的传统方式
常用的缺失数据处理方法可以总结成两大类,分别为直接删除法 (Deletion Method) 和单一插补法 (Single Imputation Method)。本节内容对两种常见方法进行简单的介绍,每种方法均有其适用情景以及相对应的优缺点。
3.1 直接删除法
直接删除法中最常用的方法为成列删除和成对删除:
成列删除 (Listwise Deletion, Complete-Case Analysis):删除所有存在缺失值的个体; 成对删除 (Pairwise Deletion, Available-Case Analysis):只删除需要用到的变量存在缺失值的个体。
直接删除法简单、易操作,但是它们要求缺失数据是「完全随机缺失数据 (MCAR)」,否则会产生明显的偏误。此外,即使缺失数据满足 MCAR 条件,直接删除法会造成数据的浪费,大大削弱分析的效能 (reduce power)。
3.2 单一插补法
单一插补 (Single Imputation) 名称的由来是因为这些方法为每个缺失的数据点生成一个单一的替换值,与多重插补 (Multiple Imputation) 是不同的。多重插补是创建数据集的多个副本,并对每个副本使用不同的估计方法来估算缺失值。本文只简单列举单一插补法中的不同方法,不做展开,有兴趣的读者可以参考 Enders (2010)。
算术平均插补法 (Arithmetic Mean Imputation); 回归插补法 (Regression Imputation); 随机回归插补法 (Stochastic Regression Imputation)。
单一插补法的优势在于创建了完整的数据集,使那些在直接删除法中会被删除的数据得以利用。但是大部分单一插补法,即使在缺失数据是 MCAR 的情况下,均会产生有偏估计 (随即回归插补是例外,其是唯一可以对 MAR 数据产生无偏估计的方法)。此外,单一回归插补法会使「标准误被低估,导致置信区间过窄」。
4. 多重插补初探
多重插补法 (Multiple Imputation) 为单一插补法下的标准误低估问题提供了一个解决方案。其可以通过引入观测数据的可变性、估计插补模型的不确定性和生成插补值的不确定性增加数据的标准误。多重插补的理论源于是单一插补法中的随机回归插补,但是其数学基础来自贝叶斯估计。多重插补 (MI) 一般涉及以下三个步骤:
插补阶段 (Imputation Phase):创建数据集的 m 个副本,每个副本中包含对缺失值的不同估计; 分析阶段 (Analysis Phase):将分析模型拟合到 m 个数据集中; 汇集阶段 (Pooling Phase):使用 Rubin 法则将 m 组结果汇集成一个结果。
Stata 中多重插补的操作可使用如下命令:
*准备工作mi set flong/mlong/wide //为 MI 声明数据结构mi register imputed //声明要插补的变量
*插补阶段mi impute regress/logit //单一插补法mi impute monotone/mvn/chained //多重插补法
*分析与汇集阶段mi estimate //分析并整合结果
5. 参考资料
Little, R. J., & Rubin, D. B. 2019. Statistical analysis with missing data (Vol. 793). John Wiley & Sons. -Book- Enders, C. K. 2010. Applied missing data analysis. Guilford press. -Book- Rubin, D. B. 1976. Inference and missing data. Biometrika, 63(3), 581-592. -PDF- University College London PhD Course: Missing Data and Multiple Imputation for Cross-Sectional and Longitudinal Data
6. 相关推文
Note:产生如下推文列表的 Stata 命令为:
lianxh 缺失值 填充 贝叶斯
安装最新版lianxh
命令:
ssc install lianxh, replace
专题:Stata教程 Stata:贝叶斯方法-bayes 专题:Stata命令 Stata:让缺失值一览无余 专题:数据处理 缺失值能否用零代替?-L117 Stata缺失值专题:多重补漏分析 Stata:缺失值的填充和补漏 Stata数据处理:面板数据的填充和补漏
New! Stata 搜索神器:
lianxh
和songbl
GIF 动图介绍
搜: 推文、数据分享、期刊论文、重现代码 ……
👉 安装:
. ssc install lianxh
. ssc install songbl
👉 使用:
. lianxh DID 倍分法
. songbl all