一种数据修复方法及装置与流程

文档序号:16608765发布日期:2019-01-14 21:23阅读:120来源:国知局
一种数据修复方法及装置与流程

本发明涉及大数据分析技术领域,尤其涉及一种数据修复方法及装置。



背景技术:

目前各大数据服务平台均围绕数据采集、数据挖掘、数据应用及数据共享,在包括环保、安全、健康等众多领域推出产品和服务。在以车辆网相关的大数据支持与应用服务为例来说,由于数据采集的准确性受诸多因素的影响,数据异常的情况时有发生。相关技术中,为了实现异常数据的修复,通常采用线性插值法或数据点平滑处理算法。

然而,相关技术中的数据修复算法存在如下明显的缺陷:1)算法不够成熟,修复准确性低;2)算法执行时间长,不稳定;3)很多异常数据不能识别或识别不准确。



技术实现要素:

本发明实施例为了有效克服现有数据修复算法的缺陷,创造性地提供一种数据修复方法及装置。

根据本发明的第一方面,提供一种数据修复方法,所述方法包括:获取至少存在一个异常数据的第一异常数据向量集amn,m,n均为大于等于2的正整数;获取具有与所述第一异常数据向量集amn互为同型向量的z个第一参考数据向量集bmn(z),z为大于等于2的正整数;确定所述第一异常数据向量集中每一个异常数据对应的异常数据位;根据所确定的异常数据位,基于所述z个第一参考数据向量集对所述第一异常数据向量集进行修复。

根据本发明一实施方式,其中,根据所确定的异常数据位,基于所述z个第一参考数据向量集对所述第一异常数据向量集进行修复,包括:根据所确定的异常数据位省略所述第一异常数据向量集中与所述异常数据位对应的行向量和列向量,得到第二异常数据向量集;根据所确定的异常数据位分别省略所述z个第一参考数据向量集中与所述异常数据位对应的行向量和列向量,得到z个第二参考数据向量集;确定所述z个第二参考数据向量集中每一个第二参考数据向量集与第二异常数据向量集之间的相关度;基于所述每一个第二参考数据向量集与第二异常数据向量集之间的相关度,利用所述z个第一参考数据向量集对所述第一异常数据向量集进行修复。

根据本发明一实施方式,其中,确定所述z个第二参考数据向量集中每一个第二参考数据向量集与第二异常数据向量集之间的相关度,包括:针对所述z个第二参考数据向量集中每一个第二参考数据向量集,分别计算每一个第二参考数据向量集与第二异常数据向量集之间的余弦相似度;根据所计算的每一个第二参考数据向量集与第二异常数据向量集之间的余弦相似度大小确定每一个第二参考数据向量集与第二异常数据向量集之间的相关度。

根据本发明一实施方式,其中,确定所述z个第二参考数据向量集中每一个第二参考数据向量集与第二异常数据向量集之间的相关度,包括:针对所述z个第二参考数据向量集中每一个第二参考数据向量集,分别计算每一个第二参考数据向量集与第二异常数据向量集之间的距离;根据所计算的每一个第二参考数据向量集与第二异常数据向量集之间的距离大小确定每一个第二参考数据向量集与第二异常数据向量集之间的相关度。

根据本发明一实施方式,其中,基于所述每一个第二参考数据向量集与第二异常数据向量集之间的相关度,利用所述z个第一参考数据向量集对所述第一异常数据向量集进行修复,包括:根据所述异常数据位分别从所述z个第一参考数据向量集中获取对应异常数据位的数据;将每一个第二参考数据向量集与第二异常数据向量集之间的相关度对应作为从每一个第二参考数据向量集所获取的对应异常数据位的数据的加权因子,将所有获取的对应异常数据位的数据进行加权平均,得到加权平均值;将所述加权平均值作为对应所述第一异常数据向量集对应异常数据位的修复数据来修复所述第一异常数据向量集中的异常数据。

