CN117828373A - 基于集合划分和自监督学习的缺失数据填充方法及系统 - Google Patents

基于集合划分和自监督学习的缺失数据填充方法及系统 Download PDF

Info

Publication number
CN117828373A
CN117828373A CN202410247375.1A CN202410247375A CN117828373A CN 117828373 A CN117828373 A CN 117828373A CN 202410247375 A CN202410247375 A CN 202410247375A CN 117828373 A CN117828373 A CN 117828373A
Authority
CN
China
Prior art keywords
data
missing
filling
block
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202410247375.1A
Other languages
English (en)
Inventor
吴行伟
高光洁
常欢
邓博
温亚林
梁诗悦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Peoples Hospital of Sichuan Academy of Medical Sciences
Original Assignee
Sichuan Peoples Hospital of Sichuan Academy of Medical Sciences
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sichuan Peoples Hospital of Sichuan Academy of Medical Sciences filed Critical Sichuan Peoples Hospital of Sichuan Academy of Medical Sciences
Priority to CN202410247375.1A priority Critical patent/CN117828373A/zh
Publication of CN117828373A publication Critical patent/CN117828373A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了基于集合划分和自监督学习的缺失数据填充方法及系统,涉及医疗数据处理技术领域,包括:获取原始数据,将原始数据转换为矩阵形式,得到第一数据;以行为单位对第一数据进行重新组合,根据每一组合结果中不存在缺失值的列得到候选数据子集;或者以列为单位对第一数据进行重新组合,根据每一组合结果中不存在缺失值的行得到候选数据子集;计算每一候选数据子集中非缺失值的数量得到有效信息量;根据有效信息量的最大值对应的候选数据子集得到对应的第一无缺数据块,第一无缺数据块中每一数值均为非缺失值;根据第一无缺数据块对第一数据进行填充得到第二数据,使填充结果更接近原始数据的整体分布特征的数据分布特征,提高填充准确率。

Description

