关于缺失值插补的建议

机器算法验证 数据插补
2022-04-02 18:48:08

我正在研究保险数据,其中客户有一个名为customer_no_dependent(客户的受抚养人数量)的字段。它是一个重要的变量(只是它有)。p<0.0001

这个变量有将近 20% 的缺失值。对于插补,我想确定受抚养人数量的代理指标。我尝试了年龄(认为年龄更大的人可能有更多的家属)。我也将其与保费金额相关联,以认为拥有更多受抚养人的人可能拥有更少的可支配收入。因此,低保费支付可能意味着更多的受抚养人。我确实理解人口统计变量不能完全从这种逻辑中取出。

现在,如果有人详细说明,他可以证明我的估算远非完美。在这种情况下我该怎么办?删除那 20% 会是一个正确的解决方案吗?我的数据的 20% 将接近 20 万行,这是大量信息。

我知道,这个问题可以有很多可能的答案。对于如何进行的任何指示,我将不胜感激。

2个回答

首先:从您的解释中不清楚您是否进行了多重插补。如果不是:请这样做:单一插补可能比简单的完整案例分析更糟糕,并且都可能导致严重偏差的结果。

接下来,如果我理解正确,您的问题是您不知道将哪些变量用作插补模型的协变量。如果您可能的协变量数量(我假设这些是您感兴趣的模型中的其他协变量)是有限的,您可以选择由 MICE(在 R 中)和类似算法提供的非参数类型的插补。

另一种选择是在预测 customer_no_dependent 的模型中使用收缩(LASSO 或类似方法):这应该为您提供一组可能的预测变量。但请注意,此步骤会引发更多不确定性(您再次重复使用数据),您应该少相信置信区间和 p 值。如果您的关联确实如您所指示的那样强大,那么效果应该可以忽略不计。

如果您确实使用了那种参数和常识诱导的插补机制(例如回归“可信”预测变量):只需记下这一事实,并提及获得的结果取决于这组额外的假设。

我不知道您是否有 SAS 经验,但我使用 SAS PROCs MI 和 Mianalyze 在几个不同的模型中执行(然后综合)多重插补。建立“插补模型”(这会产生缺失数据的无偏估计,并结合在非缺失数据中发现的不确定性)可能是最困难的任务。插补模型将包括所有或大部分分析变量(即分析模型中的预测变量),以及辅助变量——与因变量、缺失状态或两者相关的其他变量。(注意:您可能希望使用 p < .15 作为第一个阈值。)

然后选择参数,例如迭代次数(在第一次插补之前和迭代之间)、估计方法、采样方法等。当然,在所有这些之前,应该确定导致丢失数据的原因,以及缺失数据是 MCAR(完全随机缺失)、MAR(随机缺失)还是 MNAR(非随机缺失)。解释这些超出了本论坛的范围,但是——如果您不熟悉这些术语——网络上有许多很好的介绍性描述。

根据您的插补模型的候选变量数量,上述操作可能非常耗时;但是,这具有澄清驱动插补的“一线希望”的优势。还有许多很好的诊断工具可以让您评估和比较不同的插补模型。

Mplus 使人们能够更快地完成所有这些工作;基本上,它使用 ML 估计来模拟丢失的状态。您可以在 statmodel.com 上阅读更多相关信息。

我同意单一插补或删除所有缺失的案例可能不是最好的方法,当然,这取决于您的研究问题。如果 SAS 是一种可用的语言,并且您想更详细地讨论这个问题,请发帖。