根据本发明一实施方式,其中,在确定所述z个第二参考数据向量集中每一个第二参考数据向量集与第二异常数据向量集之间的相关度之后,所述方法还包括:基于所述每一个第二参考数据向量集与第二异常数据向量集之间的相关度对所述z个第一参考数据向量集进行梯度排序。

根据本发明的第二方面,还提供一种数据修复装置,所述装置包括:获取模块,用于获取存在一个异常数据的第一异常数据向量集amn,m,n均为大于等于2的正整数;还用于获取具有与所述第一异常数据向量集amn互为同型向量的z个第一参考数据向量集bmn(z),z为大于等于2的正整数;确定模块,用于确定所述第一异常数据向量集中每一个异常数据对应的异常数据位;修复模块,用于根据所确定的异常数据位,基于所述z个第一参考数据向量集对所述第一异常数据向量集进行修复。

根据本发明一实施方式,其中,所述修复模块包括:第一省略单元,用于根据所确定的异常数据位省略所述第一异常数据向量集中与所述异常数据位对应的行向量和列向量,得到第二异常数据向量集;第二省略单元,用于根据所确定的异常数据位分别省略所述z个第一参考数据向量集中与所述异常数据位对应的行向量和列向量,得到z个第二参考数据向量集;相关度确定单元,用于确定所述z个第二参考数据向量集中每一个第二参考数据向量集与第二异常数据向量集之间的相关度;修复单元,用于基于所述每一个第二参考数据向量集与第二异常数据向量集之间的相关度,利用所述z个第一参考数据向量集对所述第一异常数据向量集进行修复。

根据本发明一实施方式,其中,所述相关度确定单元,还用于针对所述z个第二参考数据向量集中每一个第二参考数据向量集,分别计算每一个第二参考数据向量集与第二异常数据向量集之间的余弦相似度;根据所计算的每一个第二参考数据向量集与第二异常数据向量集之间的余弦相似度大小确定每一个第二参考数据向量集与第二异常数据向量集之间的相关度。

根据本发明一实施方式,其中,所述相关度确定单元,还用于针对所述z个第二参考数据向量集中每一个第二参考数据向量集,分别计算每一个第二参考数据向量集与第二异常数据向量集之间的距离;根据所计算的每一个第二参考数据向量集与第二异常数据向量集之间的距离大小确定每一个第二参考数据向量集与第二异常数据向量集之间的相关度。

根据本发明一实施方式,其中,所述修复单元,还用于根据所述异常数据位分别从所述z个第一参考数据向量集中获取对应异常数据位的数据;将每一个第二参考数据向量集与第二异常数据向量集之间的相关度对应作为从每一个第二参考数据向量集所获取的对应异常数据位的数据的加权因子,将所有获取的对应异常数据位的数据进行加权平均,得到加权平均值;将所述加权平均值作为对应所述第一异常数据向量集对应异常数据位的修复数据来修复所述第一异常数据向量集中的异常数据。

根据本发明一实施方式,其中,所述修复模块还包括:梯度排序单元,用于在相关度确定单元确定所述z个第二参考数据向量集中每一个第二参考数据向量集与第二异常数据向量集之间的相关度之后,基于所述每一个第二参考数据向量集与第二异常数据向量集之间的相关度对所述z个第一参考数据向量集进行梯度排序。

本发明实施例所述数据修复方法和装置,首先获取至少存在一个异常数据的第一异常数据向量集amn,m,n均为大于等于2的正整数;进一步获取具有与所述第一异常数据向量集amn互为同型向量的z个第一参考数据向量集bmn(z),z为大于等于2的正整数;接着确定所述第一异常数据向量集中每一个异常数据对应的异常数据位;之后,根据所确定的异常数据位,基于所述z个第一参考数据向量集对所述第一异常数据向量集进行修复。如此,一方面数据以向量集格式的多边向量为平面,方便发现数据的自身特征;另一方面,采用所获取的具有与所述第一异常数据向量集互为同型向量的z个第一参考数据向量集(即形成多边立体数据)来对对所述第一异常数据向量集进行修复,从而增加数据的修复力度和数据的广度。