基于集合划分和自监督学习的缺失数据填充方法及系统
技术领域
本申请涉及医疗数据处理技术领域,具体涉及基于集合划分和自监督学习的缺失数据填充方法及系统。
背景技术
在真实世界研究中,用于统计分析的原始数据存在缺失值的情况难以避免。例如患者有意或无意地隐瞒、数据采集设备精度、历史局限等导致数据采集不全面,或者数据保存过程中丢失。在对原始数据进行分析研究时,缺失值的存在导致有效数据利用率降低,数据建模的设计难度提高。
目前,现有技术中存在对缺失值进行填充的方法。专利申请号为CN201710358297.2的一种基于深度学习的缺失值填充方法及系统,通过将原始数据划分为完整数据子集和缺失数据子集,通过神经网络模型学习完整数据子集的数据分布特征后,利用神经网络模型对缺失数据子集的缺失值进行填充,但是当完整数据子集中真实值的数量过少时,完整数据子集的数据分布特征难以代表原始数据的整体分布特征,从而导致填充结果不准确。
发明内容
本发明提供了基于集合划分和自监督学习的缺失数据填充方法及系统,以解决现有技术中根据原始数据的局部分布特征对缺失值进行填充导致填充结果与原始数据的整体分布特征差异大的技术问题,从而实现提高填充准确率。
根据本发明的第一方面,本发明请求保护基于集合划分和自监督学习的缺失数据填充方法,包括:
S1:获取原始数据,原始数据包括缺失值和非缺失值,将原始数据转换为矩阵形式,得到第一数据;
S2:以行为单位对所述第一数据进行重新组合,根据每一组合结果中不存在缺失值的列得到候选数据子集;或者以列为单位对所述第一数据进行重新组合,根据每一组合结果中不存在缺失值的行得到所述候选数据子集;计算每一所述候选数据子集中非缺失值的数量,得到有效信息量;
S3:根据所述有效信息量的最大值对应的所述候选数据子集得到对应的第一无缺数据块,所述第一无缺数据块中每一数值均为非缺失值;
S4:根据所述第一无缺数据块对所述第一数据进行填充,得到第二数据。
在本申请一实施例中,在所述根据所述第一无缺数据块对所述第一数据进行填充之中,还包括:
根据所述第一无缺数据块获取第一有缺数据块,所述第一有缺数据块存在缺失值,所述第一有缺数据块包括所述第一数据中与所述第一无缺数据块同行不同列的数据块,和/或所述第一数据中与所述第一无缺数据块同列不同行的数据块;
根据所述第一无缺数据块对所述第一有缺数据块进行填充,得到第二无缺数据块,根据所述第二无缺数据块得到第三数据;
判断所述第三数据是否存在缺失值,若是,则将所述第三数据作为新的所述第一数据,返回S2继续执行,直至所述第三数据不存在缺失值,根据所有缺失值对应的填充值得到所述第二数据。
在本申请一实施例中,在所述根据所述有效信息量的最大值对应的所述候选数据子集得到对应的第一无缺数据块之中,还包括:
计算每一所述候选数据子集与历史填充数据的相似度,其中,所述历史填充数据包括历史填充操作中所有所述第一无缺数据块和所有所述第二无缺数据块,所述相似度的计算方法包括:
其中,Similarity为所述相似度,N为所述候选数据子集对应的所述有效信息量,N1为所述候选数据子集中属于所述历史填充数据的数值的数量;
若存在取值小于1的所述相似度,去除所述相似度的取值为1的所述候选数据子集;
取当前所有所述候选数据子集中所述有效信息量的最大值对应的所述候选数据子集作为所述第一无缺数据块。
在本申请一实施例中,所述方法还包括:
若当前所有所述候选数据子集中所述有效信息量的最大值对应的所述候选数据子集的数量大于1,对应的每一所述相似度的取值均小于1,则取其中所述相似度的最小值对应的所述候选数据子集作为所述第一无缺数据块。
在本申请一实施例中,所述第一有缺数据块还包括第一有缺数据子块和第二有缺数据子块,所述第一有缺数据子块包括所述第一数据中与所述第一无缺数据块同行不同列的数据块,所述第二有缺数据子块包括所述第一数据中与所述第一无缺数据块同列不同行的数据块:
在所述根据所述第一无缺数据块对所述第一有缺数据块进行填充之中,还包括:
根据所述第一无缺数据块对所述第一有缺数据子块进行填充,得到第一无缺数据子块,根据所述第一无缺数据子块得到对应的所述第三数据;
根据所述第一无缺数据块对所述第二有缺数据子块进行填充,得到第二无缺数据子块,根据所述第二无缺数据子块得到对应的所述第三数据;
分别更新每一所述第三数据对应的历史填充记录,所述历史填充记录包括填充轮次和每一填充轮次对应的填充位置;
分别判断每一所述第三数据是否存在缺失值,若所述第三数据存在缺失值,则将对应的所述第三数据作为新的所述第一数据,返回S2继续执行,直至所有所述第三数据均不存在缺失值,根据每一填充位置在不同所述历史填充记录中填充轮次的最大值对应的填充值得到所述第二数据。
在本申请一实施例中,所述历史填充记录还包括每一填充轮次得到的所述填充值对应的所述第一无缺数据块中真实值的数量与原始数据中真实值的数量之比,得到第一数值;
当同一填充位置在不同所述历史填充记录的填充轮次相同时,选择所述第一数值最大的填充值作为对应填充位置的填充值。
在本申请一实施例中,在S2中,还包括:
S21:分别将所述第一数据的每一行或列作为第一组合子结果,计算每一所述第一组合子结果的所述有效信息量;取所述有效信息量的最大值对应的所述第一组合子结果作为标准组合结果;
S22:分别将剩余每一行或列与所述标准组合结果合并,得到第二组合子结果;
S23:计算每一所述第二组合子结果的所述有效信息量;
S24:将所述标准组合结果的所述有效信息量与每一所述第二组合子结果的所述有效信息量对比,若所述标准组合结果的所述有效信息量大于每一所述第二组合子结果的所述有效信息量,则根据所述标准组合结果得到所述候选数据块;若存在所述第二组合子结果的所述有效信息量不小于所述标准组合结果的所述有效信息量,则取所述标准组合结果和所述第二组合子结果之中所述有效信息量的最大值对应的数据块作为新的所述标准组合结果,返回S22执行,直到所述第二组合子结果中的行数或列数等于所述第一数据的行数或列数,根据所述标准组合结果和所述第二组合子结果之中所述有效信息量的最大值对应的数据块得到对应的所述候选数据块。
在本申请一实施例中,在所述根据所述第一无缺数据块对所述第一数据进行填充之中,还包括:
多次将所述第一无缺数据块中随机位置的数值设为缺失值,得到对应的多个第二有缺数据块;
根据所述第二有缺数据块得到训练数据集,分别将所述训练数据集中的每一所述第二有缺数据块输入数据填充模型,得到对应的预测填充值;
计算所有所述预测填充值与所述第一无缺数据块中对应的真实值之间的损失值,根据所述损失值对所述数据填充模型进行训练,当所述损失值取值最小时停止训练;
将所述第一有缺数据块输入训练好的所述数据填充模型,得到所述第二无缺数据块。
在本申请一实施例中,在所述分别将所述训练数据集中的每一所述第二有缺数据块输入数据填充模型之前,还包括:
将所述训练数据集中的每一所述第二有缺数据块分别进行随机变换,所述随机变换包括将同一所述第二有缺数据块中随机行或列交换。
根据本申请的第二方面,本发明请求保护基于集合划分和自监督学习的缺失数据填充系统,所述系统包括:
第一获取模块:获取原始数据,原始数据包括缺失值和非缺失值,将原始数据转换为矩阵形式,得到第一数据;
第二获取模块:以行为单位对所述第一数据进行重新组合,根据每一组合结果中不存在缺失值的列得到候选数据子集;或者以列为单位对所述第一数据进行重新组合,根据每一组合结果中不存在缺失值的行得到所述候选数据子集;计算每一所述候选数据子集中非缺失值的数量,得到有效信息量;
第三获取模块:根据所述有效信息量的最大值对应的所述候选数据子集得到对应的第一无缺数据块,所述第一无缺数据块中每一数值均为非缺失值;
第一填充模块:根据所述第一无缺数据块对所述第一数据进行填充,得到第二数据。
在本申请一实施例中,所述第一填充模块还包括:
根据所述第一无缺数据块获取第一有缺数据块,所述第一有缺数据块存在缺失值,所述第一有缺数据块包括所述第一数据中与所述第一无缺数据块同行不同列的数据块,和/或所述第一数据中与所述第一无缺数据块同列不同行的数据块;
根据所述第一无缺数据块对所述第一有缺数据块进行填充,得到第二无缺数据块,根据所述第二无缺数据块得到第三数据;
判断所述第三数据是否存在缺失值,若是,则将所述第三数据作为新的所述第一数据,返回S2继续执行,直至所述第三数据不存在缺失值,根据所有缺失值对应的填充值得到所述第二数据。
在本申请一实施例中,所述第三获取模块还包括:
计算每一所述候选数据子集与历史填充数据的相似度,其中,所述历史填充数据包括历史填充操作中所有所述第一无缺数据块和所有所述第二无缺数据块,所述相似度的计算方法包括:
其中,Similarity为所述相似度,N为所述候选数据子集对应的所述有效信息量,N1为所述候选数据子集中属于所述历史填充数据的数值的数量;
若存在取值小于1的所述相似度,去除所述相似度的取值为1的所述候选数据子集;
取当前所有所述候选数据子集中所述有效信息量的最大值对应的所述候选数据子集作为所述第一无缺数据块。
在本申请一实施例中,所述第三获取模块还包括:
若当前所有所述候选数据子集中所述有效信息量的最大值对应的所述候选数据子集的数量大于1,对应的每一所述相似度的取值均小于1,则取其中所述相似度的最小值对应的所述候选数据子集作为所述第一无缺数据块。
在本申请一实施例中,所述第一有缺数据块还包括第一有缺数据子块和第二有缺数据子块,所述第一有缺数据子块包括所述第一数据中与所述第一无缺数据块同行不同列的数据块,所述第二有缺数据子块包括所述第一数据中与所述第一无缺数据块同列不同行的数据块:
在所述根据所述第一无缺数据块对所述第一有缺数据块进行填充之中,还包括:
根据所述第一无缺数据块对所述第一有缺数据子块进行填充,得到第一无缺数据子块,根据所述第一无缺数据子块得到对应的所述第三数据;
根据所述第一无缺数据块对所述第二有缺数据子块进行填充,得到第二无缺数据子块,根据所述第二无缺数据子块得到对应的所述第三数据;
分别更新每一所述第三数据对应的历史填充记录,所述历史填充记录包括填充轮次和每一填充轮次对应的填充位置;
分别判断每一所述第三数据是否存在缺失值,若所述第三数据存在缺失值,则将对应的所述第三数据作为新的所述第一数据,返回S2继续执行,直至所有所述第三数据均不存在缺失值,根据每一填充位置在不同所述历史填充记录中填充轮次的最大值对应的填充值得到所述第二数据。
在本申请一实施例中,所述历史填充记录还包括每一填充轮次得到的所述填充值对应的所述第一无缺数据块中真实值的数量与原始数据中真实值的数量之比,得到第一数值;
当同一填充位置在不同所述历史填充记录的填充轮次相同时,选择所述第一数值最大的填充值作为对应填充位置的填充值。
在本申请一实施例中,所述第二获取模块还包括:
S21:分别将所述第一数据的每一行或列作为第一组合子结果,计算每一所述第一组合子结果的所述有效信息量;取所述有效信息量的最大值对应的所述第一组合子结果作为标准组合结果;
S22:分别将剩余每一行或列与所述标准组合结果合并,得到第二组合子结果;
S23:计算每一所述第二组合子结果的所述有效信息量;
S24:将所述标准组合结果的所述有效信息量与每一所述第二组合子结果的所述有效信息量对比,若所述标准组合结果的所述有效信息量大于每一所述第二组合子结果的所述有效信息量,则根据所述标准组合结果得到所述候选数据块;若存在所述第二组合子结果的所述有效信息量不小于所述标准组合结果的所述有效信息量,则取所述标准组合结果和所述第二组合子结果之中所述有效信息量的最大值对应的数据块作为新的所述标准组合结果,返回S22执行,直到所述第二组合子结果中的行数或列数等于所述第一数据的行数或列数,根据所述标准组合结果和所述第二组合子结果之中所述有效信息量的最大值对应的数据块得到对应的所述候选数据块。
在本申请一实施例中,所述第一填充模块还包括:
多次将所述第一无缺数据块中随机位置的数值设为缺失值,得到对应的多个第二有缺数据块;
根据所述第二有缺数据块得到训练数据集,分别将所述训练数据集中的每一所述第二有缺数据块输入数据填充模型,得到对应的预测填充值;
计算所有所述预测填充值与所述第一无缺数据块中对应的真实值之间的损失值,根据所述损失值对所述数据填充模型进行训练,当所述损失值取值最小时停止训练;
将所述第一有缺数据块输入训练好的所述数据填充模型,得到所述第二无缺数据块。
在本申请一实施例中,所述第一填充模块还包括:
将所述训练数据集中的每一所述第二有缺数据块分别进行随机变换,所述随机变换包括将同一所述第二有缺数据块中随机行或列交换。
本申请具有以下有益效果:
1、原始数据的整体分布特征受到每一真实值的影响。若用于训练神经网络模型的数据中包含的真实值越多,则神经网络模型学习到的数据分布特征越接近所述原始数据的整体分布特征,缺失值的存在导致真实值在所述第一数据中的分布不均匀,将存在缺失值的数据块用于训练神经网络模型,会导致模型的设计难度提高,因此选取所述有效数据量的最大值对应的所述第一无缺数据块对神经网络模型进行训练,实现将分散的真实值聚集起来,从而使神经网络模型学习到更接近所述原始数据的整体分布特征的数据分布特征,从而提高填充准确率。
2、每次从所述第一数据中选择包含所述有效信息量最大的数据作为所述第一无缺数据块,根据所述第一无缺数据块对神经网络模型进行训练,训练好的神经网络模型根据学习到的数据分布特征对缺失值进行填补,使填充值符合所述第一无缺数据块的分布特征,即所述原始数据的局部分布特征。随着填充步骤的执行次数的增加,所述第一无缺数据块中的真实值逐步增多,神经网络模型学习到的数据分布特征逐渐累积,从而降低填充结果与所述原始数据的整体分布特征之间的差距,提高填充准确性。
3、在逐步填充的过程中,由于神经网络模型根据所述第一无缺数据块的数据分布特征,以所述第一有缺数据块中的非缺失值作为填充依据,对所述第一有缺数据块中的缺失值进行填充,填充结果符合所述第一无缺数据块的数据分布特征。在本实施方式中,每次填充时将历史填充操作中未使用过的真实值纳入所述第一无缺数据块,即不属于所述历史填充数据的真实值,神经网络模型学习到的数据分布特征在历史填充操作时学到的数据分布特征的基础上还加入了新的数据分布特征,从而使神经网络模型学习到的数据分布特征随着填充次数的增加逐渐累积,例如在第二次填充操作中,选择样本1、样本2、样本4和样本5分别在特征项1、特征项3和特征项4对应的所述候选数据子集作为所述第一无缺数据块,样本2、样本4和样本5分别在特征项1、特征项3和特征项4对应的数值符合第一次填充操作时所述第一无缺数据块的数据分布特征,而样本1分别在特征项1、特征项3和特征项4对应的数值不属于所述第一无缺数据块,也不是根据所述第一无缺数据块的数据分布特征填充得到,因此样本1分别在特征项1、特征项3和特征项4对应的数值属于新的数据分布特征,当前神经网络模型学习到的数据分布特征在第一次的基础上还累积了新的数据分布特征。直到所有真实值均用于训练神经网络模型和/或用于作为填充缺失值的依据,即所有所述相似度的取值均为1时,直接取所述有效信息量最大的所述候选数据子集作为训练神经网络模型的所述第一无缺数据块,该第一无缺数据块包含历史填充操作中部分或全部的所述第一无缺数据块的分布特征特征,根据该第一无缺数据块填充得到的填充结果更接近原始数据的整体分布特征,从而实现提高填充准确度。
4、按照所述有效信息量从大到小的顺序从所有所述候选数据子集中选择所述相似度不为1、所述相似度最小的所述候选数据子集作为所述第一无缺数据块,当用于历史填充操作中未使用的真实值越多,对应的所述相似度的取值越小,当前神经网络模型学习到的数据分布特征与历史填充操作中神经网络模型学习到的数据分布特征之间的差异越大,神经网络模型更快的学习到所述原始数据中分散的所有局部分布特征。
5、由于每次填充操作时,选择不同的所述第一有缺数据块进行填充,随着填充次数的增加,每次填充时会加入新的真实值,导致不同填充途径对同一缺失值进行填充时,神经网络模型学习到的数据特征不同,例如,根据表1所示的所述第一数据得到如表3所示的所述第一无缺数据块,选择如表4所述的数据作为所述第一有缺数据子块进行第一次填充,在第二次填充时根据候选数据子集cd2,14对样本1、样本2、样本4和样本5分别在特征项2和特征项5中的缺失值进行填充,即样本1在特征项2对应的缺失值经过填充后填充值符合候选数据子集cd2,14的数据分布特征,该数据分布特征在第一次填充时的候选数据子集cd1,22的分布特征的基础上加入了新的真实值。而根据表1所示的所述第一数据得到如表3所示的所述第一无缺数据块,选择样本1和样本3分别在特征项1、特征项2和特征项3对应的数值作为所述第二有缺数据块进行填充,样本1在特征项2对应的缺失值经过填充后的填充值仅符合候选数据子集cd1,22的分布特征,根据每一填充值在不同的不含缺失值的所述第三数据中对应的填充轮次最大值得到最终的填充结果,使整体填充结果更接近原始数据的整体分布特征。
6、在从多个所述第三数据中对每一缺失位置选择填充值时,当同一填充位置得到对应填充值的填充轮次相同时,由于在进行填充操作时,训练数据填充模型的所述第一无缺数据块中真实值的数量与原始数据中真实值的数量的比值越大,数据填充模型学习到的数据分布特征更接近原始数据的整体分布特征,得到的所述填充值也更符合原始数据的整体数据分布。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本申请实施例涉及的缺失数据填充方法整体流程图;
图2为本申请实施例涉及的缺失数据填充示意图;
图3为本申请涉及的缺失数据填充方法的一种实施方式;
图4为本申请实施例涉及的数据填充模型的训练示意图;
图5为本申请实施例涉及的缺失数据填充系统整体结构图;
图6为本申请实施例涉及的电子设备结构示意图。
具体实施方式
本发明提供了基于集合划分和自监督学习的缺失数据填充方法及系统,包括获取原始数据,将原始数据转换为矩阵形式得到第一数据;以行为单位对第一数据进行重新组合,根据每一组合结果中不存在缺失值的列得到候选数据子集;或者以列为单位对第一数据进行重新组合,根据每一组合结果中不存在缺失值的行得到候选数据子集;计算每一候选数据子集中非缺失值的数量得到有效信息量;根据有效信息量的最大值对应的候选数据子集得到对应的第一无缺数据块,第一无缺数据块中每一数值均为非缺失值;根据第一无缺数据块对第一数据进行填充得到第二数据,使填充结果更接近原始数据的整体分布特征的数据分布特征,提高填充准确率。
为使本申请的上述目的、特征和优点能够更加明显易懂,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,参考术语“一个实施例”、“一些实施例”、“实施方式”、“实施例”、“示意性实施例”、“示例”、“具体示例”或“一些示例”等,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示结合该实施例或示例描述的具体特征、结构或者特点包含于本发明的至少一个实施例或示例中。而且描述的具体特征、结构或者特点可以在任何一个或多个实施例或示例中以合适的方式结合。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等关系术语仅仅用于将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或顺序。
根据本申请的第一方面,本发明请求保护基于集合划分和自监督学习的缺失数据填充方法,参照附图1所示,包括:
S1:获取原始数据,原始数据包括缺失值和非缺失值,将原始数据转换为矩阵形式,得到第一数据,记为S1
;i=1,2,3,……,n;j=1,2,3,……,m;
其中,为所述第一数据中第i行第j列个数值。
需要说明的是,原始数据中数据的数据类型包括连续型数值、离散型数值和字符串,但是其不限于此。所述缺失值为原始数据中待填充的数值。所述非缺失值包括真实值,所述真实值为原始数据中已知的数据。
需要说明的是,在步骤S1中,还包括对原始数据进行预处理。所述预处理包括将所述原始数据中每一非数值型数据转化为连续型数值或离散型数值。例如,将“是否患糖尿病”特征项对应的数据转化为1(代表未患糖尿病)和0(代表患糖尿病),即得到对应的。以上仅为示意,用于辅助理解本实施例的技术方案,不对本申请的保护范围造成进一步限制。
需要说明的是,所述预处理还包括将所述非缺失值转化为预设值,记为U。所述预设值的取值根据原始数据中真实值进行预设,所述预设值用于区分所述缺失值和所述非缺失值。
其中,所述第一数据包括所述缺失值和所述非缺失值,所述非缺失值为所述第一数据中已知的数值,包括所述真实值和根据所述真实值对所述缺失值进行填充得到的填充值。
在本实施方式中,原始数据包括n个患者样本和m个特征项。表示第i个患者样本在第j个特征项下的数据,根据原始数据得到的所述第一数据示例如下表1:
表1:第一数据示例表
S2:以行为单位对所述第一数据进行重新组合,根据每一组合结果中不包含缺失值的对应列和/或行得到候选数据子集,记为CDk,CDk={cdk,1,cdk,2,…,cdk,h,…,cdk,M},其中cdk,h表示第h个所述候选数据子集,M为所述候选数据子集的数量。计算每一所述候选数据子集中非缺失值的数量,得到有效信息量。
需要说明的是,以行为单位对所述第一数据进行重新组合,可以得到K种所述组合结果,每一组合结果为从所述第一数据中选取a行,K的取值的计算方法具体如下:
;
其中,为从n行中取出a列的组合数,a的取值小于n。
需要说明的是,可以对所有所述组合结果进行遍历,删除每一所述组合结果中包含缺失值的列,得到所述候选数据子集CD,也可以根据不同的决策方式对所述组合结果进行筛选,选择部分所述组合结果,删除每一所述组合结果中包含缺失值的列,得到所述候选数据子集CD,例如从所有划分方式中筛选出保留具体某一位或多位患者样本的行对应的组合结果。以上仅为用于示意,不构成对本申请的保护范围的限制。
在另一个可行的实施方式中,还可以以列为单位对所述第一数据进行重新组合,根据每一组合结果中不存在缺失值的行得到所述候选数据子集,具体实施方式与上述相似,在此不再详细描述。
在本实施方式中,选择对所有所述组合结果进行遍历,得到如表2所示的组合结果示例:
表2:组合结果示例
需要说明的是,以序号为22的组合结果为例,该组合结果为样本2、样本4和样本5分别在每一特征项对应的数据块,由于该组合结果中存在缺失值,即样本2和样本5分别在特征项4对应的数值为缺失值,样本4在特征项5对应的数值为缺失值。因此,在该组合结果中不包含缺失值的对应列为特征项1-3,即样本2、样本4和样本5在特征项1-3对应的数据块中非缺失值的数量为9,即该候选数据子集cdk,22的所述有效信息量为9。以上仅为示意,不构成对本申请保护范围的限制。
S3:根据所述有效信息量的最大值对应的所述候选数据子集得到对应的第一无缺数据块,所述第一无缺数据块中每一数值均为非缺失值。
在本实施方式中,根据表2可知,序号为22的组合结果对应的所述有效信息量为最大值,则选择样本2、样本4和样本5在特征项1-3对应的数据块作为所述第一无缺数据块,参照表3所示:
表3:第一无缺数据块示例
S4:根据所述第一无缺数据块对所述第一数据进行填充,得到第二数据,所述第二数据为第一数据完成填充后不存在缺失值的数据。
在本实施方式中,可以根据所述第一无缺数据块对数据填充模型进行训练,使数据填充模型学习所述第一无缺数据块的数据分布特征,将所述第一有缺数据块输入训练好的数据填充模型中,数据填充模型根据所述第一无缺数据块的数据分布特征对所述第一数据中的缺失值进行填充,得到缺失值对应的填充值,得到所述第二数据。其中,所述数据填充模型可以根据神经网络模型构建。
需要说明的是,原始数据的整体分布特征受到每一真实值的影响。若用于训练神经网络模型的数据中包含的真实值越多,则神经网络模型学习到的数据分布特征越接近所述原始数据的整体分布特征,缺失值的存在导致真实值在所述第一数据中的分布不均匀,将存在缺失值的数据块用于训练神经网络模型,会导致模型的设计难度提高,因此选取所述有效数据量的最大值对应的所述第一无缺数据块对神经网络模型进行训练,实现将分散的真实值聚集起来,从而使神经网络模型学习到更接近所述原始数据的整体分布特征的数据分布特征,从而提高填充准确率。
在一个可行的实施方式中,参照附图2所示,在步骤S4中还包括:
S41:根据所述第一无缺数据块获取第一有缺数据块,所述第一有缺数据块存在缺失值,所述第一有缺数据块包括所述第一数据中与所述第一无缺数据块同行不同列的数据块,所述数据块为数据中多个指定位置的数值组成的矩阵。
在本实施方式中,所述第一有缺数据块包括样本2、样本4和样本5在特征项4和特征项5对应的数据块,参照表4:
表4:第一有缺数据块示例
/>
在另一个可行的实施方式中,所述第一有缺数据块可以包括所述第一数据中与所述第一无缺数据块同列不同行的数据块,即样本1和样本3在特征项1-3对应的数据块,具体实施方式与上述相似,在此不再详细描述。
S42:根据所述第一无缺数据块对所述第一有缺数据块进行填充,得到第二无缺数据块,根据所述第二无缺数据块得到第三数据。
在本实施方式中,根据所述第一无缺数据块对应的数值对神经网络模型进行训练,将所述第一有缺数据块输入训练好的神经网络模型,输出所述第二无缺数据块,所述第二无缺数据块为神经网络模型将所述第一有缺数据块中缺失值进行填充后的数据。根据所述第二无缺数据块中填充值对所述第一数据对应位置进行填充,得到所述第三数据。
S43:判断所述第三数据是否存在缺失值,若是,则将所述第三数据作为新的所述第一数据,返回S2继续执行,直至所述第三数据不存在缺失值,根据所有缺失值对应的填充值得到所述第二数据。
在本实施方式中,经过第一次的填充,样本2、样本4和样本5在每一特征项对应的数据块均为非缺失值,进一步得到所述第三数据。样本1分别在特征项2和特征项5对应的数值以及样本3分别在特征项1、特征项3和特征项4对应的数值均为缺失值,因此将该第三数据作为新的所述第一数据,根据剩余缺失值的位置重新划分得到新的所述第一无缺数据块和新的所述第一有缺数据块,再次训练新的神经网络模型,对缺失值进行填充。直到每一样本在每一特征项对应的数值均为非缺失值,得到所述第二数据。
在本实施方式中,CDk为第k次填充操作时的所述候选数据子集的集合, cdk,h表示第k次填充操作时的所述候选数据子集的集合中第h个所述候选数据子集。
需要说明的是,每次从所述第一数据中选择包含所述有效信息量最大的数据作为所述第一无缺数据块,根据所述第一无缺数据块对神经网络模型进行训练,训练好的神经网络模型根据学习到的数据分布特征对缺失值进行填补,使填充值符合所述第一无缺数据块的分布特征,即所述原始数据的局部分布特征。随着填充步骤的执行次数的增加,所述第一无缺数据块中的真实值逐步增多,神经网络模型学习到的数据分布特征逐渐累积,从而降低填充结果与所述原始数据的整体分布特征之间的差距,提高填充准确性。
在一个可行的实施方式中,在步骤S2中还包括:
计算每一所述候选数据子集cdk,h与历史填充数据H的相似度,其中,所述历史填充数据H包括第1次到第k-1次填充操作中所有所述第一无缺数据块和所有所述第二无缺数据块,所述相似度的计算方法包括:
其中,Similarity为所述相似度,N为所述候选数据子集对应的所述有效信息量,N1为所述候选数据子集中属于所述历史填充数据H的数值的数量;
若存在取值小于1的所述相似度,去除所述相似度的取值为1的所述候选数据子集;
取当前所有所述候选数据子集中所述有效信息量的最大值对应的所述候选数据子集作为所述第一无缺数据块。
需要说明的是,所述历史填充数据H的初始值为空值。从完成第一次填充后开始,每完成一次填充操作,更新所述历史填充数据,将当前填充操作对应的所述第一无缺数据块中每一数值和所述第二无缺数据块中每一数值纳入所述历史填充数据H,每次填充操作开始之前,计算每一所述候选数据子集与所述历史填充数据的所述相似度,当所有所述相似度中存在取值小于1的所述候选数据子集,则去除所述相似度的取值为1的所述候选数据子集后,取剩余所述候选数据子集中所述有效信息量的最大值对应的所述候选数据子集作为所述第一无缺数据块,当所有所述相似度的取值均为1,则取所有所述候选数据子集中所述有效信息量的最大值对应的所述候选数据子集作为所述第一无缺数据块。
在本实施方式中,根据表1所示的所述第一数据得到如表3所示的所述第一无缺数据块,选择如表4所述的第一有缺数据块进行填充后,将样本2、样本4和样本5在每一特征项对应的数值纳入所述历史填充数据,即:
;
在第二次填充时,计算每一所述候选数据子集与所述历史填充数据的所述相似度。例如,在第二次填充操作中,采用同样的方式得到的所有组合结果,对于样本2、样本4和样本5在每一特征项的数值对应的所述候选数据子集cd2,22而言,其中所有数值均为非缺失值,其对应的所述有效信息量为15,由于该候选数据子集中所有数值均属于所述历史填充数据,因此其对应的所述相似度为15/15=1,对于样本1、样本2、样本4和样本5分别在特征项1、特征项3和特征项4对应的所述候选数据子集cd2,14而言,对应的所述有效信息量为12,由于该候选数据子集中样本1分别在特征项1、特征项3和特征项4对应的数值不属于所述历史填充数据,其余均属于所述历史填充数据,因此该候选数据子集与所述历史填充数据的所述相似度为9/12=0.75,且其是当前填充操作时所有所述候选数据子集中所述有效信息量最大的所述候选数据子集,因此,在第二次填充时,将该候选数据子集作为所述第一无缺数据块。
需要说明的是,在逐步填充的过程中,由于神经网络模型根据所述第一无缺数据块的数据分布特征,以所述第一有缺数据块中的非缺失值作为填充依据,对所述第一有缺数据块中的缺失值进行填充,填充结果符合所述第一无缺数据块的数据分布特征。在本实施方式中,每次填充时将历史填充操作中未使用过的真实值纳入所述第一无缺数据块,即不属于所述历史填充数据的真实值,神经网络模型学习到的数据分布特征在历史填充操作时学到的数据分布特征的基础上还加入了新的数据分布特征,从而使神经网络模型学习到的数据分布特征随着填充次数的增加逐渐累积,例如在第二次填充操作中,选择样本1、样本2、样本4和样本5分别在特征项1、特征项3和特征项4对应的所述候选数据子集作为所述第一无缺数据块,样本2、样本4和样本5分别在特征项1、特征项3和特征项4对应的数值符合第一次填充操作时所述第一无缺数据块的数据分布特征,而样本1分别在特征项1、特征项3和特征项4对应的数值不属于所述第一无缺数据块,也不是根据所述第一无缺数据块的数据分布特征填充得到,因此样本1分别在特征项1、特征项3和特征项4对应的数值属于新的数据分布特征,当前神经网络模型学习到的数据分布特征在第一次的基础上还累积了新的数据分布特征。直到所有真实值均用于训练神经网络模型和/或用于作为填充缺失值的依据,即所有所述相似度的取值均为1时,直接取所述有效信息量最大的所述候选数据子集作为训练神经网络模型的所述第一无缺数据块,该第一无缺数据块包含历史填充操作中部分或全部的所述第一无缺数据块的分布特征特征,根据该第一无缺数据块填充得到的填充结果更接近原始数据的整体分布特征,从而实现提高填充准确度。
在一个可行的实施方式中,所述方法还包括:
若当前所有所述候选数据子集中所述有效信息量的最大值对应的所述候选数据子集的数量大于1,对应的每一所述相似度的取值均小于1,则取其中所述相似度的最小值对应的所述候选数据子集作为所述第一无缺数据块。
需要说明的是,按照所述有效信息量从大到小的顺序从所有所述候选数据子集中选择所述相似度不为1、所述相似度最小的所述候选数据子集作为所述第一无缺数据块,当用于历史填充操作中未使用的真实值越多,对应的所述相似度的取值越小,当前神经网络模型学习到的数据分布特征与历史填充操作中神经网络模型学习到的数据分布特征之间的差异越大,神经网络模型更快的学习到所述原始数据中分散的所有局部分布特征。
在一个可行的实施方式中,参照附图3所示,所述第一有缺数据块还包括第一有缺数据子块和第二有缺数据子块,所述第一有缺数据子块包括所述第一数据中与所述第一无缺数据块同行不同列的数据块,所述第二有缺数据子块包括所述第一数据中与所述第一无缺数据块同列不同行的数据块:
在所述根据所述第一无缺数据块对所述第一有缺数据块进行填充之中,还包括:
根据所述第一无缺数据块对所述第一有缺数据子块进行填充,得到第一无缺数据子块,根据所述第一无缺数据子块得到对应的所述第三数据;
根据所述第一无缺数据块对所述第二有缺数据子块进行填充,得到第二无缺数据子块,根据所述第二无缺数据子块得到对应的所述第三数据;
分别更新每一所述第三数据对应的历史填充记录,所述历史填充记录包括填充轮次和每一填充轮次对应的填充位置;
分别判断每一所述第三数据是否存在缺失值,若所述第三数据存在缺失值,则将对应的所述第三数据作为新的所述第一数据,返回S2继续执行,直至所有所述第三数据均不存在缺失值,根据每一填充位置在不同所述历史填充记录中填充轮次的最大值对应的填充值得到所述第二数据。
其中,所述填充轮次为对所述第一数据进行填充的过程中填充操作的序号。
在本实施方式中,根据表1所示的所述第一数据得到如表3所示的所述第一无缺数据块,选择如表4所述的数据作为所述第一有缺数据子块进行填充,将对应的所述第三数据作为新的所述第一数据继续进行填充,当填充完成时,得到对应的不存在缺失值的所述第三数据,记为;根据表1所示的所述第一数据得到如表3所示的所述第一无缺数据块,选择样本1和样本3分别在特征项1、特征项2和特征项3对应的数值作为所述第二有缺数据块进行填充,将对应的所述第三数据作为新的所述第一数据继续进行填充,当填充完成时,得到对应的不存在缺失值的所述第三数据,记为/>,根据每一填充值在/>和/>对应的填充轮次最大值得到最终的填充结果,例如,在第三数据/>中,样本1在特征项2对应的填充值是在第一次填充操作时得到,即对应的填充轮次为1,在第三数据/>中,样本1在特征项2对应的填充值是在第二次填充操作时得到,即对应的填充轮次为2,因此,将第三数据/>中样本1在特征项2对应的填充值作为该缺失值最终的填充结果。/>
需要说明的是,由于每次填充操作时,选择不同的所述第一有缺数据块进行填充,随着填充次数的增加,每次填充时会加入新的真实值,导致不同填充途径对同一缺失值进行填充时,神经网络模型学习到的数据特征不同,例如,根据表1所示的所述第一数据得到如表3所示的所述第一无缺数据块,选择如表4所述的数据作为所述第一有缺数据子块进行第一次填充,在第二次填充时根据候选数据子集cd2,14对样本1、样本2、样本4和样本5分别在特征项2和特征项5中的缺失值进行填充,即样本1在特征项2对应的缺失值经过填充后填充值符合候选数据子集cd2,14的数据分布特征,该数据分布特征在第一次填充时的候选数据子集cd1,22的分布特征的基础上加入了新的真实值。而根据表1所示的所述第一数据得到如表3所示的所述第一无缺数据块,选择样本1和样本3分别在特征项1、特征项2和特征项3对应的数值作为所述第二有缺数据块进行填充,样本1在特征项2对应的缺失值经过填充后的填充值仅符合候选数据子集cd1,22的分布特征,根据每一填充值在不同的不含缺失值的所述第三数据中对应的填充轮次最大值得到最终的填充结果,使整体填充结果更接近原始数据的整体分布特征。
在一个可行的实施方式中,所述历史填充记录还包括每一填充轮次得到的所述填充值对应的所述第一无缺数据块中真实值的数量与原始数据中真实值的数量之比,得到第一数值;
当同一填充位置在不同所述历史填充记录的填充轮次相同时,选择所述第一数值最大的填充值作为对应填充位置的填充值。
在本实施方式中,以第三数据中样本1在特征项2的填充值为例,由于该填充值是在第二填充轮次时,根据候选数据子集cd2,14对数据填充模型进行训练,以得到该填充值,在候选数据子集cd2,14中,除样本2和样本5分别在特征项1对应的数值为第一填充轮次时得到的填充值,其余均为真实值,共计10个,原始数据中真实值的数量为14个,则该填充值对应的所述第一数值的取值为10/14=0.714。
需要说明的是,在从多个所述第三数据中对每一缺失位置选择填充值时,当同一填充位置得到对应填充值的填充轮次相同时,由于在进行填充操作时,训练数据填充模型的所述第一无缺数据块中真实值的数量与原始数据中真实值的数量的比值越大,数据填充模型学习到的数据分布特征更接近原始数据的整体分布特征,得到的所述填充值也更符合原始数据的整体数据分布。
在一个可行的实施方式中,在S2中,还包括:
S21:分别将所述第一数据的每一行或列作为第一组合子结果,计算每一所述第一组合子结果的所述有效信息量;取所述有效信息量的最大值对应的所述第一组合子结果作为标准组合结果;
S22:分别将剩余每一行或列与所述标准组合结果合并,得到第二组合子结果;
S23:计算每一所述第二组合子结果的所述有效信息量;
S24:将所述标准组合结果的所述有效信息量与每一所述第二组合子结果的所述有效信息量对比,若所述标准组合结果的所述有效信息量大于每一所述第二组合子结果的所述有效信息量,则根据所述标准组合结果得到所述候选数据块;若存在所述第二组合子结果的所述有效信息量不小于所述标准组合结果的所述有效信息量,则取所述标准组合结果和所述第二组合子结果之中所述有效信息量的最大值对应的数据块作为新的所述标准组合结果,返回S22执行,直到所述第二组合子结果中的行数或列数等于所述第一数据的行数或列数,根据所述标准组合结果和所述第二组合子结果之中所述有效信息量的最大值对应的数据块得到对应的所述候选数据块。
在本实施方式中,根据表1所示的所述第一数据,第一行的所述有效信息量为3,第二行的所述有效信息量为4,第三行的所述有效信息量为2,第四行的所述有效信息量为4,第五行的所述有效信息量为4,以将第二行对应的数据块作为所述标准组合结果;分别将第一行、第三行、第四行和第五行对应的数据块与所述标准组合结果进行合并,得到的所述第二组合子结果对应的所述有效信息量分别为4、4、6和8,将第五行与第二行对应的所述第二组合子结果作为新的所述标准组合结果;分别将第一行、第三行和第四行对应的数据块与所述标准组合结果进行合并,得到的所述第二组合子结果对应的所述有效信息量分别为6、6和9,将第四行、第五行与第二行对应的所述第二组合子结果作为新的所述标准组合结果;分别将第一行和第三行对应的数据块与所述标准组合结果进行合并,得到的所述第二组合子结果对应的所述有效信息量分别为8和4,由于此时所述标准组合结果对应的所述有效信息量为9,即大于每一所述第二组合子结果的所述有效信息量,因此根据第二行、第四行和第五行的所述第二组合子结果得到对应的所述候选数据子集。
需要说明的是,当原始数据为大样本数据时,选择采用遍历的方式对每一所述第一数据对应的组合结果进行遍历时会导致计算量大,不利于基于大数据对缺失数据填充。每次选择有效信息量最大的所述第一组合子结果或所述第二子结果作为所述标准组合结果,以所述标准组合结果为基础与其他每一行分别得到行数或列数更多的所述标准组合结果,从而实现更快地从所有组合结果中搜寻包含有效信息量更多的所述第一无缺数据块,减少搜寻量。
在一个可行的实施方式中,参照附图4所示,在所述根据所述第一无缺数据块对所述第一数据进行填充之中,还包括:
多次将所述第一无缺数据块中随机位置的数值设为缺失值,得到对应的多个第二有缺数据块;
根据所述第二有缺数据块得到训练数据集,分别将所述训练数据集中的每一所述第二有缺数据块输入数据填充模型,得到对应的预测填充值;
计算所有所述预测填充值与所述第一无缺数据块中对应的真实值之间的损失值,根据所述损失值对所述数据填充模型进行训练,当所述损失值取值最小时停止训练;
将所述第一有缺数据块输入训练好的所述数据填充模型,得到所述第二无缺数据块。
在本实施方式中,所述数据填充模型根据神经网络模型构建,包括输入层、隐藏层和输出层,训练过程中采用Relu函数作为激活函数,根据均方差损失函数计算所有所述预测填充值与所述第一无缺数据块中对应的真实值之间的损失值,所述均方差损失函数MSE具体计算方法为:
其中,为所述训练数据集中所述第二有缺数据块的数量,/>为第i个所述第二有缺数据块中缺失值的数量,yi,j为第i个所述第二有缺数据块中第j个缺失值对应的真实值,/>为第i个所述第二有缺数据块中第j个缺失值对应的预测填充值。
在一个可行的实施方式中,在所述分别将所述训练数据集中的每一所述第二有缺数据块输入数据填充模型之前,还包括:
将所述训练数据集中的每一所述第二有缺数据块分别进行随机变换,所述随机变换包括将同一所述第二有缺数据块中随机行或列交换,以实现扩大训练数据集中训练样本的数量,降低数据填充模型出现过拟合的概率。
根据本申请的第二方面,本发明请求保护基于集合划分和自监督学习的缺失数据填充系统,参照附图5所示,所述系统包括:
第一获取模块:获取原始数据,原始数据包括缺失值和非缺失值,将原始数据转换为矩阵形式,得到第一数据;
第二获取模块:以行为单位对所述第一数据进行重新组合,根据每一组合结果中不存在缺失值的列得到候选数据子集;或者以列为单位对所述第一数据进行重新组合,根据每一组合结果中不存在缺失值的行得到所述候选数据子集;计算每一所述候选数据子集中非缺失值的数量,得到有效信息量;
第三获取模块:根据所述有效信息量的最大值对应的所述候选数据子集得到对应的第一无缺数据块,所述第一无缺数据块中每一数值均为非缺失值;
第一填充模块:根据所述第一无缺数据块对所述第一数据进行填充,得到第二数据。
在一个可行的实施方式中,所述第一填充模块还包括:
根据所述第一无缺数据块获取第一有缺数据块,所述第一有缺数据块存在缺失值,所述第一有缺数据块包括所述第一数据中与所述第一无缺数据块同行不同列的数据块,和/或所述第一数据中与所述第一无缺数据块同列不同行的数据块;
根据所述第一无缺数据块对所述第一有缺数据块进行填充,得到第二无缺数据块,根据所述第二无缺数据块得到第三数据;
判断所述第三数据是否存在缺失值,若是,则将所述第三数据作为新的所述第一数据,返回S2继续执行,直至所述第三数据不存在缺失值,根据所有缺失值对应的填充值得到所述第二数据。
在一个可行的实施方式中,所述第三获取模块还包括:
计算每一所述候选数据子集与历史填充数据的相似度,其中,所述历史填充数据包括历史填充操作中所有所述第一无缺数据块和所有所述第二无缺数据块,所述相似度的计算方法包括:
其中,Similarity为所述相似度,N为所述候选数据子集对应的所述有效信息量,N1为所述候选数据子集中属于所述历史填充数据的数值的数量;
若存在取值小于1的所述相似度,去除所述相似度的取值为1的所述候选数据子集;
取当前所有所述候选数据子集中所述有效信息量的最大值对应的所述候选数据子集作为所述第一无缺数据块。
在一个可行的实施方式中,所述第三获取模块还包括:
若当前所有所述候选数据子集中所述有效信息量的最大值对应的所述候选数据子集的数量大于1,对应的每一所述相似度的取值均小于1,则取其中所述相似度的最小值对应的所述候选数据子集作为所述第一无缺数据块。
在一个可行的实施方式中,所述第一有缺数据块还包括第一有缺数据子块和第二有缺数据子块,所述第一有缺数据子块包括所述第一数据中与所述第一无缺数据块同行不同列的数据块,所述第二有缺数据子块包括所述第一数据中与所述第一无缺数据块同列不同行的数据块:
在所述根据所述第一无缺数据块对所述第一有缺数据块进行填充之中,还包括:
根据所述第一无缺数据块对所述第一有缺数据子块进行填充,得到第一无缺数据子块,根据所述第一无缺数据子块得到对应的所述第三数据;
根据所述第一无缺数据块对所述第二有缺数据子块进行填充,得到第二无缺数据子块,根据所述第二无缺数据子块得到对应的所述第三数据;
分别更新每一所述第三数据对应的历史填充记录,所述历史填充记录包括填充轮次和每一填充轮次对应的填充位置;
分别判断每一所述第三数据是否存在缺失值,若所述第三数据存在缺失值,则将对应的所述第三数据作为新的所述第一数据,返回S2继续执行,直至所有所述第三数据均不存在缺失值,根据每一填充位置在不同所述历史填充记录中填充轮次的最大值对应的填充值得到所述第二数据。
在一个可行的实施方式中,所述历史填充记录还包括每一填充轮次得到的所述填充值对应的所述第一无缺数据块中真实值的数量与原始数据中真实值的数量之比,得到第一数值;
当同一填充位置在不同所述历史填充记录的填充轮次相同时,选择所述第一数值最大的填充值作为对应填充位置的填充值。
在一个可行的实施方式中,所述第二获取模块还包括:
S21:分别将所述第一数据的每一行或列作为第一组合子结果,计算每一所述第一组合子结果的所述有效信息量;取所述有效信息量的最大值对应的所述第一组合子结果作为标准组合结果;
S22:分别将剩余每一行或列与所述标准组合结果合并,得到第二组合子结果;
S23:计算每一所述第二组合子结果的所述有效信息量;
S24:将所述标准组合结果的所述有效信息量与每一所述第二组合子结果的所述有效信息量对比,若所述标准组合结果的所述有效信息量大于每一所述第二组合子结果的所述有效信息量,则根据所述标准组合结果得到所述候选数据块;若存在所述第二组合子结果的所述有效信息量不小于所述标准组合结果的所述有效信息量,则取所述标准组合结果和所述第二组合子结果之中所述有效信息量的最大值对应的数据块作为新的所述标准组合结果,返回S22执行,直到所述第二组合子结果中的行数或列数等于所述第一数据的行数或列数,根据所述标准组合结果和所述第二组合子结果之中所述有效信息量的最大值对应的数据块得到对应的所述候选数据块。
在一个可行的实施方式中,所述第一填充模块还包括:
多次将所述第一无缺数据块中随机位置的数值设为缺失值,得到对应的多个第二有缺数据块;
根据所述第二有缺数据块得到训练数据集,分别将所述训练数据集中的每一所述第二有缺数据块输入数据填充模型,得到对应的预测填充值;
计算所有所述预测填充值与所述第一无缺数据块中对应的真实值之间的损失值,根据所述损失值对所述数据填充模型进行训练,当所述损失值取值最小时停止训练;
将所述第一有缺数据块输入训练好的所述数据填充模型,得到所述第二无缺数据块。
在一个可行的实施方式中,所述第一填充模块还包括:
将所述训练数据集中的每一所述第二有缺数据块分别进行随机变换,所述随机变换包括将同一所述第二有缺数据块中随机行或列交换。
参照附图6所示,本申请实施例提供一种电子设备,包括:处理器和存储器,处理器和存储器通过通信总线和/或其他形式的连接机构(未标出)互连并相互通讯,存储器存储有处理器可执行的计算机程序,当计算设备运行时,处理器执行该计算机程序,以执行上述实施例的任一可选的实施方式中的系统。
本申请实施例提供一种存储介质,所述计算机程序被处理器执行时,执行上述实施例的任一可选的实施方式中的系统。其中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random AccessMemory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable ProgrammableRead-Only Memory,简称EEPROM),可擦出可编程只读存储器(Erasable ProgrammableRead-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
本申请所提供的实施例中,应该理解到,所揭露系统可以通过其他的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以由另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其他的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
本文中使用了流程图用来说明通过本公开的实施例的方法的步骤。应当理解的是,前面或后面的步骤不一定按照顺序来精确的进行。相反,可以按照倒序或同时评价各种步骤。同时,也可以将其他操作添加到这些过程中。
除非另有定义,这里使用的所有术语具有与本公开所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。
以上对所提供的基于集合划分和自监督学习的缺失数据填充方法及系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明仅为本申请的实施例而已,只是用于帮助理解本申请的基于基于集合划分和自监督学习的缺失数据填充方法及系统,并不用于限制本申请的保护范围;同时,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的和精神和原则之内,所作的任何修改、等同替换,均应包含在本申请的保护范围之内。

Claims (10)

1.基于集合划分和自监督学习的缺失数据填充方法,其特征在于,包括:
S1:获取原始数据,原始数据包括缺失值和非缺失值,将原始数据转换为矩阵形式,得到第一数据;
S2:以行为单位对所述第一数据进行重新组合,根据每一组合结果中不存在缺失值的列得到候选数据子集;或者以列为单位对所述第一数据进行重新组合,根据每一组合结果中不存在缺失值的行得到所述候选数据子集;计算每一所述候选数据子集中非缺失值的数量,得到有效信息量;
S3:根据所述有效信息量的最大值对应的所述候选数据子集得到对应的第一无缺数据块,所述第一无缺数据块中每一数值均为非缺失值;
S4:根据所述第一无缺数据块对所述第一数据进行填充,得到第二数据。
2.根据权利要求1所述的基于集合划分和自监督学习的缺失数据填充方法,其特征在于,在所述根据所述第一无缺数据块对所述第一数据进行填充之中,还包括:
根据所述第一无缺数据块获取第一有缺数据块,所述第一有缺数据块存在缺失值,所述第一有缺数据块包括所述第一数据中与所述第一无缺数据块同行不同列的数据块,和/或所述第一数据中与所述第一无缺数据块同列不同行的数据块;
根据所述第一无缺数据块对所述第一有缺数据块进行填充,得到第二无缺数据块,根据所述第二无缺数据块得到第三数据;
判断所述第三数据是否存在缺失值,若是,则将所述第三数据作为新的所述第一数据,返回S2继续执行,直至所述第三数据不存在缺失值,根据所有缺失值对应的填充值得到所述第二数据。
3.根据权利要求2所述的基于集合划分和自监督学习的缺失数据填充方法,其特征在于,在所述根据所述有效信息量的最大值对应的所述候选数据子集得到对应的第一无缺数据块之中,还包括:
计算每一所述候选数据子集与历史填充数据的相似度,其中,所述历史填充数据包括历史填充操作中所有所述第一无缺数据块和所有所述第二无缺数据块,所述相似度的计算方法包括:
其中,Similarity为所述相似度,N为所述候选数据子集对应的所述有效信息量,N1为所述候选数据子集中属于所述历史填充数据的数值的数量;
若存在取值小于1的所述相似度,去除所述相似度的取值为1的所述候选数据子集;
取当前所有所述候选数据子集中所述有效信息量的最大值对应的所述候选数据子集作为所述第一无缺数据块。
4.根据权利要求3所述的基于集合划分和自监督学习的缺失数据填充方法,其特征在于,所述方法还包括:
若当前所有所述候选数据子集中所述有效信息量的最大值对应的所述候选数据子集的数量大于1,对应的每一所述相似度的取值均小于1,则取其中所述相似度的最小值对应的所述候选数据子集作为所述第一无缺数据块。
5.根据权利要求4所述的基于集合划分和自监督学习的缺失数据填充方法,其特征在于,所述第一有缺数据块还包括第一有缺数据子块和第二有缺数据子块,所述第一有缺数据子块包括所述第一数据中与所述第一无缺数据块同行不同列的数据块,所述第二有缺数据子块包括所述第一数据中与所述第一无缺数据块同列不同行的数据块:
在所述根据所述第一无缺数据块对所述第一有缺数据块进行填充之中,还包括:
根据所述第一无缺数据块对所述第一有缺数据子块进行填充,得到第一无缺数据子块,根据所述第一无缺数据子块得到对应的所述第三数据;
根据所述第一无缺数据块对所述第二有缺数据子块进行填充,得到第二无缺数据子块,根据所述第二无缺数据子块得到对应的所述第三数据;
分别更新每一所述第三数据对应的历史填充记录,所述历史填充记录包括填充轮次和每一填充轮次对应的填充位置;
分别判断每一所述第三数据是否存在缺失值,若所述第三数据存在缺失值,则将对应的所述第三数据作为新的所述第一数据,返回S2继续执行,直至所有所述第三数据均不存在缺失值,根据每一填充位置在不同所述历史填充记录中填充轮次的最大值对应的填充值得到所述第二数据。
6.根据权利要求4所述的基于集合划分和自监督学习的缺失数据填充方法,其特征在于,所述历史填充记录还包括每一填充轮次得到的所述填充值对应的所述第一无缺数据块中真实值的数量与原始数据中真实值的数量之比,得到第一数值;
当同一填充位置在不同所述历史填充记录的填充轮次相同时,选择所述第一数值最大的填充值作为对应填充位置的填充值。
7.根据权利要求1-6任意一项所述的基于集合划分和自监督学习的缺失数据填充方法,其特征在于,在S2中,还包括:
S21:分别将所述第一数据的每一行或列作为第一组合子结果,计算每一所述第一组合子结果的所述有效信息量;取所述有效信息量的最大值对应的所述第一组合子结果作为标准组合结果;
S22:分别将剩余每一行或列与所述标准组合结果合并,得到第二组合子结果;
S23:计算每一所述第二组合子结果的所述有效信息量;
S24:将所述标准组合结果的所述有效信息量与每一所述第二组合子结果的所述有效信息量对比,若所述标准组合结果的所述有效信息量大于每一所述第二组合子结果的所述有效信息量,则根据所述标准组合结果得到所述候选数据块;若存在所述第二组合子结果的所述有效信息量不小于所述标准组合结果的所述有效信息量,则取所述标准组合结果和所述第二组合子结果之中所述有效信息量的最大值对应的数据块作为新的所述标准组合结果,返回S22执行,直到所述第二组合子结果中的行数或列数等于所述第一数据的行数或列数,根据所述标准组合结果和所述第二组合子结果之中所述有效信息量的最大值对应的数据块得到对应的所述候选数据块。
8.根据权利要求7所述的基于集合划分和自监督学习的缺失数据填充方法,其特征在于,在所述根据所述第一无缺数据块对所述第一数据进行填充之中,还包括:
多次将所述第一无缺数据块中随机位置的数值设为缺失值,得到对应的多个第二有缺数据块;
根据所述第二有缺数据块得到训练数据集,分别将所述训练数据集中的每一所述第二有缺数据块输入数据填充模型,得到对应的预测填充值;
计算所有所述预测填充值与所述第一无缺数据块中对应的真实值之间的损失值,根据所述损失值对所述数据填充模型进行训练,当所述损失值取值最小时停止训练;
将所述第一有缺数据块输入训练好的所述数据填充模型,得到所述第二无缺数据块。
9.根据权利要求8所述的基于集合划分和自监督学习的缺失数据填充方法,其特征在于,在所述分别将所述训练数据集中的每一所述第二有缺数据块输入数据填充模型之前,还包括:
将所述训练数据集中的每一所述第二有缺数据块分别进行随机变换,所述随机变换包括将同一所述第二有缺数据块中随机行或列交换。
10.基于集合划分和自监督学习的缺失数据填充系统,其特征在于,所述系统包括:
第一获取模块:获取原始数据,原始数据包括缺失值和非缺失值,将原始数据转换为矩阵形式,得到第一数据;
第二获取模块:以行为单位对所述第一数据进行重新组合,根据每一组合结果中不存在缺失值的列得到候选数据子集;或者以列为单位对所述第一数据进行重新组合,根据每一组合结果中不存在缺失值的行得到所述候选数据子集;计算每一所述候选数据子集中非缺失值的数量,得到有效信息量;
第三获取模块:根据所述有效信息量的最大值对应的所述候选数据子集得到对应的第一无缺数据块,所述第一无缺数据块中每一数值均为非缺失值;
第一填充模块:根据所述第一无缺数据块对所述第一数据进行填充,得到第二数据。
CN202410247375.1A 2024-03-05 2024-03-05 基于集合划分和自监督学习的缺失数据填充方法及系统 Pending CN117828373A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410247375.1A CN117828373A (zh) 2024-03-05 2024-03-05 基于集合划分和自监督学习的缺失数据填充方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410247375.1A CN117828373A (zh) 2024-03-05 2024-03-05 基于集合划分和自监督学习的缺失数据填充方法及系统

Publications (1)

Publication Number Publication Date
CN117828373A true CN117828373A (zh) 2024-04-05

Family

ID=90509940

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410247375.1A Pending CN117828373A (zh) 2024-03-05 2024-03-05 基于集合划分和自监督学习的缺失数据填充方法及系统

Country Status (1)

Country Link
CN (1) CN117828373A (zh)

Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2428235A1 (en) * 2000-11-09 2002-05-16 Spss, Inc. System and method for building a time series model
CN106407464A (zh) * 2016-10-12 2017-02-15 南京航空航天大学 一种基于knn的改进缺失数据填补算法
CN108846555A (zh) * 2018-05-24 2018-11-20 四川大学 一种电力负荷大数据缺失值的高效精确填补法
CN109446185A (zh) * 2018-08-29 2019-03-08 广西大学 基于用户聚类的协同过滤缺失数据处理方法
CN110175168A (zh) * 2019-05-28 2019-08-27 山东大学 一种基于生成对抗网络的时间序列数据填补方法及系统
CN110766030A (zh) * 2018-07-25 2020-02-07 北京国双科技有限公司 缺失值处理方式的确定方法及装置
CN113689004A (zh) * 2021-08-31 2021-11-23 西南石油大学 基于机器学习的地下管网承载力评价方法及系统
CN114356911A (zh) * 2022-03-18 2022-04-15 四川省医学科学院·四川省人民医院 基于集合划分信息量最大化的数据缺失处理方法及系统
CN114401116A (zh) * 2021-12-20 2022-04-26 广东电网有限责任公司 基于HK-Means和安全性检测的可信数据传输方法
CN114580525A (zh) * 2022-02-25 2022-06-03 华南理工大学 一种面向含缺失数据的手势动作分类方法
KR20220074548A (ko) * 2020-11-27 2022-06-03 이화여자대학교 산학협력단 센서 데이터의 누락값 보정 방법 및 누락값 보정 장치
CN114595213A (zh) * 2022-03-02 2022-06-07 桂林理工大学 一种关于土壤数据集的多重插补方法
CN114818925A (zh) * 2022-04-26 2022-07-29 广西电网有限责任公司 一种风电场出力数据缺失值填补方法及系统
CN115145906A (zh) * 2022-09-02 2022-10-04 之江实验室 一种面向结构化数据的预处理和补全方法
CN115409153A (zh) * 2022-08-08 2022-11-29 南京丰顿科技股份有限公司 一种基于注意力lstm的畜牧指标预测方法及预测系统
CN115878603A (zh) * 2022-12-27 2023-03-31 大连大学 基于k近邻算法与gan网络的水质缺失数据插补算法
CN115905862A (zh) * 2022-11-07 2023-04-04 四川省医学科学院·四川省人民医院 一种基于生成对抗网络的缺失数据处理方法及系统
CN116049672A (zh) * 2022-12-29 2023-05-02 中国互联网络信息中心 一种缺失数据的填充方法及装置
CN116450653A (zh) * 2023-06-09 2023-07-18 浙江大学 一种针对供应链数据缺失的补全方法及装置
US11709910B1 (en) * 2019-03-18 2023-07-25 Cigna Intellectual Property, Inc. Systems and methods for imputing missing values in data sets
CN117034143A (zh) * 2023-10-10 2023-11-10 南京邮电大学 一种基于机器学习的分布式系统故障诊断方法及装置
CN117217290A (zh) * 2023-08-08 2023-12-12 南华大学 因果生成对抗网络的数据插补方法、装置、设备和介质

Patent Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2428235A1 (en) * 2000-11-09 2002-05-16 Spss, Inc. System and method for building a time series model
CN106407464A (zh) * 2016-10-12 2017-02-15 南京航空航天大学 一种基于knn的改进缺失数据填补算法
CN108846555A (zh) * 2018-05-24 2018-11-20 四川大学 一种电力负荷大数据缺失值的高效精确填补法
CN110766030A (zh) * 2018-07-25 2020-02-07 北京国双科技有限公司 缺失值处理方式的确定方法及装置
CN109446185A (zh) * 2018-08-29 2019-03-08 广西大学 基于用户聚类的协同过滤缺失数据处理方法
US11709910B1 (en) * 2019-03-18 2023-07-25 Cigna Intellectual Property, Inc. Systems and methods for imputing missing values in data sets
CN110175168A (zh) * 2019-05-28 2019-08-27 山东大学 一种基于生成对抗网络的时间序列数据填补方法及系统
KR20220074548A (ko) * 2020-11-27 2022-06-03 이화여자대학교 산학협력단 센서 데이터의 누락값 보정 방법 및 누락값 보정 장치
CN113689004A (zh) * 2021-08-31 2021-11-23 西南石油大学 基于机器学习的地下管网承载力评价方法及系统
CN114401116A (zh) * 2021-12-20 2022-04-26 广东电网有限责任公司 基于HK-Means和安全性检测的可信数据传输方法
CN114580525A (zh) * 2022-02-25 2022-06-03 华南理工大学 一种面向含缺失数据的手势动作分类方法
CN114595213A (zh) * 2022-03-02 2022-06-07 桂林理工大学 一种关于土壤数据集的多重插补方法
CN114356911A (zh) * 2022-03-18 2022-04-15 四川省医学科学院·四川省人民医院 基于集合划分信息量最大化的数据缺失处理方法及系统
CN114818925A (zh) * 2022-04-26 2022-07-29 广西电网有限责任公司 一种风电场出力数据缺失值填补方法及系统
CN115409153A (zh) * 2022-08-08 2022-11-29 南京丰顿科技股份有限公司 一种基于注意力lstm的畜牧指标预测方法及预测系统
CN115145906A (zh) * 2022-09-02 2022-10-04 之江实验室 一种面向结构化数据的预处理和补全方法
US11841839B1 (en) * 2022-09-02 2023-12-12 Zhejiang Lab Preprocessing and imputing method for structural data
CN115905862A (zh) * 2022-11-07 2023-04-04 四川省医学科学院·四川省人民医院 一种基于生成对抗网络的缺失数据处理方法及系统
CN115878603A (zh) * 2022-12-27 2023-03-31 大连大学 基于k近邻算法与gan网络的水质缺失数据插补算法
CN116049672A (zh) * 2022-12-29 2023-05-02 中国互联网络信息中心 一种缺失数据的填充方法及装置
CN116450653A (zh) * 2023-06-09 2023-07-18 浙江大学 一种针对供应链数据缺失的补全方法及装置
CN117217290A (zh) * 2023-08-08 2023-12-12 南华大学 因果生成对抗网络的数据插补方法、装置、设备和介质
CN117034143A (zh) * 2023-10-10 2023-11-10 南京邮电大学 一种基于机器学习的分布式系统故障诊断方法及装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
孙舟;田贺平;潘鸣宇;王伟贤;张禄;陈光;: "有效解决数据缺失问题的聚集查询算法", 计算机工程与应用, no. 24, 10 August 2018 (2018-08-10) *
王文飞等: "信息缺失条件下基于 IQBA⁃TOPSIS 的空中目标威胁评估", 电光与控制, vol. 30, no. 9, 4 July 2023 (2023-07-04) *
苏毅娟;孙可;邓振云;尹科军;: "基于LPP和l_(2, 1)的KNN填充算法", 广西师范大学学报(自然科学版), no. 04, 15 December 2015 (2015-12-15) *
黄帷;闵帆;任杰;: "基于协同过滤加权预测的主动学习缺失值填补算法", 南京大学学报(自然科学), no. 04, 30 July 2018 (2018-07-30) *

Similar Documents

Publication Publication Date Title
US11841839B1 (en) Preprocessing and imputing method for structural data
WO2023116111A1 (zh) 一种磁盘故障预测方法及装置
CN115394358A (zh) 基于深度学习的单细胞测序基因表达数据插补方法和系统
CN116822383A (zh) 设备寿命预测模型构建方法、装置、可读存储介质及设备
CN116598014A (zh) 基于图注意力机制和语言大模型的医疗缺失数据补全方法
CN113656797B (zh) 行为特征提取方法以及行为特征提取装置
CN113920379B (zh) 一种基于知识辅助的零样本图像分类方法
CN115345458A (zh) 业务流程合规性检查方法、计算机设备以及可读存储介质
CN116304341A (zh) 基于用户网络大数据的欺诈判别方法及系统
CN114648217A (zh) 一种基于增量式极限学习机的煤矿安全风险预警方法
CN113361279A (zh) 一种基于双邻域图神经网络的医疗实体对齐方法及系统
CN113743453A (zh) 一种基于随机森林的人口数量预测方法
CN117556369A (zh) 一种动态生成的残差图卷积神经网络的窃电检测方法及系统
CN116433050B (zh) 应用于农业大数据管理系统的异常报警方法及系统
CN111612156A (zh) 用于XGBoost模型的解释方法
CN117828373A (zh) 基于集合划分和自监督学习的缺失数据填充方法及系统
CN116522070A (zh) 一种机械零部件无监督智能故障诊断方法及系统
CN115409262A (zh) 铁路数据中心关键性能指标趋势预测方法、异常识别方法
CN113610629A (zh) 一种从大规模特征集中筛选客户数据特征的方法及装置
Zhang et al. Compressing knowledge graph embedding with relational graph auto-encoder
CN117373688B (zh) 慢性病数据处理方法、装置、电子设备和存储介质
CN114595427B (zh) 基于非自回归模型的含缺失值车辆轨迹序列填补修复方法
CN116432854A (zh) 一种基于ivmd-lstm-ebls的水文时间序列预测模型构建方法
CN118052582A (zh) 客户流失概率预测方法、装置、计算机设备和存储介质
CN118035180A (zh) 元数据补全方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination