我的数据有很多缺失值,我必须预测这些值。一种方法是取这些值的平均值。但我想听听另一种观点。经验丰富的数据科学家如何解决此类问题?
您的缺失值是分类的还是连续的?
一种方法是完全删除样本,但这可能会导致采样偏差,因为缺失值可能是某种因果效应的结果,即缺失值不是完全随机缺失的。
如果数据具有足够的维度,则可以将缺失值视为输出,并尝试应用预测模型,并希望它可以在给定已有解释变量的情况下忠实地估计缺失值。
选择最常见的值、中位数或您指出的平均值也可能是一种选择,但是在平均时要小心异常值,因为这些异常值会对平均值产生巨大影响。
这取决于变量的性质,可能是一些统计数据,如平均值或中位数。另一种做法是给缺失的变量分配一些与其他变量不同的值,例如 0、-1 或类似的东西。
最困难的方法是对数据集进行估算,不要偏离事实太远。下面有一个测试来验证你做得有多好。如果其他参数提供了足够的证据洞察力,可以对缺失的数据进行一定程度的精确插补......它应该能够使用现有数据来做到这一点。
因此,如果缺少 60% 的列,请获取此列所在的行观察值。
接下来,随机选择删除 60% 的此子集数据。现在运行您选择的插补方法。
将插补数据集与真实数据集进行比较,以确保相似性。确定它们是否足够接近,然后针对完整数据集运行此数据。至少如果你需要保护自己,这种方法会给你一条腿可以站立。
打好仗。