Stata数据处理:缺失值类型及应对方法

发布时间:2023-04-06 阅读 2012

Stata连享会   主页 || 视频 || 推文 || 知乎 || Bilibili 站

温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。

New! lianxh 命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc, ihelp, rdbalance, gitee, installpkg

课程详情 https://gitee.com/lianxh/Course

课程主页 https://gitee.com/lianxh/Course

⛳ Stata 系列推文:

PDF下载 - 推文合集

作者:刘梓茵

编者按:本文主要摘自 All About Missing Data Handling,特此致谢!


目录


1. 数据缺失类型

第一类:随机完全缺失 (MCAR/Missing Completely at Random)

当我们说随机完全缺失时, 我们的意思是缺失量与正在研究的观测因素无关。例如,称重秤电池耗尽、问卷在邮寄时丢失,血液样本在实验室中损坏。MCAR 是一个理想但不合理的假设。

通常来说,当数据因实验设计、设备故障或样品在运输过程中丢失或技术上不符合要求而缺失时,数据被视为 MCAR。 MCAR 数据的统计优势在于分析保持无偏

下面是 MCAR 的图示,其中缺失量与变量 XY 无关,但与 Z 有关。

让我们来看看移动数据的一个示例。这里,一个样本数据有一个缺少值,不是因为变量的原因,而是因为其他原因。

第二类:随机缺失 (Missing at Random/MAR)

当我们说随机缺失时,我们的意思是部分缺失量与分析模型中的一些其他完全观察到的变量 X 有关,但与 Y 本身的值无关。

MAR 的图示如下,其中缺失值与变量 X 相关,但与 Y 无关。它可以具有其他关系 Z。它与缺失的信息无关。例如,如果孩子因为生病而没有参加体检,这可能可以从其他有关孩子健康的数据中预测,但这与我们在孩子没有生病的情况下检查的内容无关。

有些人可能认为 MAR 不会导致结果有问题。然而,MAR 并不意味着可以忽略缺失的数据。

第三类:非随机缺失 (Missing not at Random/MNAR)

如果数据字符不符合 MCAR 或 MAR 的要求,则它们属于非随机丢失 (MNAR)。

当数据缺失,但不是随机时,缺失与缺失的内容具体相关,例如,一个人因为前一天晚上服用了药物而没有参加药物测试。一个人由于英语语言能力差,没有参加英语能力测试。

MNAR 情况的数据是有问题的。在这种情况下,获得参数无偏估计的唯一方法是对缺失的数据进行建模,但这需要对缺失变量的正确理解和领域知识。该模型可以被合并到更复杂的模型中,用于估计缺失值。

MNAR 的图示如下,其中缺失值与变量Y直接相关。它也可以有其他关联 (与 XZ)。

2. 缺失数据处理

2.1 尝试获取

当还处于类似调查的数据收集阶段,这种策略是完全有可能的。在这种情况下,调查者可以在受访者离开房间之前,检查一下需要的数据是否全部收集到了。有时,还可以再联系数据来源,比如再次询问缺失值的问题以获得答案。在现实场景中,这种办法很难做到。

2.2 合理推测

这种办法听起来很武断,并不是首选的行动方案,但有时可以根据其他结果推断出缺失的值。例如,有些调查参与者在面对矩阵相关的问题时,经常回答 2,则假设缺失值为 2。

2.3 舍弃数据

按行删除 (complete-case analysis—CCA):处理数据缺失值最常见方法是省略掉含有缺失值的样本,并分析剩余样本数据。这种方法被称为完整案例 (或可用案例) 分析或按行删除。

如果有足够大的样本,删除少量样本不是问题,并且满足 MCAR 的假设,则按行删除可能是一种合理的策略。然而,当不满足大样本或 MCAR 假设时,按行删除不是最佳策略。如果只是不满足 MCAR 假设,也会引入偏差。

成对删除 (available case analysis—ACA):在这种情况下,只忽略缺失的观察结果,并对样本存在的其他数据进行分析。如果数据在某些地方集中缺少,则只使用现有值。由于成对删除保留使用所有观察到的信息,因此它比按行删除保留更多的信息。

已知成对删除对 MCAR 或 MAR 数据造成的偏差较小。然而,如果缺失许多的观察结果,则分析仍然存在较大误差。成对删除的问题是,即使分析使用了部分有价值的数据,分析者仍然不能将分析结果进行比较,因为数据结果不够完整。

删除变量:如果某个变量指标缺少太多数据,可以选择从数据集中删除变量或列。对此没有特别的规定什么时候这样做,完全取决于情况。这应该是没办法的办法,在完全删除变量之前,需要对数据进行适当的分析,检查删除变量后模型性能是否有所改善。

