掌桥专利:专业的专利平台
掌桥专利
首页

业扩项目的异常数据的识别方法、装置、设备及存储介质

文献发布时间:2023-06-19 16:04:54



技术领域

本发明涉及业扩项目数据异常的技术领域,尤其涉及一种基于SOM-E的业扩项目聚类方法、装置、设备和存储介质。

背景技术

随着我国电网行业的快速发展,如何改善电能质量及提供优质的用电服务一直是电网领域关注的问题。

在业扩报装流程中,常出现的问题是业扩配套项目数据源由于各种原因常常导致少量数据出现异常情况,扩配套项目聚类与业扩流程各节点工作时长预测成败的关键在于业扩配套项目数据的异常数据识别。但是,现在普遍的异常识别方法大多是识别数据的不平衡性方面,而由于高维度的数据相对于低维度数据在空间分布上会更加稀疏,从而更难以识别,从而忽略了数据的高维度也是影响离群点识别的因素。进而使得异常数据识别不够准确且灵敏度不高。

发明内容

基于此,本发明提供一种业扩项目的异常数据的识别方法、装置、设备及存储介质。着重研究无监督学习下的异常检测,通过t-SNE算法将高维度的数据降维重组后,再利用孤立森林检测异常数据。孤立森林是一个基于组合的无监督快速异常检测方法,它具有线性时间复杂度和高精准度,仅需要小量样本就可以达到良好的异常检测效果并且具有快速收敛的优点。

根据本申请的一些实施例的第一方面,提供了一种短期负荷的预测方法,包括以下步骤:

获取业扩项目数据,所述业扩项目数据包括项目流程节点数、节点工作时长、项目费用;

采取t-分布随机邻域嵌入算法t-SNE对所述业扩项目数据进行特征重组和降低维度;

构建孤立森林模型;

将所述降维后的业扩项目数据输入至所述孤立森林模型对所述业扩项目数据进行异常检测,得到检测结果。

进一步地,采取t-分布随机邻域嵌入算法t-SNE对所述业扩项目数据进行特征重组和降低维度,包括:

将所述业扩项目数据定义为n个d维样本集X={x1,x2,…,xn},假设任意两个点x

其中,P

定义低维样本集Y={y1,y2,…,yn},是高维样本集X={x1,x2,…,xn}的低维嵌入,数据点x

使用KL散度来度量P

采用梯度下降法最小化KL距离,公式如下:

为加快优化过程,避免局部最优解,在梯度中使用较大的动量,得到低维嵌入Y

其中,Y

进一步地,构建孤立森林模型的步骤,包括:

初始化孤立森林;

训练所述孤立森林模型中的孤立树。

进一步地,所述初始化孤立森林包括:

根据降维后的所述业扩项目数据,设置一个由多棵孤立树组成的孤立森林,同时设置合适的二次取样样本大小Ψ;

其中,每棵树的高度限制l由如下公式决定:

