基于机器学习的数据缺失值填补:理论与方法
上QQ阅读APP看书,第一时间看更新

1.2.1 基于统计学的缺失值填补方法

均值填补是最早使用的一种基于统计学的缺失值填补方法,该方法将样本属性分为数值型和非数值型分别进行处理[4]。针对数值型数据,该方法以不完整属性列中全部现有值的平均值填补该属性列的缺失值。针对非数值型数据,该方法基于众数原则,利用不完整属性列中现有值出现频率最高的值填补其中的缺失值。该方法在某些情况下能够取得较好的填补效果,但其在填补过程中忽视了属性之间的相关性,制约了方法的适用范围[5]

回归填补法基于属性间的依赖关系建立回归模型,并根据数据集中的完整记录求解模型参数[6]。根据属性间的依赖关系,回归模型可以分为线性回归和非线性回归。线性回归形式简单、计算量小,但真实存在的数据集中属性间大多不遵循线性依赖。非线性回归通过拟合曲线将各个记录点光滑地链接起来,其中拟合曲线的类型既可以是指数函数(Exponential Function)、对数函数(Logarithmic Function)、幂函数(Power Function)和多项式函数(Polynomial Function)等基本初等函数,也可以是由其中一种或多种函数构成的复合函数。相较于均值填补等忽视样本间相关性的方法,回归填补法利用了数据中包含的潜在信息,因而通常其填补精度更高,且适用范围更广。

期望最大化(Expectation-Maximization,EM)填补法利用现有数据的边缘分布对缺失数据进行极大似然估计(Maximum Likelihood Estimate,MLE),从而得到相应的填补值[7]。对于极大似然估计优化目标,该方法采用迭代的方式进行优化求解。每一轮迭代由两步组成:期望(Expectation)步和最大化(Maximization)步,简称E步和M步。E步基于现有数据和待定参数估计缺失值的条件期望并将其作为填补值,M步将条件期望最大化并计算待定参数。在这种迭代式的填补方法中,完整数据得到充分的利用,从而获得较为精确的填补结果。同时,EM填补法的精度与数据集中缺失率相关,当缺失率太大时,上述迭代优化过程容易陷入局部最优解,不仅会影响填补精度,还会导致方法的收敛速度显著降低。

多重填补法基于不同的模型或规则为每个缺失值生成多个可能的填补值,并由此生成多个完整数据集,然后使用相同的处理方法对获得的填补数据集进行统计分析,最后综合各个分析结果,得到最终的填补值。该方法由Rubin[8]于1978年提出,并经过Meng[9]和Schafer[10]等人的不断改进。它考虑了由于数据填补而产生的不确定性,相较于上述单一填补(Single Imputation)法具有更高的准确性,但也导致了计算量的明显增加。