需要理解的是,本发明的教导并不需要实现上面所述的全部有益效果,而是特定的技术方案可以实现特定的技术效果,并且本发明的其他实施方式还能够实现上面未提到的有益效果。

附图说明

通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:

在附图中,相同或对应的标号表示相同或对应的部分。

图1示出了本发明实施例数据修复方法的实现流程示意图;

图2示出了本发明根据所确定的异常数据位基于z个第一参考数据向量集对第一异常数据向量集进行修复的具体实现流程示意图;

图3示出了本发明一应用实例中第一异常数据向量集的多边向量构建示意图;

图4示出了本发明一应用实例中第一参考数据向量集的多边向量构建示意图;

图5示出了本发明实施例数据修复装置的组成结构示意图。

具体实施方式

下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。

下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。

图1示出了本发明实施例数据修复方法的实现流程示意图。

如图1所示,本发明实施例所述数据修复方法包括:操作101,获取至少存在一个异常数据的第一异常数据向量集amn,m,n均为大于等于2的正整数;操作102,获取具有与所述第一异常数据向量集amn互为同型向量的z个第一参考数据向量集bmn(z),z为大于等于2的正整数;操作103,确定所述第一异常数据向量集中每一个异常数据对应的异常数据位;操作104,根据所确定的异常数据位,基于所述z个第一参考数据向量集对所述第一异常数据向量集进行修复。

在操作101,所述第一异常数据向量集可以为用于表征车联网中任意特征维度的数据向量集,如以经纬度坐标来表示的地理环境等。当然,本领域技术人员应该理解的是,所述数据向量集也可以表征除车联网之外的任意实际应用场景的大数据。

这里,为了便于发现数据的自身特征,本发明实施例可以将获取的存在至少一个异常数据的异常数据向量a1n,a2n,…ain,amn通过矩阵的形式表示,即形成多边向量形式的第一异常数据向量集:

