你有没有发现,尽管你知道很多缺失数据填补的方法,但每次数据分析,都在很难拿定具体的补全方法。我想可能的原因是你还只停留在技术层面,而不理解内在关系,那么请完成以下阅读吧。
首先我们需要明白的是,没有任何方法能够完美解决这个问题。不同问题有不同的数据插补方法——时间序列分析,机器学习,回归模型等等,很难提供通用解决方案。但这也并不代表完全没有规则可遵循。这里,我将试着串联一些要点,总结最常用的方法,并寻找一个结构化的解决方法。
一、了解缺失属性
缺失存在不可避免,不管缺失严重与否,最需要掌握的应是缺失数据的属性。缺失数据的随机性可分三类:
- 完全随机缺失(missing completely at random,MCAR):指的是数据的缺失是完全随机的,不依赖于任何不完全变量或完全变量,不影响样本的无偏性。如家庭地址缺失。
- 随机缺失(missing at random,MAR):指的是数据的缺失不是完全随机的,即该类数据的缺失依赖于其他完全变量。例如财务数据缺失情况与企业的大小有关。
- 非随机缺失(missing not at random,MNAR):指的是数据的缺失与不完全变量自身的取值有关。如高收入人群的不原意提供家庭收入。
根据缺失数据的随机性的分类发现一个重点,就是有缺失数据的变动可能会影响到其他特征或整体数据,即带来对数据的偏移,进而导致模型出现偏差。事实上,在前两种情况通常可以删除和填补缺失;而在第三种情况下需要对删除数据非常谨慎。
二、删除缺失的方法
- 列表删除 :删除包含缺失的