很多时候数据集不完整,需要补充数据,本文总结一下处理缺失值的一般方法:
1,填0
2,绝对均值(各个特征分别计算)
3,条件均值(如果能够估算相应特征的概率密度函数)
4,根据K近邻数据的均值填补
5,丢掉。(大数据集适用)
6,如果能够估算概率密度函数,可根据概率密度函数随机生成数字进行填补。这里需要估算概率密度函数的统计特性参数。可根据EM算法来估算(EM算法会另文介绍)。
7,多重填补。使用多个方法6的参数(记为theta)比如m个theta。估算m个缺失值。然后把这m个缺失值恰当的组合起来(比如取均值)。这个值具有某些统计特性。
8,will07论文中针对逻辑回归问题,绕开了确定性填补的方法,通过对缺失值的取值范围进行积分,预测二类的概率。具体可见参考文献1。
9,综述2里面还总结了一些方法,有时间可看看。
ESL9.6描述了如何处理缺失值,现摘录如下:
首先给出两个概念missing at random (MAR,随机丢失)。随机丢失就是丢失值只与观测值有关,和其它因素无关。第二个概念是完全随机丢失
missing completely at random (MCAR) ,就是丢失值不依赖于任何因素,具有完全的随机性。一般来说,如果缺失值不具备MAR或者MCAR特点的话,那么缺失值修补可能会引入一些错误信息到数据中。
如果能够确定缺失值是MCAR的,那么可采用上面所说的一些方法来补值。
另外,还有一些补值方法是依赖于模型的。例如决策树采用代理分裂的方法来处理缺失值。核心思想是碰到缺失值的特征时,采用没有缺失的特征来分裂树。
这是目前看到的一些方法,以后还会增补该文。
参考文献:
1,Williams D., Liao X., Xue Y., Carin L., Krishnapuram B. “On classification with incom-plete data,”IEEE Transactions on Pattern Analysis and Machine IntelligenceVol. 29(3),pp. 427–436, 2007.
2,Schafer J., Graham J. “Missing data: Our view of the state of the art,”PsychologicalMethods, vol. 7(2), pp. 67–81, 2002.