l=ceiling(log

进一步地,训练所述孤立森林模型中的孤立树,包括:

随机选取一棵孤立树,获得所述孤立树的树高e,如e>l,返回上一个子叶节点;

反之,在降维后的所述业扩项目数据中随机选取一个样本q,在q的最大和最小值之间随机选取一个分裂值p;

选好p后,当前子叶节点包含的样本按照q≥p和q

更新所述孤立树的树高e=e+1;

对每个所述孤立树进行上述步骤训练,直至每个所述孤立树都训练完成。

进一步地,将降维后的所述业扩项目数据输入至所述孤立森林模型对所述业扩项目数据进行异常检测,得到检测结果,包括:

对所述降维后的所述业扩项目数据中的每个样本进行异常检测;

用一个异常得分s来判断每个所述样本的异常情况,由下式决定:

c(n)=2H(n-1)-(2(n-1)/n)

H(i)≈ln(i)+0.5772156649

其中,x是降维后的所述业扩项目数据中的一个样本,n是降维后的所述业扩项目数据中的全部样本,h(x)是样本x从根节点到其最后所在的子叶节点所经过的边的数量,E(h(x))是样本x在孤立森林所有树中的h(x)的期望;

样本x离根节点越近,其异常得分越大。

据本申请的一些实施例的第二方面,提供了一种业扩项目的异常数据的识别的装置,包括:

业扩项目获取模块,用于获取业扩项目数据,所述业扩项目数据包括项目流程节点数、节点工作时长、项目费用;

降维模块,用于采取t-分布随机邻域嵌入算法t-SNE对所述业扩项目数据进行特征重组和降低维度;

构建模块,用于构建孤立森林模型;

检测模块,用于将降维后的所述业扩项目数据输入至所述孤立森林模型对所述业扩项目数据进行异常检测,得到检测结果。

进一步地,降维模块,包括:

高维度概率计算单元,用于将所述业扩项目数据定义为n个d维样本集X={x1,x2,…,xn},假设任意两个点x

其中,P

低维度概率计算单元,用于定义低维样本集Y={y1,y2,…,yn},是高维样本集X={x1,x2,…,xn}的低维嵌入,数据点x

降维确定单元,用于使用KL散度来度量P

采用梯度下降法最小化KL距离,公式如下:

为加快优化过程,避免局部最优解,在梯度中使用较大的动量,得到低维嵌入Y

其中,Y

根据本申请的一些实施例的第三方面,提供了一种设备,包括:

至少一个存储器和至少一个处理器;

所述存储器,用于存储一个或多个程序;

当所述一个或多个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如第一方面任一项所述的业扩项目的异常数据的识别方法的步骤。

根据本申请的一些实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述方法的步骤。

本申请利用t-分布领域嵌入算法对原始高维业扩项目数据进行特征重组和降低数据维度,再利用孤立森林算法发掘重组和降低维度后的业扩项目数据中的异常数据,最后将重组和降低维度后的业扩项目数据中的异常数据剔除掉。孤立森林算法致力于发掘异常点的特征而不是归纳正常点的特征,由于异常点仅占整个样本集很小的部分,属性跟其他正常点有很大区别,因此它们比正常点更容易被孤立。孤立森林是一个基于组合的无监督快速异常检测方法,它具有线性时间复杂度和高精准度,仅需要小量样本就可以达到良好的异常检测效果并且具有快速收敛的优点,对剔除业扩项目数据中的异常数据有重要的意义。

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

附图说明

图1为本申请实施例中的一种业扩项目的异常数据的识别方法的步骤流程图;

图2为本申请实施例中的一种业扩项目的异常数据的识别的装置的结构示意图;

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。

应当明确,所描述的实施例仅仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请实施例保护的范围。

在本申请实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请实施例。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。

此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联人体的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联人体是一种“或”的关系。

针对背景技术中涉及的在实际工程中,正常数据和异常数据分布于同一个数据集中,并没有足够的信息可以分辨的问题。

本申请提供一种业扩项目的异常数据的识别方法,请参阅图1,该方法包括以下步骤:

步骤S1:获取业扩项目数据,所述业扩项目数据包括项目流程节点数、节点工作时长、项目费用。

其中,业扩项目包括多个项目流程节点,不同的流程节点的工作时长和费用也各不相同。

步骤S2:采取t-分布随机邻域嵌入算法t-SNE对所述业扩项目数据进行特征重组和降低维度。

t-分布随机邻域嵌入算法是对高维度数据进行降维的算法,它的目的是将高维度空间中的数据点集合在一个低维度空间中准确的表示出来,这里低维度空间一般指二维空间。该算法是非线性的并能适应底层数据,支持调优参数-困惑度,简单来说它是用来平衡数据的局部和全局关注度。

由于业扩项目数据不仅涉及到项目的类别、节点的数量,还涉及到时间长短和费用多少的问题,所以业扩项目数据具有复杂度高,数量庞大的特点。因此,通过该算法对业扩项目数据进行降维,有利于后续对异常数据识别。

步骤S3:构建孤立森林模型。

孤立森林模型是是一种适用于连续数据(Continuous numerical data)的无监督异常检测方法,即不需要有标记的样本来训练,但特征需要是连续的。对于如何查找哪些点容易被孤立(isolated),iForest使用了一套非常高效的策略。在孤立森林中,递归地随机分割数据集,直到所有的样本点都是孤立的。在这种随机分割的策略下,异常点通常具有较短的路径。

步骤S4:将所述降维后的业扩项目数据输入至所述孤立森林模型对所述业扩项目数据进行异常检测,得到检测结果。

本申请着重研究无监督学习下的异常检测,通过t-SNE算法将高维度的数据降维重组后,再利用孤立森林检测异常数据。孤立森林是一个基于组合的无监督快速异常检测方法,它具有线性时间复杂度和高精准度,仅需要小量样本就可以达到良好的异常检测效果并且具有快速收敛的优点。

在一个具体的例子中,采取t-分布随机邻域嵌入算法t-SNE对所述业扩项目数据进行特征重组和降低维度,包括:

将所述业扩项目数据定义为n个d维样本集X={x1,x2,…,xn},其中,样本集中的每个数据点用于指示业扩项目数据中的项目流程节点数、节点工作时长、项目费用中的任意一个数据。

假设任意两个数据点x

其中,P

定义低维样本集Y={y1,y2,…,yn},是高维样本集X={x1,x2,…,xn}的低维嵌入,数据点x

使用KL散度来度量P

采用梯度下降法最小化KL距离,公式如下:

为加快优化过程,避免局部最优解,在梯度中使用较大的动量,得到低维嵌入Y

其中,Y

在一个具体的实施例中,构建孤立森林模型的步骤,包括:

初始化孤立森林。

具体的,初始化森林,包括:

根据降维后的所述业扩项目数据,设置一个由多棵孤立树组成的孤立森林,同时设置合适的二次取样样本大小Ψ;

其中,每棵孤立树的高度限制l由如下公式决定:

l=ceiling(log

训练所述孤立森林模型中的孤立树。

具体的,训练所述孤立森林模型中的孤立树,包括:

随机选取一棵孤立树,获得所述孤立树的树高e,如e>l,返回上一个子叶节点。

否则在降维后的所述业扩项目数据中随机选取一个样本q,在q的最大和最小值之间随机选取一个分裂值p。

选好p后,当前子叶节点包含的样本按照q≥p和q

更新所述孤立树的树高e=e+1。

对每个所述孤立树进行上述步骤训练,直至每个所述孤立树都训练完成。

在一个优选的实施例中,将降维后的所述业扩项目数据输入至所述孤立森林模型对所述业扩项目数据进行异常检测,得到检测结果,包括:

对所述降维后的所述业扩项目数据中的每个样本进行异常检测;

用一个异常得分s来判断每个所述样本的异常情况,由下式决定:

c(n)=2H(n-1)-(2(n-1)/n)

H(i)≈ln(i)+0.5772156649

其中,x是降维后的所述业扩项目数据中的一个样本,n是降维后的所述业扩项目数据中的全部样本,h(x)是样本x从根节点到其最后所在的子叶节点所经过的边的数量,E(h(x))是样本x在孤立森林所有树中的h(x)的期望;

样本x离根节点越近,其异常得分越大。

与上述的业扩项目的异常数据的识别方法相对应,如图2所示,本申请还提供一种业扩项目的异常数据的识别的装置200,包括:

业扩项目获取模块210,用于获取业扩项目数据,所述业扩项目数据包括项目流程节点数、节点工作时长、项目费用。

降维模块220,用于采取t-分布随机邻域嵌入算法t-SNE对所述业扩项目数据进行特征重组和降低维度。

构建模块230,用于构建孤立森林模型.

检测模块240,用于将降维后的所述业扩项目数据输入至所述孤立森林模型对所述业扩项目数据进行异常检测,得到检测结果。

在一个可选的例子中,降维模块220,包括:

高维度概率计算单元,用于将所述业扩项目数据定义为n个d维样本集X={x1,x2,…,xn},假设任意两个点x

其中,P

低维度概率计算单元,用于定义低维样本集Y={y1,y2,…,yn},是高维样本集X={x1,x2,…,xn}的低维嵌入,数据点x

降维确定单元,用于使用KL散度来度量P

采用梯度下降法最小化KL距离,公式如下:

为加快优化过程,避免局部最优解,在梯度中使用较大的动量,得到低维嵌入Y

其中,Y

在一个可选的例子中,构建模块230,包括:

初始化单元,用于初始化孤立森林。

训练单元,用于训练所述孤立森林模型中的孤立树。

在一个可选的例子中,初始化单元包括:

孤立森林设立元件,用于根据降维后的所述业扩项目数据,设置一个由多棵孤立树组成的孤立森林,同时设置合适的二次取样样本大小Ψ;

树高确定元件,用于每棵树的高度限制l由如下公式决定:l=ceiling(log

在一个可选的例子中,训练单元包括:

随机选取孤立树元件,用于随机选取一棵孤立树,获得其现时树高e,如e>l,返回上一个子叶节点。

确定分裂值元件,用于否则在降维后的所述业扩项目数据中随机选取一个样本q,在q的最大和最小值之间随机选取一个分裂值p。

新叶确定元件,用于选好p后,当前子叶节点包含的样本按照q≥p和q

更新元件,用于更新树高e=e+1。

训练确认元件,用于对每个所述孤立树进行上述步骤训练,直至每个所述孤立树都训练完成。

在一个可选的例子中,检测模块240,包括:

异常检测元件,用于对所述降维后的所述业扩项目数据中的每个样本进行异常检测;

异常情况确定元件,用于用一个异常得分s来判断每个所述样本的异常情况,由下式决定:

c(n)=2H(n-1)-(2(n-1)/n)

H(i)≈ln(i)+0.5772156649

其中,x是降维后的所述业扩项目数据中的一个样本,n是降维后的所述业扩项目数据中的全部样本,h(x)是样本x从根节点到其最后所在的子叶节点所经过的边的数量,E(h(x))是样本x在孤立森林所有树中的h(x)的期望;

异常得分确定元件,用于样本x离根节点越近,其异常得分越大。

与上述的一种业扩项目的异常数据的识别方法相对应,本申请还提供一种设备,包括至少一个存储器和至少一个处理器;

所述存储器,用于存储一个或多个程序;

当所述一个或多个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上述任一项所述的业扩项目异常数据的识别方法的步骤。

上述设备中各个组件的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。对于设备实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的设备实施例仅仅是示意性的,其中所述作为分离部件说明的组件可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

与上述的业扩项目异常数据的识别方法相对应,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述方法的步骤。

本公开可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机可用存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。

本申请利用t-分布领域嵌入算法对原始高维业扩项目数据进行特征重组和降低数据维度,再利用孤立森林算法发掘重组和降低维度后的业扩项目数据中的异常数据,最后将重组和降低维度后的业扩项目数据中的异常数据剔除掉。孤立森林算法致力于发掘异常点的特征而不是归纳正常点的特征,由于异常点仅占整个样本集很小的部分,属性跟其他正常点有很大区别,因此它们比正常点更容易被孤立。孤立森林是一个基于组合的无监督快速异常检测方法,它具有线性时间复杂度和高精准度,仅需要小量样本就可以达到良好的异常检测效果并且具有快速收敛的优点,对剔除业扩项目数据中的异常数据有重要的意义。

应当理解的是,本申请实施例并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请实施例的范围仅由所附的权利要求来限制。以上所述实施例仅表达了本申请实施例的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请实施例构思的前提下,还可以做出若干变形和改进,这些都属于本申请实施例的保护范围。

技术分类

06120114693546