摘要
针对传统缺失值检测方法缺少对多维特性数据全面立体的分析及难以从众多缺失值填补算法中选择合适方法的问题,通过设计缺失值检测方法,在目前常见的数据点缺失度基础上,首次提出数据总体缺失度和加权数据总体缺失度的概念,实现对数据集缺失程度的全面检测,进而通过实验对比分析不同缺失值填补方法性能。实验结果表明,在不同缺失度的情况下,不同缺失值填补算法的性能不同,所提出的方法可为缺失值填补算法的选择提供有效依据。
随着互联网、云计算等信息技术的发展,大数据日益渗透于金融、医疗、工业等各个行业领域之中,成为重要的生产因素,因此数据挖掘和应用具有十分重要的现实意义。在实际的采集、传输、存储过程中,多种原因导致数据质量参差不齐,导致后续数据分析挖掘效果也不
目前针对缺失值相关的研究主要包括缺失值检测和缺失值填补2个方面。针对缺失值检测问题,由于大数据集具有维度高、数据量大的特点,目前研究多采用建模方法,根据数据点之间潜在的关联且不同数据属性之间也存在一定联系,建立缺失值检测模型,从而提高检测准确度并降低时间复杂度。例如,文献[
通过上述文献分析可知,目前针对缺失值检测方面的研究基本止步于对数据集是否含有缺失值进行判断,仅仅可以检测出数据集中含有缺失值的数据点,无法判断出多维特性数据点是多个属性维度还是仅一个属性维度发生缺失,且未对其缺失程度进行量化,缺少对多维特性数据全面立体的分析。另一方面,在机器学习和数据挖掘等大数据研究领域,为了能从数据集中提取到有用的信息,需要对缺失数据集进行处理,目前研究主要包括以下3种方法:
(1)不作处
(2)删除数
(3)填补数
一是固定值填
二是替换缺失
三是模型填
四是低秩逼
在实际应用过程中,不同情况下对缺失值填补算法的要求往往不
综上所述,由于数据集结构多样,生产采集环境复杂,经常会发生数据点的缺失。尽管目前针对数据集中缺失值检测及填补方法已经具有一定的研究,由于数据处理分析过程中对数据质量的要求不断提高,针对多维特性数据的缺失值检测及填补方法研究也变得更加复杂和具有挑战性。本文研究主要包括以下两点:
(1)考虑到目前常见的多维特性数据,由于其不同属性维度的缺失都会对数据质量造成影响,所以首先针对多维特性数据缺失程度分析不够全面、基本止步于对数据集是否含有缺失值这一不足展开研
(2)目前已有缺失值填补方法众多,但多数研究所关注的问题一方面是对某种缺失值填补方法本身的精度进行改
当对数据集的缺失程度进行分析时,首先需要对其进行缺失值检测。在实际生产过程中,数据集中的每个数据点往往具有多个属性维度,在空间中具有复杂的形态,采用Dataframe格

图1 缺失值检测流程及伪代码
Fig. 1 Flowchart and pseudo-code of missing value detection
(1) 输入待处理的数据集,并将其整合成n×m阶矩阵,其中n代表数据点的数量,m代表每个数据点的维度,每个元素为(其中表示矩阵行数,表示矩阵列数)。
为了更直观说明,这里采用一组6×4阶数据集进行举例描述。设数据集有6个数据点,每个数据点包含4个属性维度。根据数据集的分布可以看出,第1个和第5个数据点发生了缺失。
(2) 定义n×m维全零矩阵Z0从矩阵的第1行第1列即开始在空间中对数据集矩阵的行列依次进行检测,并判断每一个数据点 (0< i≤n, )的每一个维度(0<j≤m, j∈)是否为空。若判断出为空,则将数据集矩阵的第i行第j列标记为“F”,即,并为矩阵Z的第i行第j列赋值为1,即Z[i, j]=1,表明发生缺失。反之,则不填充。
(3) 重复进行步骤(2),直至对整个数据集完成检测。如

图2 矩阵Z示意
Fig. 2 Schematic diagram of matrix Z
某原始数据集 Z矩阵
相应地,对数据集检查完后,对应的及其Z矩阵为
图3 缺失值检测后数据集矩阵示意
Fig. 3 Schematic diagram of dataset matrix after missing value detection
(1) |
利用上述缺失值检测方法能够查找出数据集中发生缺失的数据点的位置及缺失属性的个数。接着基于该缺失值检测方法提出多种缺失度概念,根据缺失值检测结果对数据集的缺失度进行计算,从而客观全面地反应整个数据集的缺失程度。
数据缺失会造成数据集携带信息的损失,需要对数据集的缺失程度进行评估,以便研究人员全面直观地了解数据集。而数据缺失可能有数据点缺失、属性维度缺
数据点缺失度用于衡量整个数据集中具有缺失的数据点占所有数据点的比重,记为“Mall”。如

图4 3种缺失度示意
Fig. 4 Diagram of three missing degrees
数据点缺失度的具体计算方法如下:
(1)统计缺失数据点总个数。首先定义Sdata为缺失数据点的总个数,从第1行开始,依次对Z矩阵的每一行进行各个维度的求和,若某一行所有维度总和相加为零,则表明该行维度全为零,即该数据点在任意维度上都没有发生缺失,反之,若Z矩阵的第行各个维度之和不为零,表明第个数据点发生了缺失,则对Sdata进行加1。
(2)计算数据集数据点缺失度。数据集数据点缺失度(Mall)计算公式为
(2) |
式中:row(Z)表示Z矩阵的行数,即数据集所包含数据点的总个数。
数据点缺失度侧重于计算整个数据集中发生缺失的数据点所占的比重。其有效考察了含有缺失值的数据点个数,反应了数据集在整体上的缺失程度。
在大数据背景下一个数据点往往会在多个属性维度发生缺失。倘若只根据数据点缺失度对缺失数据点的个数及其所占的比重进行判断,则较为片面。为了更全面地为数据集缺失质量提供理论支撑,提出数据总体缺失度(Mmen)这一概念。与数据点缺失度不同,数据总体缺失度的最小单位为数据点的一个属性维度,而非一个数据点。数据总体缺失度用于衡量整个数据集中发生缺失的属性维度占总属性维度的百分比。如
数据总体缺失度Mmen的计算式为
(3) |
式中[i, j]表示矩阵的第i行、第j列。通过对整个数据集中各个数据点的各个属性维度上的数字进行求和,即可得知整个数据集中发生缺失的属性维度总个数。再将缺失属性维度总个数与数据集中数据点所有维度总和m×n求商,从而得到数据集中发生缺失的属性维度占数据总体的百分比,即数据集的数据总体缺失度。
在生产过程中,数据集的每一属性维度对企业管理人员的参考价值往往不同。例如根据设备的电流、电压参数监测设备的健康状况时,电流和电压2个属性维度的数据相对温度、湿度等其他数据来说更为重要,即当数据点在电流、电压属性方面发生缺失,会比在其他属性缺失造成更严重的影响。因此,为数据集的每一属性维度设定权重比例系数,并引入加权数据总体缺失度(Mw),从而更加灵活全面描述数据集的缺失度,更能符合实际需求。
加权数据总体缺失度具体定义如下:设数据集矩阵的第j列,即数据集的第j个属性维度,其权重为。为了保证数据集的缺失度不失真且符合真实情况,需满足所有维度权重系数之和等于k,即。在实际生产过程中,的数值可由研究人员根据具体需求进行设定。如
(4) |
式中[i, j]表示矩阵的第i行、第j列。依次对每一个数据点的每一属性维度进行检测,并与该维度对应的权重系数相乘,从而求得该数据点的加权缺失度,再将所有数据点的加权缺失度求和,并与数据集中数据点所有维度总和m×n求商,从而得到数据集的加权数据总体缺失度。
在机器学习和数据挖掘研究领域,为了能从数据集中提取到有用的信息,对含有缺失值的数据集进行处理是非常必要的,但如何从众多的缺失值填补算法中选择合适的方法仍有待研究。本文基于提出的多种缺失度概念和公开数据集对多种不同典型的缺失值填补算法进行性能评估,采用多种评价指标研究不同缺失值填补方法在各种缺失度情况下的适用度。
从常用机器学习数据库UCI Machine Learning Repositor
实验从数据点缺失度和数据总体缺失度的大小关系出发,评价缺失度对填补算法性能的影响。实验一共设置5组不同缺失程度的对比数据集:20-05、20-15、40-15、60-15、60-45。
Iris数据集 | 发生缺失的数据点个数 | 数据点缺失度/% | 发生缺失的维度个数 | 数据总体缺失度/% |
---|---|---|---|---|
20-05 | 30 | 20(偏小) | 30 | 5(偏小) |
20-15 | 30 | 20(偏小) | 90 | 15(偏大) |
40-15 | 60 | 40(中等) | 75 | 15(中等) |
60-15 | 90 | 60(偏大) | 90 | 15(偏小) |
60-45 | 90 | 60(偏大) | 270 | 45(偏大) |
根据上述缺失度的设置,这些数据集囊括了Mall偏小且Mmen偏小、Mall偏小且Mmen偏大、Mall中等且Mmen中等、Mall偏大且Mmen偏小,以及Mall偏大且Mmen偏大这5种情况。后续实验在这5组数据集的基础上,对5种缺失值填补算法进行全面性能评估。
采用典型的F1-score和RMSE 2个指标来评判多种缺失值填补算法的性能。F1-score能有效判断预测分类和实际分类的相似程度,是预测模型精确率和召回率的一种加权平均。RMSE计算了预测结果与真实结果的均方根误差,用于进一步衡量缺失值预测结果是否接近真实结果。
模型真实值 | 预测值 | |
---|---|---|
0 | 1 | |
0 | TN | FP |
1 | FN | TP |
根据模型预测的结果可以得到该模型预测的精确率和召回率,具体计算公式为
(5) |
(6) |
式中:表示真正例的个数;表示假正例的个数;表示假负例的个数。精确率表示被正确预测为1的样本占预测为1的样本总数的比例;召回率表示被正确预测为1的样本占真实为1的样本总数的比例,F1-score为精确率和召回率的调和平均数。
(7) |
F1-score的范围为[0,1],根据
实验采用的另一个评价指标为RMSE,具体计算式为
(8) |
为原始未发生缺失的数据;发生缺失后进行填充的数据;m缺失维度总个数。RMSE值越大,表明误差越大,缺失值填补算法的预测效果越不好。
综上所述,F1-score是用于评判模型预测缺失值的准确度,而RMSE是用于评判模型累计预测误差值。
目前常用的缺失值填补方法可分为固定值填补、替换缺失值和模型填补的方法,为了对不同填补方法在不同缺失度时填补效果进行全面评估,从固定值填补方法里面选择补零法,从替换缺失值方法里选择平均值和插值填补方法,从模型填补方法里选择KNN填补和Iterative Imputer填补算法,基于提出的缺失度概念对这5种典型的缺失值填补算法进行性能比较。需要说明的是,上述5种常见方法多应用于数据点缺失度不超过60%的情况,当缺失度过高时,由于算法原理的原因,上述算法无法达到良好的填补效果,此时可选择低秩逼近方
(1)补零
(2)平均值填
(3)插值填
(4)KNN填补算
(5)Iterative Imputer填补算
实验所采用的算法参数说明如下:补零法、平均值填补、插值填补为基于统计信息的填补方法,不存在超参数的设置。KNN填补算法中存在超参数“聚类个数k值”等,Iterative Imputer填补算法中存在超参数“迭代次数”等。需要说明的是,实验目的是为了对比分析不同缺失值填补算法在数据集不同缺失度时的效果,而上述算法中超参数选择的不同会同时影响该算法在不同缺失度下的填补效果,即超参数选择越合理,该算法在不同缺失度下的填补效果越高。此外,考虑到目前研究中选择KNN和Iterative Imputer方法对缺失值进行填补时均会优化对应超参数,进行实验时也对KNN和Iterative Imputer方法中的超参数根据实验结果进行了优化,选择最优的实验结果对应的超参数;同时为了消除实验结果偶然性的影响,对含有超参数的KNN和Iterative Imputer方法进行5次实验,对应的实验结果为多次结果的平均值。综上所述,实验结果具有普遍性,超参数的选择不影响实验结论。
根据上述5种缺失值填补算法和数据集进行实验,5种填补算法在不同缺失程度数据集上的填补效果如

图5 5种算法在不同缺失度时的填补结果
Fig. 5 Imputation results of five algorithms at different missing degrees

图6 相同缺失度下不同填补方法结果对比
Fig. 6 Comparison of different imputation methods at the same missing degree
由上述5种情况分析可以得到如下结论:① 补零法和平均值法在各种缺失度下的填补效果均不好,因此仅可以在对填补精度要求不高时使用。② 在数据总体缺失度不高的情况下,基于模型的KNN算法和Iterative Imputer算法都能有较好的填补效果。KNN和Iterative Imputer都为基于预测模型的缺失值填补算法,但是Iterative Imputer算法的性能总是优于KNN算法,因为Iterative Imputer算法是循环更改输入变量来训练缺失值预测模型,因此模型的误差更小,填补效果更好。③ 在数据总体缺失度较大的情况下,即单个数据点缺失属性维度较多的情况下,插值法具有最好的填补效果。综上所述,该实验可以证明,通过对数据集缺失度进行全面系统的评估可以对缺失值填补算法的选择起到良好的指导作用。
从多维特性数据缺失值检测和填补工作切入,针对传统缺失值检测方法缺少对多维特性数据缺失程度全面立体的评估以及多种缺失值填补方法难以选择的问题,通过设计缺失值检测方法,在数据点缺失度基础上,提出数据总体缺失度和加权数据总体缺失度的概念,实现对数据集缺失程度的全面检测,进而通过实验横向、纵向对比和分析不同缺失值填补方法的性能。实验证明,补零法和平均值法在各种缺失度下的填补效果均不好,因此仅可以在对填补精度要求不高时使用。在数据总体缺失度不高的情况下,基于模型的KNN算法和Iterative Imputer算法都能有较好的填补效果,且Iterative Imputer算法比KNN算法性能更好。在数据总体缺失度较大的情况下,插值法具有更好的填补效果。综上所述,通过对数据集缺失度进行全面系统的评估可以对缺失值填补算法的选择起到良好的指导作用。
提出的缺失值检测和填补方法主要应用于具有多维特性的数据集,不适用于以树、链表等复杂数据结构表达的数据集,今后会考虑向复杂数据结构的缺失值检测和填补领域开展。此外,本文目前只考虑了对离线数据进行缺失值检测和填补,由于实际生产过程中也会有大量的实时数据产生,因此后续可以针对实时数据流设计相应的缺失值检测和填补方法。
作者贡献声明
乔 非:研究工作思路与全程指导。
翟晓东:研究工作补充完善与总结。
王巧玲:初步研究工作。
参考文献
HEMANTH G R, CHARLES R S. Proposing suitable data imputation methods by adopting a stage wise approach for various classes of smart meters missing data – Practical approach[J]. Expert Systems with Applications, 2022, 187:1. DOI: 10.1016/j.eswa.2021.115911. [百度学术]
WANG H, TANG J, WU M, et al. Application of machine learning missing data imputation techniques in clinical decision making: taking the discharge assessment of patients with spontaneous supratentorial intracerebral hemorrhage as an example[J]. BMC Medical Informatics and Decision Making, 2022, 22:13. DOI: 10.1186/s12911-022-01752-6. [百度学术]
FENG J, LI F, XU C, et al. Data-driven analysis for RFID-enabled smart factory: a case study[J]. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 2020, 50(1): 81. [百度学术]
LUO X, ZHOU M C, WANG Z, et al. An effective scheme for QoS estimation via alternating direction method-based matrix factorization[J]. IEEE Transactions on Services Computing, 2019, 12(4): 503. [百度学术]
LUO X, ZHOU M, LI S, et al. Non-negativity constrained missing data estimation for high-dimensional and sparse matrices from industrial applications[J]. IEEE Transactions on Cybernetics, 2020, 50(5): 692. [百度学术]
HAYASHI K, TAKENOUCHI T, SHIBATA T, et al. Exponential family tensor factorization for missing-values prediction and anomaly detection[C]//2010 IEEE International Conference on Data Mining. Sydney: [S.n.], 2010: 216-225. [百度学术]
CHEN H, MA G, WANG Z, et al. Probabilistic detection of missing tags for anonymous multicategory RFID systems[J]. IEEE Transactions on Vehicular Technology, 2017, 66(12): 11295. [百度学术]
FOLCH-FORTUNY A, ARTEAGA F, FERRER A. PLS model building with missing data: new algorithms and a comparative study[J]. Journal of Chemometrics, 2017, 31(7):2897. DOI: 10.1002/cem.2897. [百度学术]
BRINIS S, TRAINA C, TRAINA A J M. Hollow-tree: a metric access method for data with missing values[J]. Journal of Intelligent Information Systems, 2019, 53(3): 481. [百度学术]
徐光伟, 白艳珂, 燕彩蓉, 等. 大数据存储中数据完整性验证结果的检测算法[J]. 计算机研究与发展, 2017, 54(11): 2487. [百度学术]
XU Guangwei, BAI Yanke, YAN Cairong, et al. Check algorithm of data integrity verification results in big data storage[J]. Journal of Computer Research and Development, 2017, 54(11): 2487. [百度学术]
张少敏, 高鹏, 王保义. 一种用于智能电网的数据完整性定量评估模型[J]. 电力系统保护与控制, 2012, 40(13): 93. [百度学术]
ZHANG Shaomin, GAO Peng, WANG Baoyi. A quantitative evaluation model of data integrity for smart grid[J]. Power System Protection and Control, 2012, 40(13): 93. [百度学术]
陈龙, 方新蕾, 王国胤. 基于复数旋转码的细粒度数据完整性检验方法[J]. 西南交通大学学报, 2009, 44(5): 667. [百度学术]
CHEN Long, FANG Xinlei, WANG Guoyin. Integrity check method for fine-grained data based on complex rotary codes[J]. Journal of Southeast Jiaotong University. 2009, 44(5): 667. [百度学术]
STACK C B, BUTTERWORTH T, GOLDIN R. Designed learning: missing data in clinical research[J]. Annals of internal medicine, 2018, 168(10): 744. [百度学术]
郭毅博, 牛猛, 王海迪, 等. 基于生成对抗网络的飞机燃油数据缺失值填充方法[J]. 浙江大学学报(理学版), 2021, 48(4): 402. [百度学术]
GUO Yibo, NIU Meng, WANG Haidi, et al. An aircraft fuel data missing value filling method with generative adversarial network[J]. Journal of Zhejiang University (Science Edition), 2021, 48(4): 402. [百度学术]
刘莎, 杨有龙. 基于灰色关联分析的类中心缺失值填补方法[J]. 四川大学学报(自然科学版), 2020, 57(5): 871. [百度学术]
LIU Sha, YANG Youlong. Imputing missing value by class center based on grey relational analysis[J]. Journal of Sichuan University (Natural Science Edition), 2020, 57(5): 871. [百度学术]
GIOVANNI A D S J, ALISSON M D S. A simple and efficient incremental missing data imputation method for evolving neo-fuzzy network[J]. Evolving Systems 2022, 13(2): 201. [百度学术]
LIU X, YANG X, ZHU P, et al. Robust multimodel identification of LPV systems with missing observations based on t-distribution[J]. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 2021, 51(8): 5254. [百度学术]
PIRES I M, HUSSAIN F, MARQUES G, et al. Comparison of machine learning techniques for the identification of human activities from inertial sensors available in a mobile device after the application of data imputation techniques[J]. Computers in Biology and Medicine, 2021, 135: 104638. DOI: 10.1016/j.compbiomed.2021.104638. [百度学术]
李璐, 董秋雷, 赵瑞珍. 含缺失成分的矩阵的广义低秩逼近及其在图像处理中的应用[J]. 计算机辅助设计与图形学学报, 2015, 27(11): 2065. [百度学术]
LI Lu, DONG Qiulei, ZHAO Ruizhen. Generalized low-rank approximations of matrices with missing components and its applications in image processing[J]. Journal of Computer-Aided Design & Computer Graphics, 2015, 27(11):2065. [百度学术]
孙晓飞. 基于核相似性和低秩近似的缺失值填充算法研究[D]. 天津: 天津大学, 2017. [百度学术]
SUN Xiaofei. Research on imputing algorithm of missing values based on kernel similarity and low rank approximation[D]. Tianjin: Tianjin University, 2017. [百度学术]
LIN W, TSAI C, ZHONG J. Deep learning for missing value imputation of continuous data and the effect of data discretization[J]. Knowledge-Based Systems, 2022, 239:108079. DOI: 10.1016/j.knosys.2021.108079. [百度学术]
AWAN S E, BENNAMOUN M, SOHEL F, et al. A reinforcement learning-based approach for imputing missing data[J], Neural Computing and Applications, 2022, 34(12): 9701. [百度学术]
PHIMMARIN K, TOSSAPON B. Improved KNN imputation for missing values in gene expression data[J]. CMC-Computers, Materials & Continua, 2022, 70(2): 4009. [百度学术]
GU R, SHI J, CHEN X, et al. Octopus-DF: unified DataFrame-based cross-platform data analytic system[J]. Parallel Computing, 2022, 110:102879. DOI: 10.1016/j.parco.2021.102879. [百度学术]
TSYMBAL A, MEISSNER E, KELM M, et al. Towards cloud-based image-integrated similarity search in big data[C]//IEEE-EMBS International Conference on Biomedical and Health Informatics (BHI). Valencia: [S.n.], 2014: 593-596. [百度学术]
DAU H A, BAGNALL A, KAMGAR K, et al. The UCR time series archive[J]. IEEE/CAA Journal of Automatica Sinica, 2019, 6(6): 1293. [百度学术]
MEHRAN A, RICHARD J. Missing data imputation using fuzzy-rough methods[J]. Neurocomputing, 2016, 205: 152. [百度学术]
GARCIA C, ESMIN A, LEITE D, et al. Evolvable fuzzy systems from data streams with missing values: with application to temporal pattern recognition and cryptocurrency prediction[J]. Pattern Recognition Letters, 2019, 128: 278. [百度学术]
LIAO W, BAK-JENSEN B, PILLAI J R, et al. Data-driven missing data imputation for wind farms using context encoder[J]. Journal of Modern Power Systems and Clean Energy, 2021, 10(4): 964. DOI: 10.35833/MPCE.2020.000894. [百度学术]
SAHRI Z, YUSOF R, WATADA J. FINNIM: Iterative imputation of missing values in dissolved gas analysis dataset[J]. IEEE Transactions on Industrial Informatics, 2014, 10(4): 2093. [百度学术]