- 基于机器学习的数据缺失值填补:理论与方法
- 赖晓晨 张立勇 刘辉 吴霞
- 2084字
- 2021-03-31 21:04:31
2.3.3 性能度量
正如2.3.2节所述,目前存在众多的缺失值填补方法,这些方法在具体场景下的填补效果各有不同。实际应用中,可对不同方法的填补性能进行度量与对比,从中选择最为有效的方法进行缺失值处理。
在科研实验中,研究人员通常按照一定缺失率从完整数据集中删除部分现有值,以此构造缺失值,随后采用所设计的填补方法对缺失值进行估算。在此过程中,缺失值对应的真实值已知,故可根据填补值和缺失值相应真实值之间的误差来度量方法的填补性能。
当填补方法中不包含模型参数时,可直接根据现有数据计算填补值,并根据所得填补值计算填补性能。例如,均值填补法根据不完整属性中现有值的平均值求解填补值,无须任何模型参数即可实现填补。当填补方法中包含模型参数时,可将完整数据集划分为训练集与测试集。其中,训练集用于模型参数的学习,测试集用于评估所得模型的填补性能。此外,模型通常涉及超参数的设置问题。超参数是指在模型构建或模型参数学习之前需预先设定的一类参数,例如,神经网络的神经元个数、训练期间的学习率、最大迭代次数等均称为超参数。针对超参数设置问题,可从数据集中抽出部分样本构成验证集,并根据模型在验证集上的表现选取适宜的超参数。基于训练集、测试集和验证集的填补实验过程大致如下:首先从测试集、验证集中按一定缺失率删除部分现有值以构造缺失值;随后,设置超参数并建立填补模型,在此基础上利用训练集求解填补模型中的参数,根据模型在验证集上求得的填补值计算其填补性能;接着,设置不同的超参数,按照上述流程计算在不同超参数下填补模型的填补性能,并从中选择最优性能所对应的超参数作为最终的超参数;最后,基于所得超参数建立填补模型,根据训练集求解模型参数,并通过模型在测试集上的填补结果衡量方法的填补性能。
下面介绍几种常用的填补性能评价指标,均方根误差(Root Mean Square Error,RMSE)的定义如式(2-11)所示:
式(2-11)中,m是由所有填补值构成的集合,t表示集合m内的填补值,at表示与该填补值对应的真实值。
均方误差(Mean Square Error,MSE)的定义如式(2-12)所示:
平均绝对误差(Mean Absolute Error,MAE)的定义如式(2-13)所示:
在上述评价指标中,RMSE仅是MSE的平方根,二者的评价效果完全相同。下面仅以RMSE为例,将其和MAE指标进行比较。RMSE对每个误差进行平方运算,如图2-3所示,当误差at-t∈(0,1)时,RMSE借助(at-t)2缩小误差,当误差at-t∈(-∞,1)∪(1,+∞)时,RMSE借助(at-t)2放大误差。因此,RMSE指标能够改变误差的幅度。相较之下,MAE仅是对误差取绝对值,与误差的原始尺度完全相同。
图2-3 RMSE和MAE的区别
在应用上述指标时,RMSE、MSE和MAE的数量级可能很大,原因在于这些指标无法消除属性的量纲。例如,在家庭经济调查中,家庭人均年收入和家庭人数这两个属性在数量级上存在较大差异,前者往往拥有较大的数量级,其误差在上述指标中的占比较大,而后者的数量级相对较小,其误差的占比较小。
下面介绍的两个指标能够在一定程度上消除属性量纲对评价结果的影响。平均绝对百分比误差(Mean Absolute Percentage Error,MAPE)定义如式(2-14):
MAPE指标将每个填补值的估计误差at-t和真实值at进行比较,使得估计误差和真实值的量纲相同。然而,当某真实值的取值为0时,式(2-14)中会出现分母为0的现象,此时可考虑在分母加上一个较小的常数值,以使MAPE正常求解。
确定系数(Coeff icient of Determination)通常写作R2,定义如式(2-15)所示:
式(2-15)中,SSres是残差平方和(Residual Sum of Squares,RSS),表示真实值与填补值之间误差的平方和;SStot是总平方和(Total Sum of Squares,TSS),体现了真实值的离散程度。表示真实值的平均值,可描述为式(2-16):
在式(2-15)中,SSres和SStot具有相同的量纲,通过除法运算能够在一定程度上消除属性量纲对评价结果的影响。由于SStot是对真实值离散程度的描述,其数值不受填补值的影响。一般来说,SSres越小,R2的指标值越大,方法的填补性能越好。
然而在实际环境中,缺失值所对应的真实值往往无法获取,因此不能基于上述评价指标度量方法的填补性能。在此情况下,可考虑根据后续分析的效果判断前期填补的合理性[12]。以分类为例,不完整数据集由填补方法处理为完整数据集后,将此完整数据集划分为训练集和测试集,基于训练集建立分类模型,并利用所建模型在测试集上的分类效果间接度量填补性能。准确率(Accuracy)是一种常用的分类精度指标,定义如式(2-17)所示:
式(2-17)中,nt'表示类别预测正确的测试样本数量,nt表示测试集的样本数量。除该指标外,还可采用精确率(Precision)、召回率(Recall)、F1得分(F1 Score)[13]等对填补方法的性能实行间接度量。
为了基于以上指标对填补方法的性能展开客观合理的度量,可采用诸如k折交叉验证法等设计实验方案。基于k折交叉验证的填补实验方案如图2-4所示。首先将数据集随机等分为k个子集,依次将1个子集作为测试集,其他k-1个子集作为训练集,构造k组训练集与测试集对。图2-4中,每组内深色标记的子集表示测试集,所有浅色标记的子集共同构成该组中的训练集。接着,分别利用各组中的训练集与测试集展开k次实验。具体来说,每次实验期间,首先通过训练集完成模型训练,接着在测试集上人工构造部分缺失值并求解模型在测试集上的填补评价指标值,最终利用k个指标值的平均值度量方法的填补性能。
图2-4 基于k折交叉验证的填补实验方案