一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种异常数据的检测方法及装置与流程

2022-04-30 13:48:05 来源:中国专利 TAG:


1.本技术涉及电网安全领域,尤其涉及一种异常数据的检测方法及装置。


背景技术:

2.电网电力系统通过监控和数据采集系统收集电力观测数据,以进行状态估计。但是电网电力系统在长期运行中,可能受到虚假数据注入攻击而使电力观测数据被篡改,从而造成电力系统的状态估计结果出现偏差,严重危害电网的现实收益。
3.目前,主要通过距离聚类算法或密度距离聚类算法等单一的物理空间安全保护技术或信息空间异常检测技术进行异常数据的检测。但是,传统的距离聚类算法需要人为事先制定聚类簇中心,传统的密度距离聚类算法需要事先确定阈值和密度定义,导致层次聚类对数据形状结构要求过高。可见,当前的异常数据检测方式存在数据适应性差的问题。


技术实现要素:

4.本技术提供了一种异常数据的检测方法及装置,旨在解决当前异常数据检测方法存在的数据适应性差的问题。
5.为了解决上述技术问题,第一方面,本技术实施例提供了一种异常数据的检测方法,包括:
6.获取电力数据集,所述电力数据集包括多个电力数据;
7.计算所述电力数据之间的支持度,并生成支持度矩阵;
8.根据所述支持度矩阵中每行数据的支持度总和,对所述支持度矩阵中的支持度进行聚类,得到多个子簇;
9.对多个所述子簇进行对比,检测异常数据,得到所述电力数据的异常检测结果。
10.本实施例通过计算所述电力数据之间的支持度,并生成支持度矩阵,从而呈现数据之间的关联关系;并根据所述支持度矩阵中每行数据的支持度总和,对所述支持度矩阵中的支持度进行聚类,得到多个子簇,对多个所述子簇进行对比,检测异常数据,得到所述电力数据的异常检测结果。与传统距离聚类算法和传统密度距离聚类算法不同的是,本技术通过支持度矩阵中每行数据的支持度总和作为一个子簇中心,而无需人为事先制定聚类簇中心,也无需事先确定阈值和密度定义。本技术可根据个体模型计算的支持度总和自适应的调整聚类权重,降低聚类过程对数据结构的要求,以能够适用于更多的不同数据,提高异常数据检测方法的数据适应性。
11.在一实施例中,所述获取电力数据集,包括:
12.获取电力观测数据,所述电力观测数据包括数值型数据和文本型数据;
13.对所述数值型数据和文本型数据进行数值归一化,得到多个所述电力数据,多个所述电力数据组成所述电力数据集。
14.本实施例通过数值归一化将电力观测数据统一变换为电力数据,以实现对电力观测数据进行标准化,从而便于后续的数据运算,提高数据运算效率。
15.在一实施例中,所述计算所述电力数据之间的支持度,并生成支持度矩阵,包括:
16.基于所述电力数据,计算电力数据之间的欧式距离;
17.基于所述电力数据之间的欧式距离,利用预设的支持度公式计算所述电力数据之间的支持度;
18.根据所有所述电力数据之间的支持度,生成所述支持度矩阵;
19.其中,所述支持度公式为:
20.sup=(1-dn(ai,aj))k,k>0,ai=(x1,x2,...,xi),aj=(x1,x2,...,xj);
[0021][0022]
其中sup为支持度,ai为第i个电力数据,aj为第j个电力数据,dn(ai,aj)为电力数据ai与电力数据aj之间归一化后的欧式距离,xi为电力数据ai中的第i个数据向量,xj为电力数据aj中的第j个数据向量。
[0023]
本实施例通过计算电力数据之间的欧式距离,从而获知电力数据之间的相似度,并基于欧式距离确定支持度,以及将所有支持度构建为支持度矩阵,从而得到电力数据之间的关联关系,以能够利用具有电力数据的关联关系的支持度矩阵进行聚类,从而提高数据适应性。
[0024]
在一实施例中,所述根据所述支持度矩阵中每行数据的支持度总和,对所述支持度矩阵中的支持度进行聚类,得到多个子簇,包括:
[0025]
步骤一,计算所述支持度矩阵中每行数据的支持度总和,并将所述支持度总和加入到所述支持度矩阵的对应行;
[0026]
步骤二,确定多个所述支持度总和中的最大支持度总和,以及确定每列数据中的最大支持度;
[0027]
步骤三,将目标最大支持度对应的列数据作为同一子簇,得到一个子簇,所述目标最大支持度为与所述最大支持度总和在同一行的最大支持度;
[0028]
步骤四,删除所述支持度矩阵中的所述目标最大支持度所对应的列数据,得到新的支持度矩阵;
[0029]
重复迭代上述步骤一至步骤四,直至达到预设的迭代停止条件,得到多个子簇。
[0030]
本实施例通过计算支持度矩阵中每行数据的支持度总和,并将支持度总和作为本次迭代的子簇中心点,再利用每列支持度中的最大支持度与支持度总和进行对比,若最大支持度与支持度总和在同一行,则说明该最大支持度在子簇中心点附近,因此将所有在本次迭代的子簇中心点附近的最大支持度作为一个子簇,并重复迭代过程,得到多个子簇。与传统距离聚类算法和传统密度距离聚类算法不同的是,无需人为事先制定聚类簇中心,也无需事先确定阈值和密度定义,降低聚类过程对数据结构的要求,提高聚类过程的数据适应性。
[0031]
在一实施例中,所述根据所述支持度矩阵中每行数据的支持度总和,对所述支持度矩阵中的支持度进行聚类,得到多个子簇之前,还包括:
[0032]
对所述支持度矩阵进行下三角数值化处理,得到为上三角倒数值的支持度矩阵。
[0033]
本实施例通过对支持度矩阵进行下三角数值化处理,以在聚类时更加容易求解出每个迭代过程的迭代结果,提高聚类过程的迭代效率。
[0034]
第二方面,本技术实施例提供一种异常数据的检测装置,包括:
[0035]
获取模块,用于获取电力数据集,所述电力数据集包括多个电力数据;
[0036]
计算模块,用于计算所述电力数据之间的支持度,并生成支持度矩阵;
[0037]
聚类模块,用于根据所述支持度矩阵中每行数据的支持度总和,对所述支持度矩阵中的支持度进行聚类,得到多个子簇;
[0038]
检测模块,用于对多个所述子簇进行对比,检测异常数据,得到所述电力数据的异常检测结果。
[0039]
在一实施例中,所述获取模块,包括:
[0040]
获取单元,用于获取电力观测数据,所述电力观测数据包括数值型数据和文本型数据;
[0041]
归一化单元,用于对所述数值型数据和文本型数据进行数值归一化,得到多个所述电力数据,多个所述电力数据组成所述电力数据集。
[0042]
在一实施例中,所述计算模块,包括:
[0043]
第一计算单元,用于基于所述电力数据,计算电力数据之间的欧式距离;
[0044]
第二计算单元,用于基于所述电力数据之间的欧式距离,利用预设的支持度公式计算所述电力数据之间的支持度;
[0045]
生成单元,用于根据所有所述电力数据之间的支持度,生成所述支持度矩阵;
[0046]
其中,所述支持度公式为:
[0047]
sup=(1-dn(ai,aj))k,k>0,ai=(x1,x2,...,xi),
aj
=(x1,x2,...,xj);
[0048][0049]
其中sup为支持度,ai为第i个电力数据,aj为第j个电力数据,dn(ai,aj)为电力数据ai与电力数据aj之间归一化后的欧式距离,xi为电力数据ai中的第i个数据向量,xj为电力数据aj中的第j个数据向量。
[0050]
在一实施例中,所述聚类模块,包括:
[0051]
迭代单元,用于迭代执行第三计算单元、确定单元、作为单元和删除单元,直至达到预设的迭代停止条件,得到多个子簇;
[0052]
其中,所述第三计算单元,用于计算所述支持度矩阵中每行数据的支持度总和,并将所述支持度总和加入到所述支持度矩阵的对应行;
[0053]
所述确定单元,用于确定多个所述支持度总和中的最大支持度总和,以及确定每列数据中的最大支持度;
[0054]
所述作为单元,用于将目标最大支持度对应的列数据作为同一子簇,得到一个子簇,所述目标最大支持度为与所述最大支持度总和在同一行的最大支持度;
[0055]
所述删除单元,用于删除所述支持度矩阵中的所述目标最大支持度所对应的列数据,得到新的支持度矩阵。
[0056]
在一实施例中,所述检测装置还包括:
[0057]
处理模块,用于对所述支持度矩阵进行下三角数值化处理,得到为上三角倒数值的支持度矩阵。
[0058]
需要说明的是,上述第二方面的有益效果请参见上述第一方面的相关描述,在此
不再赘述。
附图说明
[0059]
图1为本技术实施例提供的异常数据的检测方法的流程示意图;
[0060]
图2为本技术实施例提供的异常数据的检测装置的结构示意图。
具体实施方式
[0061]
下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0062]
如背景技术相关记载,目前主要通过距离聚类算法或密度距离聚类算法等单一的物理空间安全保护技术或信息空间异常检测技术进行异常数据的检测。但是,传统的距离聚类算法需要人为事先制定聚类簇中心,传统的密度距离聚类算法需要事先确定阈值和密度定义,导致层次聚类对数据形状结构要求过高,使得数据适应性差。
[0063]
为此,本技术实施例提供一种异常数据的检测方法及装置,检测方法通过计算所述电力数据之间的支持度,并生成支持度矩阵,从而呈现数据之间的关联关系;并根据所述支持度矩阵中每行数据的支持度总和,对所述支持度矩阵中的支持度进行聚类,得到多个子簇,对多个所述子簇进行对比,检测异常数据,得到所述电力数据的异常检测结果。与传统距离聚类算法和传统密度距离聚类算法不同的是,本技术通过支持度矩阵中每行数据的支持度总和作为一个子簇中心,而无需人为事先制定聚类簇中心,也无需事先确定阈值和密度定义。本技术可根据个体模型计算的支持度总和自适应的调整聚类权重,降低聚类过程对数据结构的要求,以能够适用于更多的不同数据,提高异常数据检测方法的数据适应性。
[0064]
参见图1,图1示出了本技术实施例提供的一种网异常数据的检测方法的实现流程图。本技术实施例中下述的异常数据的检测方法可应用于计算机设备,计算机设备包括但不限于智能手机、平板电脑、桌上型计算机、超级计算机、个人数字助理、物理服务器和云服务器等计算机设备。本技术实施例的异常数据的检测方法,包括步骤s101至s104,详述如下:
[0065]
步骤s101,获取电力数据集,所述电力数据集包括多个电力数据。
[0066]
在本步骤中,电力数据为电网设备运行时被采集到的运行数据,其包括但不限于数值型数据和文本型数据。可选地,数值型数据和文本型数据为异构数据,可通过标准化操作将数值型数据和文本型数据的数据结构进行统一。
[0067]
在一实施例中,获取电力观测数据,所述电力观测数据包括数值型数据和文本型数据;对所述数值型数据和文本型数据进行数值归一化,得到多个所述电力数据,多个所述电力数据组成所述电力数据集。
[0068]
可选地,对于数值型数据,通过归一化公式进行处理,其中dn为数值型数据归一化后得到的电力数据,x为数值型数据,为同一类型的所有数值型数据的均值,δ
为标准差。
[0069]
可选地,对于文本型数据,通过tf-idf算法进行处理,其中dm为文本型数据归一化后得到的电力数据,n
ij
表示词i在文本j中出现的次数,∑n
ij
表示文本j中所有词汇出现的总次数。
[0070]
电力数据di={d1,d2...dn...dm},即di包括所有dn和所有dm。本实施例通过数值归一化将电力观测数据统一变换为电力数据,以实现对电力观测数据进行标准化,从而便于后续的数据运算,提高数据运算效率。
[0071]
可以理解的是,电力观测数据的的归一化过程可以在实现本检测方法的计算机设备执行,也可以在其他计算设备执行后,将得到的电力数据移植至本计算机设备。
[0072]
步骤s102,计算所述电力数据之间的支持度,并生成支持度矩阵。
[0073]
在本步骤中,支持度用于表征电力数据之间的关联关系。通过计算电力数据之间的相似度,再利用相似度计算电力数据之间的支持度,并将所有支持度构建为支持度矩阵。可选地,相似度可以是欧式距离相似度和余弦相似度等。
[0074]
在一实施例中,步骤s102具体包括:基于所述电力数据,计算电力数据之间的欧式距离;基于所述电力数据之间的欧式距离,利用预设的支持度公式计算所述电力数据之间的支持度;根据所有所述电力数据之间的支持度,生成所述支持度矩阵;其中,所述支持度公式为:
[0075]
sup(ai,aj)=(1-dn(ai,aj))k,k>0,ai=(x1,x2,...,xi),aj=(x1,x2,...,xj);
[0076][0077]
其中sup(ai,aj)为ai与aj之间支持度,ai为第i个电力数据,aj为第j个电力数据,dn(ai,aj)为电力数据ai与电力数据aj之间归一化后的欧式距离,xi为电力数据ai中的第i个数据向量,xj为电力数据aj中的第j个数据向量。
[0078]
基于所有电力数据之间支持度,生成支持度矩阵,示例如下:
[0079][0080]
本实施例通过计算电力数据之间的欧式距离,从而获知电力数据之间的相似度,并基于欧式距离确定支持度,以及将所有支持度构建为支持度矩阵,从而得到电力数据之间的关联关系,以能够利用具有电力数据的关联关系的支持度矩阵进行聚类,从而提高数据适应性。
[0081]
步骤s103,根据所述支持度矩阵中每行数据的支持度总和,对所述支持度矩阵中的支持度进行聚类,得到多个子簇。
[0082]
在本步骤中,支持度矩阵包括行和列,计算每行数据中所有支持度之和,得到支持度总和,将支持度总和作为本次迭代的子簇中心点,再利用每列支持度中的最大支持度与支持度总和进行对比,若最大支持度与支持度总和在同一行,则说明该最大支持度在子簇
中心点附近,因此将所有在本次迭代的子簇中心点附近的最大支持度作为一个子簇,并重复迭代过程,得到多个子簇。与传统距离聚类算法和传统密度距离聚类算法不同的是,无需人为事先制定聚类簇中心,也无需事先确定阈值和密度定义,降低聚类过程对数据型状结构的要求,提高聚类过程的数据适应性。
[0083]
在一实施例中,上述步骤s103,具体包括:
[0084]
步骤一,计算所述支持度矩阵中每行数据的支持度总和,并将所述支持度总和加入到所述支持度矩阵的对应行;
[0085]
步骤二,确定多个所述支持度总和中的最大支持度总和,以及确定每列数据中的最大支持度;
[0086]
步骤三,将目标最大支持度对应的列数据作为同一子簇,得到一个子簇,所述目标最大支持度为与所述最大支持度总和在同一行的最大支持度;
[0087]
步骤四,删除所述支持度矩阵中的所述目标最大支持度所对应的列数据,得到新的支持度矩阵;
[0088]
重复迭代上述步骤一至步骤四,直至达到预设的迭代停止条件,得到多个子簇。
[0089]
在本实施例中,对于得到的支持度矩阵,新增一行求出每行之和sum,示例如下:
[0090][0091]
确定多个所述支持度总和中的最大支持度总和,以及确定每列数据中的最大支持度,例如最大支持度总和为sum2,第一列的最大支持度为sup(a2,a1),第二列的最大支持度为sup(an,a2),第n列的最大支持度为sup(a1,an)。将每列的最大支持度与最大支持度总和对比,将所有与所述最大支持度总和在同一行的目标最大支持度作为同一子簇,得到一个子簇。由上可知,sup(a2,a1)与最大支持度总和sum2在同一行,则sup(a2,a1)所对应的列数据,得到新的支持度矩阵,示例如下:
[0092][0093]
以该新的支持度矩阵重新返回步骤一进行迭代,直至达到预设的迭代停止条件。迭代停止条件可以是支持度矩阵中的数据完全删除,或者人为停止数据聚类簇。
[0094]
步骤s104,对多个所述子簇进行对比,检测异常数据,得到所述电力数据的异常检测结果。
[0095]
在本步骤中,通过对聚类结果中的子簇进行对比,挑出异常数据,则相应生成源数据的设备为异常设备。
[0096]
在一实施例中,在图1所示实施例的基础上,上述步骤s103之前,还包括:对所述支持度矩阵进行下三角数值化处理,得到为上三角倒数值的支持度矩阵。
[0097]
本实施例通过对支持度矩阵进行下三角数值化处理,以在聚类时更加容易求解出每个迭代过程的迭代结果,提高聚类过程的迭代效率。
[0098]
为了执行上述方法实施例对应的异常数据的检测方法,以实现相应的功能和技术效果。参见图2,图2示出了本技术实施例提供的一种异常数据的检测装置的结构框图。为了便于说明,仅示出了与本实施例相关的部分,本技术实施例提供的异常数据的检测装置,包括:
[0099]
获取模块201,用于获取电力数据集,所述电力数据集包括多个电力数据;
[0100]
计算模块202,用于计算所述电力数据之间的支持度,并生成支持度矩阵;
[0101]
聚类模块203,用于根据所述支持度矩阵中每行数据的支持度总和,对所述支持度矩阵中的支持度进行聚类,得到多个子簇;
[0102]
检测模块204,用于对多个所述子簇进行对比,检测异常数据,得到所述电力数据的异常检测结果。
[0103]
在一实施例中,所述获取模块201,包括:
[0104]
获取单元,用于获取电力观测数据,所述电力观测数据包括数值型数据和文本型数据;
[0105]
归一化单元,用于对所述数值型数据和文本型数据进行数值归一化,得到多个所述电力数据,多个所述电力数据组成所述电力数据集。
[0106]
在一实施例中,所述计算模块202,包括:
[0107]
第一计算单元,用于基于所述电力数据,计算电力数据之间的欧式距离;
[0108]
第二计算单元,用于基于所述电力数据之间的欧式距离,利用预设的支持度公式计算所述电力数据之间的支持度;
[0109]
生成单元,用于根据所有所述电力数据之间的支持度,生成所述支持度矩阵;
[0110]
其中,所述支持度公式为:
[0111]
sup=(1-dn(ai,aj))k,k>0,ai=(x1,x2,...,xi),aj=(x1,x2,...,xj);
[0112][0113]
其中sup为支持度,ai为第i个电力数据,aj为第j个电力数据,dn(ai,aj)为电力数据ai与电力数据aj之间归一化后的欧式距离,xi为电力数据ai中的第i个数据向量,xj为电力数据aj中的第j个数据向量。
[0114]
在一实施例中,所述聚类模块203,包括:
[0115]
迭代单元,用于迭代执行第三计算单元、确定单元、作为单元和删除单元,直至达到预设的迭代停止条件,得到多个子簇;
[0116]
其中,所述第三计算单元,用于计算所述支持度矩阵中每行数据的支持度总和,并将所述支持度总和加入到所述支持度矩阵的对应行;
[0117]
所述确定单元,用于确定多个所述支持度总和中的最大支持度总和,以及确定每列数据中的最大支持度;
[0118]
所述作为单元,用于将目标最大支持度对应的列数据作为同一子簇,得到一个子簇,所述目标最大支持度为与所述最大支持度总和在同一行的最大支持度;
[0119]
所述删除单元,用于删除所述支持度矩阵中的所述目标最大支持度所对应的列数据,得到新的支持度矩阵。
[0120]
在一实施例中,所述检测装置还包括:
[0121]
处理模块,用于对所述支持度矩阵进行下三角数值化处理,得到为上三角倒数值的支持度矩阵。
[0122]
上述的异常数据的检测装置可实施上述方法实施例的异常数据的检测方法。上述方法实施例中的可选项也适用于本实施例,这里不再详述。本技术实施例的其余内容可参照上述方法实施例的内容,在此不再赘述。
[0123]
在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0124]
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0125]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0126]
以上所述的具体实施例,对本技术的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本技术的具体实施例而已,并不用于限定本技术的保护范围。特别指出,对于本领域技术人员来说,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献