1.本发明属于智能用电技术领域,尤其涉及一种基于相似性学习融合模型的异常检测方法及系统。
背景技术:2.本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
3.对于电力行业,随着电力系统信息化水平的提高,各种电力设备和系统需要处理大量数据。然而,需要处理的事件信息类型种类多样,难以从数据中提取有用信息。此外,由于各种通信故障、设备故障、电网波动和用户行为异常等原因,出现了大量的异常数据。这些异常数据往往包含电网信息中的重要信息,对电力数据的准确性和完整性有着重要影响。因此,基于大规模电力数据,研究异常检测算法,分析、识别、处理异常信息,对电力行业挖掘事件信息和智能电网的分析具有重要意义。
4.目前,传统数据异常检测方法主要依靠数据专家、业务专家等人力进行排查。随着各行业及各专业数据化建设规模逐渐扩大,依靠传统方法对海量、实时、异构的数据异常检测方法渐显不足。发明人发现,主要问题在人工成本大、时间周期长,依赖专家经验无法并发批量工作,人工治理还会引发错漏现象等,无法快速准确低成本地满足业务数据使用需求;同时缺乏异构数据环境下数据拓扑关系高效管理的手段,无法实现复杂逻辑数据管理智能化及数据脉络关系可视化和清晰化,与真正实现“追根溯源”式的数据核查理念还存在一定的差距。
技术实现要素:5.为了解决上述背景技术中存在的技术问题,本发明提供一种基于相似性学习融合模型的异常检测方法及系统,其首先根据数据中台中收集的电力数据构建一个异构信息网络;然后采用图卷积神经网络(graph convolutional network,gcn)和非负矩阵分解(nonnegative matrix factorization,nmf)相结合的方法进行相似性分组;最后采用图注意力机制(graph attention network,gat)和transformer相结合进行分组异常检测,从而提高检测精度。
6.为了实现上述目的,本发明采用如下技术方案:
7.本发明的第一个方面提供一种基于相似性学习融合模型的异常检测方法,其包括:
8.获取待检测的用电信息;
9.基于获取的用电信息及训练好的相似性学习融合模型进行用电异常检测;
10.其中,所述相似性学习融合模型的训练过程为:
11.基于预先获取的电力数据构建异构信息网络,同时进行用户相似性用电行为学习,得到相似性用电行为分组;
12.基于相似性用电行为分组,分别对不同组的用电行为数据进行上下文学习,获得用户的用电表示向量;
13.采用图注意力机制来捕获相似性分组向量和不同组的用电表示向量之间相互依赖关系,从而获得用户的综合表示向量;
14.利用用户的综合表示向量,构建softmax预测函数;基于softmax预测函数输出值的损失函数训练相似性学习融合模型的学习参数。
15.作为一种实施方式,所述的基于相似性学习融合模型的异常检测方法,还包括:
16.将检测结果与实际用电情况进行对比,并根据对比结果进一步优化相似性学习融合模型中的数据权重值。
17.作为一种实施方式,采用图卷积神经网络和非负矩阵分解相结合的方法进行用户相似性用电行为学习。
18.作为一种实施方式,采用transformer机制对不同组的用电行为数据进行上下文学习。
19.作为一种实施方式,采用反向传播算法训练相似性学习融合模型的学习参数。
20.本发明的第二个方面提供一种基于相似性学习融合模型的异常检测系统,其包括:
21.信息获取模块,其用于获取待检测的用电信息;
22.异常检测模块,其用于基于获取的用电信息及训练好的相似性学习融合模型进行用电异常检测;
23.其中,所述相似性学习融合模型的训练过程为:
24.基于预先获取的电力数据构建异构信息网络,同时进行用户相似性用电行为学习,得到相似性用电行为分组;
25.基于相似性用电行为分组,分别对不同组的用电行为数据进行上下文学习,获得用户的用电表示向量;
26.采用图注意力机制来捕获相似性分组向量和不同组的用电表示向量之间相互依赖关系,从而获得用户的综合表示向量;
27.利用用户的综合表示向量,构建softmax预测函数;基于softmax预测函数输出值的损失函数训练相似性学习融合模型的学习参数。
28.作为一种实施方式,所述的基于相似性学习融合模型的异常检测系统,还包括:
29.反馈更新模块,其用于将检测结果与实际用电情况进行对比,并根据对比结果进一步优化相似性学习融合模型中的数据权重值。
30.本发明的第三个方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述所述的基于相似性学习融合模型的异常检测方法中的步骤。
31.本发明的第四个方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述所述的基于相似性学习融合模型的异常检测方法中的步骤。
32.与现有技术相比,本发明的有益效果是:
33.(1)本发明以历史用户用电数据为基础,根据数据中台收集的电力数据构建异构
信息网络,同时为了减少模型参数,避免出现过拟合的现象,采用gcn和非负矩阵分解相结合的方法进行用户相似性用电行为学习,得到相似性分组;
34.(2)本发明利用transformer机制分别对不同组的用电行为数据进行上下文学习;然后采用图注意力机制来捕获向量信息之间相互依赖关系,获得用户的综合表示向量,从而提高异常检测的精度。
35.本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
36.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
37.图1是本发明实施例的基于相似性学习融合模型的异常检测方法流程图;
38.图2是本发明实施例的基于相似性学习融合模型的异常检测的数据流程图;
39.图3为本发明实施例提供的用户异常检测实施例流程图;
40.图4(a)为本发明实施例模型参数中的输入维度d的变化在auroc指标上的影响;
41.图4(b)为本发明实施例模型参数中的输入维度d的变化在auprc指标上的影响。
具体实施方式
42.下面结合附图与实施例对本发明作进一步说明。
43.应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
44.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
45.实施例一
46.参照图1、图2和图3,本实施例提供一种基于相似性学习融合模型的异常检测方法,其包括:
47.s101:获取待检测的用电信息;
48.s102:基于获取的用电信息及训练好的相似性学习融合模型进行用电异常检测。
49.其中,所述相似性学习融合模型的训练过程为:
50.步骤a:基于预先获取的电力数据构建异构信息网络,同时进行用户相似性用电行为学习,得到相似性用电行为分组。
51.例如:对海量电力信息进行相关用电量数据的采集,包含历史用电量数据和天气数据,对获取的用电量数据和天气数据进行数据预处理,包含数据清洗、缺失数据补全、数据定义并存储。
52.具体地,基于、某省级电网公司的用电信息采集系统中获取的用电数据,每小时采集一次,每天采集24个时间点的数据,包括996个用户2019年9月1日到2019年9月14日共
334656条用电数据。在这里要说明一点是,本实施将每一个时间点采取的数据都作为一条用电数据。此外,从中国气象数据服务中心网站上获取了相应城市相应时间的天气数据。
53.其中,采用图卷积神经网络和非负矩阵分解相结合的方法进行用户相似性用电行为学习。
54.基于收集的电力数据,本实施首先构建了一个异构信息网络,然后采用gcn和非负矩阵分解相结合的方法进行用户相似性用电行为学习。
55.其中,进行用户相似性用电行为学习的过程包括:
56.a1.一个异构信息网络是一个图g=(v,e,a,x),其中v∈rn表示的是图g的节点,n表示的是节点的数量;e是图g的边;a∈rn×n为g的邻接矩阵;对于如果e
ij
∈e,则a
ij
=1,否则a
ij
=0;x∈rn×m表示的是节点的属性信息,m是属性信息的维数。
57.a2.采用图卷积神经网络(graphconvolutionalnetwork,gcn)学习每个节点的低维嵌入向量。各层的卷积操作如下:
[0058][0059]
其中,h
τ
表示的是第τ层的输出,同时它也是第τ+1层的输入。i表示的是偏差矩阵。表示的对角矩阵,w
τ
是第τ层的参数集合。δ(
·
)表示的是一个激活函数。
[0060]
在使用gcn进行相似性学习过程中,为了减少模型参数并避免过拟合现象的发生,本公开通过采用非负矩阵分解方法将hi(i=0,1,2,...,l-1)分解为两个低维矩阵,如下:
[0061]hi
=u
ivi
s.t.ui≥0,vi≥0
[0062]
其中,ui∈rn×d,li是第i层的输出维度,d是非负矩阵分解方法的输出维度。ui是hi的低维维度的表示向量。因此,第i+1层的输出表示为:
[0063]hi
←hi
||u0||
…
||u
i-1
[0064]
其中||表示的拼接操作。
[0065]
最后,通过mlp得到相似性向量z,从而实现相似性分组。
[0066]
z=mlp(hi)
[0067]
其中,z∈rn×k。
[0068]
步骤b:基于相似性用电行为分组,分别对不同组的用电行为数据进行上下文学习,获得用户的用电表示向量。
[0069]
其中,采用transformer机制对不同组的用电行为数据进行上下文学习。
[0070]
获得不同组用户的用电行为表示向量:
[0071]
q,k,v=embeddimg(x)
[0072][0073]
multihead(q,k,v)=concat(head1,...,head2,...,headh)wo[0074]
[0075]
其中,,表示的是参数向量。
[0076]
transformer层中的其余部分表示形式如下:
[0077]
h1=layer normalization(multihead(q,k,v)+x)
[0078]
h2=feed forward networks(h1)=relu(h1)wf+bf[0079]
h3=layer normalization(h1+h2)
[0080]
其中,wf和bf表示的参数矩阵,layer normalization表示的是层归一化方法,feed forward networks表示的是前向前馈网络。
[0081]
步骤c:采用图注意力机制来捕获相似性分组向量和不同组的用电表示向量之间相互依赖关系,从而获得用户的综合表示向量。
[0082]
采用图注意力机制(graph attention networks,gat)来捕获两者之间的相互依赖关系,从而获得用户的综合表示向量。实现如下:
[0083]
假设图中包含n个节点,每个节点的特征向量为hi,维度f,如下所示:
[0084]
h={h1,h2,...,hn}
[0085]
对节点特征向量h进行线性变换,可以得到新的特征向量h
′i,如下所示:
[0086]h′i=wh
i w∈rf′×f[0087]h′
={h
′1,h
′2,...,h
′n},h
′i∈rf′
[0088]
其中,w为线性变换的矩阵,f
′
表示的是变换矩阵的维度。
[0089]
引入图注意力网络,把节点i,j的特征向量h
′i,h
′j拼接在一起,然后和一个2f
′
维的向量a计算内积。激活函数采用leakyrelu函数,公式如下:
[0090][0091][0092]
其中,σ表示的是激活函数。
[0093]
步骤d:利用用户的综合表示向量,构建softmax预测函数;基于softmax预测函数输出值的损失函数训练相似性学习融合模型的学习参数。
[0094]
其中,采用反向传播算法训练相似性学习融合模型的学习参数。
[0095]
对待预测样本进行用户用电异常预测,将图注意力机制的输出输入softmax层进行异常检测,检测结果为:
[0096][0097]
其中,wy和by是可以学习的参数向量。
[0098]
对待测试样本进行用户异常检测,将检测结果进行推送,并与实际用电情况进行结果对比,本实施例采用准确率(accuray)、f1分数、接受者操作特征曲线下面积(area under the receiver operating characteristic curve,auroc)和精准召回率曲线下面积(area under the precision recall curve,auprc)来作为检测方法的评价指标。
[0099]
表1用电异常检测方法的性能
[0100][0101][0102]
基于表1中的结果可得,本实施例所提出的用电异常检测模型的性能优于其他方法。
[0103]
在一个或多个实施例中,所述的基于相似性学习融合模型的异常检测方法,还包括:
[0104]
将检测结果与实际用电情况进行对比,并根据对比结果进一步优化相似性学习融合模型中的数据权重值。
[0105]
在本实施例中,发明人进一步验证参数对提出的用电异常检测模型性能的影响。如图4(a)和图4(b)所示,纵轴表示检测性能,横轴参数(输入的维度),图4(a)表示的是模型参数中的输入维度d的变化在auroc指标上的影响,图4(b)表示的是模型参数中的输入维度d的变化在auprc指标上的影响。基于图4(a)和图4(b)中的结果可得,随着输入维度大小的变化,模型的影响也会随之发生变化,当输入维度为64时,模型的检测性能最优。因此,在本实施例中,发明人在实验验证中,将模型的输入维度设置为64。
[0106]
实施例二
[0107]
本实施例提供一种基于相似性学习融合模型的异常检测系统,其包括:
[0108]
信息获取模块,其用于获取待检测的用电信息;
[0109]
异常检测模块,其用于基于获取的用电信息及训练好的相似性学习融合模型进行用电异常检测;
[0110]
其中,所述相似性学习融合模型的训练过程为:
[0111]
基于预先获取的电力数据构建异构信息网络,同时进行用户相似性用电行为学习,得到相似性用电行为分组;
[0112]
基于相似性用电行为分组,分别对不同组的用电行为数据进行上下文学习,获得用户的用电表示向量;
[0113]
采用图注意力机制来捕获相似性分组向量和不同组的用电表示向量之间相互依赖关系,从而获得用户的综合表示向量;
[0114]
利用用户的综合表示向量,构建softmax预测函数;基于softmax预测函数输出值的损失函数训练相似性学习融合模型的学习参数。
[0115]
在一个或多个实施例中,所述的基于相似性学习融合模型的异常检测系统,还包括:
[0116]
反馈更新模块,其用于将检测结果与实际用电情况进行对比,并根据对比结果进一步优化相似性学习融合模型中的数据权重值。
[0117]
此处需要说明的是,本实施例中的各个模块与实施例一中的各个步骤一一对应,其具体实施过程相同,此处不再累述。
[0118]
实施例三
[0119]
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述所述的基于相似性学习融合模型的异常检测方法中的步骤。
[0120]
实施例四
[0121]
本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述所述的基于相似性学习融合模型的异常检测方法中的步骤。
[0122]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0123]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。