其中ain为amn的第i个分向量,每个ain=(xi1,xi2,xi3,...,xin。

同样的,在操作102,获取具有与所述第一异常数据向量集amn互为同型向量的z个第一参考数据向量集:

在操作103,所述异常数据位可以通过二维坐标表示,l(i,j);其中,i,j分别表示异常数据在第一异常数据向量集amn中所处的行序号和列序号。

图2示出了本发明实施例根据所确定的异常数据位基于所述z个第一参考数据向量集对所述第一异常数据向量集进行修复的具体实现流程示意图。

如图2所示,本发明实施例通过多边向量数据修复方法来实现异常数据修复,操作104的具体操作流程如下:

操作1041:根据所确定的异常数据位省略所述第一异常数据向量集中与所述异常数据位对应的行向量和列向量,得到第二异常数据向量集。

这里,第一异常数据向量集表示为如下的矩阵形式:

假设该第一异常数据向量集中的第i行第j列存在数据问题,这样所确定的异常数据位可表示为二维坐标l(i,j),那么省略该第一异常数据向量集中的第i行和第j列,从而得到第二异常数据向量集:

操作1042:根据所确定的异常数据位分别省略所述z个第一参考数据向量集中与所述异常数据位对应的行向量和列向量,得到z个第二参考数据向量集。

同理,与操作1041相类似,在z个第一参考数据向量集:中分别省略每一个向量集中的第i行和第j列,得到对应的z个第二参考数据向量集:

操作1043:确定所述z个第二参考数据向量集中每一个第二参考数据向量集与第二异常数据向量集之间的相关度。

本发明实施例存在两种方式用于确定所述z个第二参考数据向量集中每一个第二参考数据向量集与第二异常数据向量集之间的相关度。

在本发明一实施方式中,确定所述z个第二参考数据向量集中每一个第二参考数据向量集与第二异常数据向量集之间的相关度,包括:针对所述z个第二参考数据向量集中每一个第二参考数据向量集,分别计算每一个第二参考数据向量集与第二异常数据向量集之间的余弦相似度;根据所计算的每一个第二参考数据向量集与第二异常数据向量集之间的余弦相似度大小确定每一个第二参考数据向量集与第二异常数据向量集之间的相关度。

这里,每一个第二参考数据向量集与第二异常数据向量集之间的余弦相似度的具体计算表达式如下:

其中,用于表示第二参考数据向量集与第二异常数据向量集的乘积;

分别用于表示第二参考数据向量集和第二异常数据向量集的模。

在本发明一实施方式中,确定所述z个第二参考数据向量集中每一个第二参考数据向量集与第二异常数据向量集之间的相关度,包括:针对所述z个第二参考数据向量集中每一个第二参考数据向量集,分别计算每一个第二参考数据向量集与第二异常数据向量集之间的距离;根据所计算的每一个第二参考数据向量集与第二异常数据向量集之间的距离大小确定每一个第二参考数据向量集与第二异常数据向量集之间的相关度。

这里,每一个第二参考数据向量集与第二异常数据向量集之间的距离的计算表达式如下:

需要补充说明的是,所述z个第二参考数据向量集中每一个第二参考数据向量集与第二异常数据向量集之间的相关度可以近似为所述z个第一参考数据向量集中每一个第一参考数据向量集与第一异常数据向量集之间的相关度。因此,在第一异常数据向量集存在异常数据的情况下,可以直接基于所述每一个第二参考数据向量集与第二异常数据向量集之间的相关度,利用所述z个第一参考数据向量集对所述第一异常数据向量集进行修复。

根据本发明一实施方式,在操作1043之后,所述方法还包括:基于所述每一个第二参考数据向量集与第二异常数据向量集之间的相关度对所述z个第一参考数据向量集进行梯度排序。

这里,基于前述确定相关度的两种不同方式,可以对应实施有两种不同的梯度排序方法,具体参见如下表一:

表一

操作1044:基于所述每一个第二参考数据向量集与第二异常数据向量集之间的相关度,利用所述z个第一参考数据向量集对所述第一异常数据向量集进行修复。

在本发明一实施方式中,基于所述每一个第二参考数据向量集与第二异常数据向量集之间的相关度,利用所述z个第一参考数据向量集对所述第一异常数据向量集进行修复,包括:根据所述异常数据位分别从所述z个第一参考数据向量集中获取对应异常数据位的数据;将每一个第二参考数据向量集与第二异常数据向量集之间的相关度对应作为从每一个第二参考数据向量集所获取的对应异常数据位的数据的加权因子,将所有获取的对应异常数据位的数据进行加权平均,得到加权平均值;将所述加权平均值作为对应所述第一异常数据向量集对应异常数据位的修复数据来修复所述第一异常数据向量集中的异常数据。

在一示例中,假设xij为异常数据,那么修复过程如下:

令dk=cosxk或对应

那么

这样,本发明实施例根据距离梯度或余弦相似度对立体多边向量集进行正序排序,之后可以进一步对每个多边向量集进行局部加权,增加数据修复的合理性,从而提高修复准确率。

本发明实施例所述数据修复方法,首先获取至少存在一个异常数据的第一异常数据向量集amn,m,n均为大于等于2的正整数;进一步获取具有与所述第一异常数据向量集amn互为同型向量的z个第一参考数据向量集bmn(z),z为大于等于2的正整数;接着确定所述第一异常数据向量集中每一个异常数据对应的异常数据位;之后,根据所确定的异常数据位,基于所述z个第一参考数据向量集对所述第一异常数据向量集进行修复。如此,一方面数据以向量集格式的多边向量为平面,方便发现数据的自身特征;另一方面,采用所获取的具有与所述第一异常数据向量集互为同型向量的z个第一参考数据向量集(即形成多边立体数据)来对对所述第一异常数据向量集进行修复,从而增加数据的修复力度和数据的广度。

下面结合一应用示例来对本发明实施例所述数据修复方法的算法逻辑加以示例说明。

第一步,获取存在异常数据的整个数据(即第一异常数据向量集),按数据相似度进行多边向量构建,如图3所示,nan为异常数据;其中,l(x,y)为多边向量的坐标,其中,nan为异常数据。在图3中不难发现,所述异常数据nan对应的异常数据位的坐标可表示为l(4,5)和l(4,6)。

第二步,同理,获取z个与前述如图3所示的整个数据最相似的正常数据(即z个第一参考数据向量集),其中,z的取值为4,构造成格式一致的立体多边向量,如图4所示。其中,图4中框为数据相似框,其中的对应于异常数据位l(4,5)和l(4,6)的数据位与异常数据对应的位置数据。当然,本领域技术人员应该理解的是,该图4中的框的形状不限于如图4所示的矩形框,还可以为如圆形、三角形之类的其他框形,具体框形的选择可以基于整个数据的特征来确定。

另外,需要补充说明的是,框内的数据可以看作为关联数据,每个框内的关联数据均对应有自身的关联度,且关联度与异常数据的空间位置成反比。

第三步,结合图4,利用如前述操作1044的实现方式即可完成对图3中所示的异常数据的修复。

图5示出了本发明实施例数据修复装置的组成结构示意图。如图5所示,所述数据修复装置50包括:

获取模块501,用于获取存在一个异常数据的第一异常数据向量集amn,m,n均为大于等于2的正整数;还用于获取具有与所述第一异常数据向量集amn互为同型向量的z个第一参考数据向量集bmn(z),z为大于等于2的正整数;

确定模块502,用于确定所述第一异常数据向量集中每一个异常数据对应的异常数据位;

修复模块503,用于根据所确定的异常数据位,基于所述z个第一参考数据向量集对所述第一异常数据向量集进行修复。

根据本发明一实施方式,其中,所述修复模块503包括:第一省略单元,用于根据所确定的异常数据位省略所述第一异常数据向量集中与所述异常数据位对应的行向量和列向量,得到第二异常数据向量集;第二省略单元,用于根据所确定的异常数据位分别省略所述z个第一参考数据向量集中与所述异常数据位对应的行向量和列向量,得到z个第二参考数据向量集;相关度确定单元,用于确定所述z个第二参考数据向量集中每一个第二参考数据向量集与第二异常数据向量集之间的相关度;修复单元,用于基于所述每一个第二参考数据向量集与第二异常数据向量集之间的相关度,利用所述z个第一参考数据向量集对所述第一异常数据向量集进行修复。

根据本发明一实施方式,其中,所述相关度确定单元,还用于针对所述z个第二参考数据向量集中每一个第二参考数据向量集,分别计算每一个第二参考数据向量集与第二异常数据向量集之间的余弦相似度;根据所计算的每一个第二参考数据向量集与第二异常数据向量集之间的余弦相似度大小确定每一个第二参考数据向量集与第二异常数据向量集之间的相关度。

根据本发明一实施方式,其中,所述相关度确定单元,还用于针对所述z个第二参考数据向量集中每一个第二参考数据向量集,分别计算每一个第二参考数据向量集与第二异常数据向量集之间的距离;根据所计算的每一个第二参考数据向量集与第二异常数据向量集之间的距离大小确定每一个第二参考数据向量集与第二异常数据向量集之间的相关度。

根据本发明一实施方式,其中,所述修复单元,还用于根据所述异常数据位分别从所述z个第一参考数据向量集中获取对应异常数据位的数据;将每一个第二参考数据向量集与第二异常数据向量集之间的相关度对应作为从每一个第二参考数据向量集所获取的对应异常数据位的数据的加权因子,将所有获取的对应异常数据位的数据进行加权平均,得到加权平均值;将所述加权平均值作为对应所述第一异常数据向量集对应异常数据位的修复数据来修复所述第一异常数据向量集中的异常数据。

根据本发明一实施方式,其中,所述修复模块503还包括:梯度排序单元,用于在相关度确定单元确定所述z个第二参考数据向量集中每一个第二参考数据向量集与第二异常数据向量集之间的相关度之后,基于所述每一个第二参考数据向量集与第二异常数据向量集之间的相关度对所述z个第一参考数据向量集进行梯度排序。

这里需要指出的是:以上数据修复装置实施例的描述,与前述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本发明数据修复装置实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解,为节约篇幅,因此不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(readonlymemory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1