一种缺失数据的填充方法及装置

摘要: 本发明涉及数据处理,尤其涉及一种缺失数据的填充方法及装置,所述方法利用奇异值阈值迭代算法对缺失数据进行有效填充,应用于大规模数据集处理时,填补数据中的缺失部分,...
一种缺失数据的填充方法及装置

本发明涉及数据处理,尤其涉及一种缺失数据的填充方法及装置,所述方法利用奇异值阈值迭代算法对缺失数据进行有效填充,应用于大规模数据集处理时,填补数据中的缺失部分,可以更好地进行数据分析和预测,从而进行更准确的分析,可广泛应用于数据分析、数据挖掘、机器学习、人工智能等多个需要对数据完整性进行处理的场景。

背景技术:

1、在实际的数据采集和处理过程中,由于各种原因,如传感器故障、数据传输错误、人为失误等,数据缺失的情况十分常见。缺失数据会对后续的数据分析、模型训练和决策制定产生严重影响,可能导致分析结果偏差、模型性能下降甚至无法正常运行。

2、目前,常见的基于奇异值阈值的缺失数据填充方法包括均值/中位数填充法、多重填补法、k-近邻法等。均值/中位数填充法简单直接,是将缺失值用该变量的均值或中位数进行填充,但这种方法忽略了数据之间的相关性,可能会引入较大的误差,降低数据的准确性和可靠性;多重填补法通过多次模拟填补缺失值,能在一定程度上考虑数据的不确定性,但计算复杂度高,需要耗费大量的计算资源和时间;k-近邻法是根据相似性度量找到与缺失数据样本最相似的k个邻居,用邻居的观测值来填补缺失值,然而该方法对数据的分布和特征较为敏感,在高维数据或数据分布不均匀的情况下,填补效果不佳。因此,亟需一种更高效、准确的缺失数据填充方法。

技术实现思路

1、本发明所要解决的技术问题在于,本发明提供一种缺失数据的填充方法及装置,通过利用奇异值阈值对数据矩阵进行特性分析和处理,有效解决现有缺失数据填充技术中的误差大、计算复杂、适应性差等问题,提高缺失数据填充的准确性和效率,为后续的数据分析和处理提供可靠的数据基础。

2、为了解决上述技术问题,本发明实施例第一方面公开了一种缺失数据的填充方法,所述方法包括:

3、s1,获取目标数据;

4、s2,对所述目标数据进行预处理,得到预处理目标数据;

5、所述预处理目标数据,包括目标数据矩阵和目标数据指示矩阵;

6、s3,对所述预处理目标数据进行填充处理,得到填充结果数据。

7、作为一种可选的实施方式,在本发明实施例第一方面中,所述对所述目标数据进行预处理,得到预处理目标数据,包括:

8、s21,利用所述目标数据构建得到目标数据矩阵;

9、s22,将所述目标数据矩阵中已知数据元素值设置为1、缺失数据元素值设置为0,构建得到目标数据指示矩阵。

10、作为一种可选的实施方式,在本发明实施例第一方面中,所述对所述预处理目标数据进行填充处理,得到填充结果数据,包括:

11、s31,对所述预处理目标数据进行处理,得到低秩近似数据矩阵;

12、s32,对所述低秩近似数据矩阵进行数据填充处理,得到填充结果数据。

13、作为一种可选的实施方式,在本发明实施例第一方面中,所述对所述预处理目标数据进行处理,得到低秩近似数据矩阵,包括:

14、s311,对所述预处理目标数据进行分解处理,得到所述目标数据矩阵和所述目标数据指示矩阵;

15、s312,对所述目标数据矩阵和所述目标数据指示矩阵按元素相乘,得到已知数据元素;

16、s313,对所述已知数据元素进行奇异值分解处理,得到奇异值分解结果数据;

17、所述奇异值分解处理表达式为:

18、

;

19、

;

20、其中,表示权重矩阵;表示所述目标数据矩阵中第行第列个元素的重要度权重值;表示所述目标数据矩阵的行索引;表示所述目标数据矩阵的列索引;表示所述目标数据矩阵;表示正则化参数;表示逐元素相乘;表示左奇异值向量矩阵;表示右奇异值向量矩阵;表示奇异值对角矩阵;

21、s314,对所述奇异值分解结果数据进行低秩处理,得到低秩近似数据矩阵。

22、作为一种可选的实施方式,在本发明实施例第一方面中,所述对所述低秩近似数据矩阵进行数据填充处理,得到填充结果数据,包括:

23、s321,对所述目标数据矩阵进行初始化处理,得到初始矩阵;