2.4 保留所有数据

任何插补技术都旨在生成一个完整的数据集,然后可以用于机器学习。但是我们几乎没有办法进行插补以保留所有数据用于分析和构建模型。

平均数原则、众数原则、半数原则:这种插补技术的目标是用已有数据的统计估计值替换缺失数据。平均值、中值或众数可用作插补值。在均值替换中,使用一个变量的均值来代替该变量缺失的数据值。这样做的好处是不改变该变量的样本均值。均值替代的理论背景是,均值是从正态分布中随机选择的观测值的合理估计。

然而,对于非严格随机的缺失特别是在不同变量缺失值数量存在极大不平等的情况下,均值替代法可能会导致不一致的偏差。原始方差的失真和数据集中其他变量的同方差的失真是该方法的两个主要缺点。

当变量倾斜分布时,可以使用中值。

众数替换的基本原理是用最频繁出现的值替换缺失值的总体,因为这是最可能发生的情况。

前次观察结果延替 (Last Observation Carried Forward/LOCF):如果数据是时间序列数据,最广泛使用的插补方法之一是最后一次观测延替 (LOCF)。即每当缺少某个值时,将用最后一个观察到的值替换该值。这种方法是有好处的,因为它易于理解。不过,虽然这种方法很简单,它倾向于认为假设结果的值因缺少数据而保持不变,这在许多情况下似乎不太可能。

下次观察结果延替 (Next Observation Carried Backward/NOCB):和 LOCF 的方法正相反,在缺失值之后进行第一次观察,然后将结果向前推动。

多重插补 (MI):多重插补是一种处理缺失数据的统计技术。MI 的关键概念是使用观测数据的分布来估计缺失数据的一组合理值。随机分量被纳入这些估计值中,以显示其不确定性。创建多个数据集,然后进行单独但相同的分析,以获得一组参数估计值。组合估计值以获得一组参数估计值。

多重推断的好处是,恢复缺失值的自然变异性包含了缺失数据导致的不确定性,从而得出有效的统计推断。作为一种处理多个缺失变量的灵活方法,应用链式方程多重插补 (MICE) 方法。有关MI和MICE的更多信息,请参阅参考部分。以下是MICE的示意图。

线性回归:在回归插补中,使用现有变量进行预测,然后将预测值替换为实际获得的值。这种方法有几个优点,因为与列表或成对删除相比,插补保留了大量数据,并避免了显著改变标准差或分布形状。然而,与均值替代一样,当回归插补替代从其他变量预测的值时,没有添加新的信息,而样本量增加了,标准误差减少了。

随机森林:随机森林是一种非参数插补方法,适用于各种变量类型,在数据随机缺失和非随机缺失的情况下都能很好地工作。随机森林使用多个决策树来估计缺失值,并输出OOB (开箱即用) 插补误差估计值。一个警告是,随机森林在大数据集上效果最好,在小数据集上使用随机森林会有过度拟合的风险。

k-NN (k 最近邻居):k-NN 基于最近的 k 近邻来估算缺失的属性值。基于距离度量确定邻居。一旦确定了 K 个邻居,则通过获取缺失属性的已知属性值的平均值/中值或模式来估算缺失值。

期望最大化:期望最大化 (EM) 是用于创建新数据集的最大似然方法。所有缺失值均采用最大似然法估算的值进行估算。这种方法从期望步骤开始,在此过程中,可能使用列表删除来估计参数 (例如,方差、协方差和均值) 。然后使用这些估计值创建回归方程,以预测缺失的数据。最大化步骤使用这些等式来填充缺失的数据。然后用新的参数重复期望步骤,确定新的回归方程以“填充”缺失的数据。重复期望和最大化步骤,直到系统稳定。

3. 相关推文

Note:产生如下推文列表的 Stata 命令为:
lianxh
安装最新版 lianxh 命令:
ssc install lianxh, replace

相关课程

免费公开课

最新课程-直播课

专题 嘉宾 直播/回看视频
最新专题 文本分析、机器学习、效率专题、生存分析等
研究设计 连玉君 我的特斯拉-实证研究设计-幻灯片-
面板模型 连玉君 动态面板模型-幻灯片-
面板模型 连玉君 直击面板数据模型 [免费公开课,2小时]
  • Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。

课程主页

课程主页

关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 连享会-主页知乎专栏,700+ 推文,实证分析不再抓狂。直播间 有很多视频课程,可以随时观看。
  • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法

连享会小程序:扫一扫,看推文,看视频……

扫码加入连享会微信群,提问交流更方便

✏ 连享会-常见问题解答:
https://gitee.com/lianxh/Course/wikis

New! lianxhsongbl 命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh