一种数据清洗方法、装置、可读介质及电子设备

文档序号:29159024发布日期:2022-03-08 22:55阅读:78来源:国知局
一种数据清洗方法、装置、可读介质及电子设备

1.本发明涉及数据分析领域,尤其涉及一种数据清洗方法、装置、可读介质及电子设备。


背景技术:

2.利用海洋潮流能发电,是一种可再生清洁能源。潮流海洋能具有永不枯竭、能量密度大、可预测性强等诸多优点,因此在近年来得到了广泛关注和大力发展,是新能源探索领域的一个热点。
3.在海洋潮流能发电的项目中,可以结合基于大数据和人工智能技术开发的物联网监控系统,从而更好的应对复杂的海洋环境,并全面的监控设备的工作状态。
4.可以理解的是,在海洋潮流能发电平台中采集得到的相关数据通常十分复杂,而且可能伴随有大量不准确的、异常的数据,将直接的影响到后续数据分析处理结果的准确性。现有技术中缺少一种针对性的数据清洗技术,以解决这一技术问题。


技术实现要素:

5.本发明提供一种数据清洗方法、装置、可读介质及电子设备,通过计算确定离群数据点来实现对于异常数据的确定和清洗,提高了数据的准确性。
6.第一方面,本发明提供了一种数据清洗方法,包括:
7.根据预设的范围参数确定目标数据点的邻域范围;并确定邻域范围内的邻域数据集合;所述邻域数据集合中包括至少一个邻域数据点;
8.根据所述目标数据点和各所述邻域数据点,确定所述目标数据点的第一可达密度;
9.根据所述第一可达密度确定所述目标数据点的离群指数;
10.当所述离群指数满足预设条件,则将所述目标数据点确定为离群数据点,并对所述离群数据点进行清洗处理。
11.优选地,所述目标数据点为p,所述范围参数为k,则所述根据预设的范围参数确定目标数据点的邻域范围,并确定邻域范围内的邻域数据集合包括:
12.确定第一数据点o0,并将目标数据点p到第一数据点o0的距离作为第一邻域距离;
13.以目标数据点p为圆心,以所述第一邻域距离为半径确定一个圆形范围;
14.以圆形范围作为所述邻域范围,并满足所述邻域范围内的第二数据点的数量至多为k-1个;
15.将所述第一数据点和第二数据点确定为邻域数据点;并根据所述邻域数据点建立邻域数据集合;
16.其中,k为正整数。
17.优选地,根据所述目标数据点和各所述邻域数据点,确定所述目标数据点的第一可达密度包括:
18.确定各所述邻域数据点到所述目标数据点之间的可达距离;
19.根据各所述可达距离确定所述目标数据点的第一可达密度。
20.优选地,所述邻域数据点为o,则所述确定所述邻域数据点到所述目标数据点之间的可达距离包括:
21.确定邻域数据点o到目标数据点p的距离d(p,o);
22.确定邻域数据点o对应的第二邻域距离dk(o);
23.则所述邻域数据点到所述目标数据点之间的可达距离reach_dist(p,o)为,
24.reach_dist(p,o)=max{d(p,o),dk(o)}。
25.优选地,所述根据各所述可达距离确定所述目标数据点的第一可达密度包括:
[0026][0027]
其中,lrd(p)代表所述目标数据点的第一可达密度;nk(p)代表所述邻域数据集合,|nk(p)|代表所述邻域数据集合中数据点的数量;o代表任一邻域数据点;代表各所述邻域数据点到所述目标数据点之间的可达距离之和。
[0028]
优选地,所述根据所述第一可达密度确定所述目标数据点的离群指数包括:
[0029]
确定各所述邻域数据点对应的第二可达密度;
[0030]
根据所述第一可达密度和各所述第二可达密度,确定所述目标数据点的离群指数。
[0031]
优选地,所述离群数据点进行清洗处理包括:
[0032]
对所述离群数据点进行删除、视为空值、修正或忽略处理。
[0033]
第二方面,本发明提供了一种数据清洗装置,包括:
[0034]
邻域确定模块,用于根据预设的范围参数确定目标数据点的邻域范围;并确定邻域范围内的邻域数据集合;所述邻域数据集合中包括至少一个邻域数据点;
[0035]
可达密度计算模块,用于根据所述目标数据点和各所述邻域数据点,确定所述目标数据点的第一可达密度;
[0036]
离群指数计算模块,用于根据所述第一可达密度确定所述目标数据点的离群指数;
[0037]
清洗模块,用于在所述离群指数满足预设条件时,将所述目标数据点确定为离群数据点,并对所述离群数据点进行清洗处理。
[0038]
第三方面,本发明提供了一种可读介质,包括执行指令,当电子设备的处理器执行所述执行指令时,所述电子设备执行如第一方面中任一所述的数据清洗方法。
[0039]
第四方面,本发明提供了一种电子设备,包括处理器以及存储有执行指令的存储器,当所述处理器执行所述存储器存储的所述执行指令时,所述处理器执行如第一方面中任一所述的数据清洗方法。
[0040]
本发明提供了一种数据清洗方法、装置、可读介质及电子设备,通过确定目标数据点的邻域范围并确定邻域数据点,进而计算得到目标数据点的离群指数;根据离群指数得已判断目标数据点是否为异常;当所述离群指数满足预设条件,则将所述目标数据点确定
为离群数据点,并对所述离群数据点进行清洗处理;由此实现了对于异常的数据点和筛选和处理,提高了数据的准确性,为后续的数据分析提供了良好的基础。
[0041]
上述的非惯用的优选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
[0042]
为了更清楚地说明本发明实施例或现有的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0043]
图1为本发明一实施例提供的一种数据清洗方法的流程示意图;
[0044]
图2为本发明一实施例提供的一种数据清洗方法中领域范围的示意图;
[0045]
图3为本发明一实施例提供的一种数据清洗装置的结构示意图;
[0046]
图4为本发明一实施例提供的一种电子设备的结构示意图。
具体实施方式
[0047]
为使本发明的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本发明的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0048]
在海洋潮流能发电的项目中采集得到的相关数据通常十分复杂,而且可能伴随有大量不准确的、异常的数据,将直接的影响到后续数据分析处理结果的准确性。现有技术中缺少一种针对性的数据清洗技术,以解决这一技术问题。本发明提供一种数据清洗方法、装置、可读介质及电子设备,通过计算确定离群数据点来实现对于异常数据的确定和清洗,提高了数据的准确性。
[0049]
参见图1所示,为本发明提供的数据清洗方法的具体实施例。本实施例中,所述方法具体包括以下步骤:
[0050]
步骤101、根据预设的范围参数确定目标数据点的邻域范围;并确定邻域范围内的邻域数据集合;所述邻域数据集合中包括至少一个邻域数据点。
[0051]
目标数据点为本实施例中所针对的数据点,本实施例中方法即是为了确定目标数据点是否异常,并在其异常的情况下进行进一步的清洗处理。本实施例中认为,数据点的分布通常有较为明显的规律性,正常的数据点往往会较为密集的分布在一定范围内。相反具有“离群”特点的数据点则大概率为异常。本实施例中正是基于这一原理对目标数据点进行分析。本实施例中,目标数据点可以用p来表示。
[0052]
本实施例中可确定一个范围参数,范围参数可以用正整数k来表示。范围参数的具体数值可以根据需求和经验进行设定,在此不赘述。利用范围参数可以确定目标数据点的邻域范围。
[0053]
具体的,可以确定与目标数据点p的距离由近到远顺序的第k个数据点为第一数据点o0。并将目标数据点p到第一数据点o0的距离d(p,o0)作为第一邻域距离。当然,若还可能
存在距目标数据点p的距离等于第一邻域距离的其他数据点,则此时第一数据点的数量可以为多个。第一邻域距离也可成为目标数据点p的k距离,所述k距离可以以dk(p)来表示。
[0054]
然后以目标数据点p为圆心,以所述第一邻域距离d(p,o0)为半径确定一个圆形范围。该圆形范围即是目标数据点p对应的邻域范围,如图2所示。可以理解的是,该邻域范围内将包括k-1个距离目标数据点(相对于第一数据点)更近的第二数据点。将所述第一数据点和第二数据点确定为邻域数据点;并根据所述邻域数据点建立邻域数据集合。本实施例中,邻域数据集合以nk(p)表示。|nk(p)|则代表所述邻域数据集合中数据点的数量。当上述第一数据点的数量为1个,则|nk(p)|=k;反之当第一数据点的数量大于1,则|nk(p)|>k。
[0055]
本实施例中假设k=5,则通过图2可以看出,邻域范围内包括了o
1-o4共4个(k-1个)第二数据点,邻域范围的边缘则有第一数据点o0。此时邻域数据集合中则包括了o
0-o4共5个邻域数据点。
[0056]
步骤102、根据所述目标数据点和各所述邻域数据点,确定所述目标数据点的第一可达密度。
[0057]
本实施例中,将确定各所述邻域数据点到所述目标数据点之间的可达距离;根据各所述可达距离确定所述目标数据点的第一可达密度。
[0058]
假设以o表示图2中o
0-o4共5个邻域数据点中的任意一个。则可确定邻域数据点o到目标数据点p的距离d(p,o),邻域数据点o对应的第二邻域距离dk(o)。
[0059]
需要说明的是,邻域数据点o对应的第二邻域距离的计算方式,与第一邻域距离同理。即在设定范围参数k数值不变的情况下,同理确定出邻域数据点o对应的邻域范围;并同时确定邻域数据点o对应的第二邻域距离dk(o),也就是邻域数据点o对应的k距离。
[0060]
实际上,目标数据点p和邻域数据点o附近的数据点分布密度可能不同。所以当邻域数据点o附近数据点密度接近于或小于目标数据点p附近数据点密度时,目标数据点p则可能在邻域数据点o的邻域范围之内。如果邻域数据点o附近数据点密度大于目标数据点p附近数据点密度时,则目标数据点p也可能不在邻域数据点o的邻域范围之内。当目标数据点p在邻域数据点o的邻域范围之内,则二者的距离d(p,o)将不大于邻域数据点o对应的第二邻域距离dk(o)。反之当目标数据点p可能不在邻域数据点o的邻域范围之内,则二者的距离d(p,o)将大于邻域数据点o对应的第二邻域距离dk(o)。
[0061]
本实施例中,邻域数据点o到目标数据点p之间的可达距离reach_dist(p,o)的计算公式为:
[0062]
reach_dist(p,o)=max{d(p,o),dk(o)}。
[0063]
根据各邻域数据点的可达距离确定所述目标数据点的第一可达密度,即是计算各所述可达距离的平均数的倒数。其计算公式如下:
[0064][0065]
其中,lrd(p)代表所述目标数据点的第一可达密度;nk(p)代表所述邻域数据集合,|nk(p)|代表所述邻域数据集合中数据点的数量;o代表任一邻域数据点;代表各所述邻域数据点到所述目标数据点之间的可达距离之和。
[0066]
根据可达距离的计算原理可以理解的是,当邻域数据点o附近数据点密度接近于或小于目标数据点p附近数据点密度,目标数据点p在邻域数据点o的邻域范围之内,即d(p,o)≤dk(o)时,则reach_dist(p,o)=dk(o)。反之当邻域数据点o附近数据点密度大于目标数据点p附近数据点密度,目标数据点p不在邻域数据点o的邻域范围之内,即d(p,o)>dk(o)时,reach_dist(p,o)=d(p,o)。、
[0067]
那么显然可以推断,目标数据点p附近数据点密度较大时,reach_dist(p,o)数值较小,数值亦较小,所以lrd(p)的数值较大。相反如果目标数据点p附近数据点密度较小时,reach_dist(p,o)数值较大,数值亦较大,所以lrd(p)的数值较小。当lrd(p)的数值小于一定程度,则意味着目标数据点p附近数据点密度过低,说明目标数据点p可能具有“离群”的特点。
[0068]
步骤103、根据所述第一可达密度确定所述目标数据点的离群指数。
[0069]
本步骤中将根据第一可达密度确定目标数据点的离群指数,以具体的衡量目标数据点p附近数据点密度是否过低,以至于目标数据点p具有“离群”的特点。具体的,本实施例中可以确定各所述邻域数据点对应的第二可达密度;根据所述第一可达密度和各所述第二可达密度,确定所述目标数据点的离群指数。
[0070]
对于第二可达密度的计算方式,同理于第一可达密度,在此不重复叙述。本实施例中,将邻域数据点o的第二可达密度表示为lrd(o)。各所述邻域数据点对应的第二可达密度之和则可表示为本实施例中将目标数据点p的离群指数表示为lof(p),则为第二可达密度的平均值与第一可达密度的比值。其计算公式如下:
[0071][0072]
如果离群指数小于或接近于1,则说明目标数据点p附近的数据点密度正常。如果离群指数明显大于1,则说明目标数据点p附近的数据点密度较低,目标数据点p具有“离群”的特点。
[0073]
步骤104、当所述离群指数满足预设条件,则将所述目标数据点确定为离群数据点,并对所述离群数据点进行清洗处理。
[0074]
本实施例中,可以针对离群指数设定相应的指数阈值,例如设定为1.3。当离群指数大于该指数阈值时,说明目标数据点p具有“离群”的特点非常明显,应当将其确定为离群数据点,即为出现异常的数据点。
[0075]
针对这一情况,本实施例中可对离群数据点进行清洗处理。具体可以是进行删除、视为空值、修正或忽略处理。本实施例中对此不做限定,在实际情况下可根据需求选择适当的数据清洗处理方式。
[0076]
通过以上技术方案可知,本实施例中存在的有益效果是:通过确定目标数据点的邻域范围并确定邻域数据点,进而计算得到目标数据点的离群指数;根据离群指数得已判断目标数据点是否为异常;当所述离群指数满足预设条件,则将所述目标数据点确定为离群数据点,并对所述离群数据点进行清洗处理;由此实现了对于异常的数据点和筛选和处理,提高了数据的准确性,为后续的数据分析提供了良好的基础。
[0077]
如图3所示,为本发明所述数据清洗装置的一个具体实施例。本实施例所述装置,即用于执行图1所述方法的实体装置。其技术方案本质上与上述实施例一致,上述实施例中的相应描述同样适用于本实施例中。本实施例中所述装置包括:
[0078]
邻域确定模块301,用于根据预设的范围参数确定目标数据点的邻域范围;并确定邻域范围内的邻域数据集合;所述邻域数据集合中包括至少一个邻域数据点。
[0079]
可达密度计算模块302,用于根据所述目标数据点和各所述邻域数据点,确定所述目标数据点的第一可达密度。
[0080]
离群指数计算模块303,用于根据所述第一可达密度确定所述目标数据点的离群指数。
[0081]
清洗模块304,用于在所述离群指数满足预设条件时,将所述目标数据点确定为离群数据点,并对所述离群数据点进行清洗处理。
[0082]
图4是本发明实施例提供的一种电子设备的结构示意图。在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(random-access memory,ram),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
[0083]
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是isa(industry standard architecture,工业标准体系结构)总线、pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0084]
存储器,用于存放执行指令。具体地,执行指令即可被执行的计算机程序。存储器可以包括内存和非易失性存储器,并向处理器提供执行指令和数据。
[0085]
在一种可能实现的方式中,处理器从非易失性存储器中读取对应的执行指令到内存中然后运行,也可从其它设备上获取相应的执行指令,以在逻辑层面上形成数据清洗装置。处理器执行存储器所存放的执行指令,以通过执行的执行指令实现本发明任一实施例中提供的数据清洗方法。
[0086]
上述如本发明图3所示实施例提供的数据清洗装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0087]
结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完
成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
[0088]
本发明实施例还提出了一种可读介质,该可读存储介质存储有执行指令,存储的执行指令被电子设备的处理器执行时,能够使该电子设备执行本发明任一实施例中提供的数据清洗方法,并具体用于执行如图1或图2所示的方法。
[0089]
前述各个实施例中所述的电子设备可以为计算机。
[0090]
本领域内的技术人员应明白,本发明的实施例可提供为方法或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例,或软件和硬件相结合的形式。
[0091]
本发明中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0092]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0093]
以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1