24、初始化拉格朗日乘子、惩罚参数和初始阈值;

25、预设最大迭代次数;

26、s322,对所述目标数据矩阵中第个数据进行更新处理,得到更新目标矩阵数据和目标元素数据;

27、s323,利用所述拉格朗日乘子和所述惩罚参数,对所述目标元素数据进行分解处理,得到第一奇异值数据;

28、s324,利用奇异值阈值调整模型,对所述第一奇异值数据进行处理,得到奇异值更新阈值;

29、基于所述奇异值更新阈值,对所述第一奇异值数据进行截断处理,得到第二奇异值数据;

30、s235,利用拉格朗日乘子更新模型,更新所述拉格朗日乘子;

31、利用惩罚参数更新模型,更新所述惩罚参数;

32、使所述迭代次数增加1;

33、s326,判断所述迭代次数是否小于所述最大迭代次数,得到迭代次数判断结果;

34、s327,当所述迭代次数判断结果为是时,执行s328;

35、当所述迭代次数判断结果为否时,所述更新目标矩阵数据更新为填充结果数据;

36、s328,对所述第二奇异值数据进行判断处理,得到奇异值相对误差;

37、当所述奇异值相对误差小于所述奇异值更新阈值时,所述更新目标矩阵数据更新为填充结果数据;

38、当所述奇异值相对误差大于等于所述奇异值更新阈值时,执行s322。

39、作为一种可选的实施方式,在本发明实施例第一方面中,所述奇异值阈值调整模型表达式为:

40、

;

41、其中,表示第次迭代的奇异值阈值;表示第次迭代的奇异值阈值;表示第次迭代所述第一奇异值数据的中位数;表示平滑因子;

42、所述拉格朗日乘子更新模型表达式为:

43、;

44、;

45、;

46、其中,表示第次迭代的拉格朗日乘子;表示表示第次迭代的奇异值阈值;表示所述第一奇异值数据的和;表示所述目标数据矩阵中的已知数据元素;表示所述目标数据指示矩阵中已知数据元素;表示第一投影算子;表示奇异值阈值算子。

47、作为一种可选的实施方式,在本发明实施例第一方面中,所述基于所述奇异值更新阈值,对所述第一奇异值数据进行截断处理,得到第二奇异值数据,包括:

48、s3241,判断所述第一奇异值数据是否大于所述奇异值更新阈值,得到奇异值判断结果;

49、s3242,当所述奇异值判断结果为是时,执行s3243;

50、当所述奇异值判断结果为否时,第二奇异值数据更新为0;

51、s3243,利用奇异值收缩模型对所述第一奇异值数据进行处理,得到第二奇异值数据;

52、所述奇异值收缩模型表达式为:

53、;

54、;

55、其中,表示所述奇异值对角矩阵中第个数据元素。

56、本发明实施例第二方面公开了一种缺失数据的填充装置,所述装置包括:

57、数据获取模块、数据预处理模块和数据填充处理模块;

58、所述数据获取模块,用于获取目标数据;

59、所述数据预处理模块,用于对所述目标数据进行预处理,得到预处理目标数据;

60、所述预处理目标数据,包括目标数据矩阵和目标数据指示矩阵;

61、所述数据填充处理模块,用于对所述预处理目标数据进行填充处理,得到填充结果数据。

62、本发明第三方面公开了一种缺失数据的填充装置,所述装置包括:

63、存储有可执行程序代码的存储器;

64、与所述存储器耦合的处理器;

65、所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明实施例第一方面公开的缺失数据的填充方法中的部分或全部步骤。

66、本发明第四方面公开了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令被调用时,执行本发明实施例第一方面公开的缺失数据的填充方法中的部分或全部步骤。

67、与现有技术相比,本发明实施例具有以下有益效果:

68、本发明利用奇异值阈值算法对数据矩阵进行处理,能够充分挖掘数据之间的潜在关系和结构信息,相较于传统的填充方法,更能准确地估计缺失数据的值,有效提高了数据填充的准确性;本方法采用奇异值分解等计算,通过合理的迭代策略和参数设置,在保证填充效果的同时,控制了计算复杂度,相较于一些复杂的多重填补法等,计算效率得到显著提升,能够在较短时间内完成大量缺失数据的填充任务,适用于大规模数据处理场景;本发明对数据的分布和特征不敏感,无论是在低维数据还是高维数据,以及数据分布均匀或不均匀的情况下,都能表现出较好的填充效果,具有广泛的适用性,可应用于多种不同类型的数据处理场景。