异常值检测模型的训练方法、异常值检测方法及系统与流程

文档序号:32883598发布日期:2023-01-12 21:08阅读:30来源:国知局
1.本发明涉及机器学习的时间序列数据分析异常检测领域,具体涉及异常值检测模型的训练方法、异常值检测方法及系统。
背景技术
::2.时间序列异常检测指通过提取时间序列的周期、趋势、统计信息等特征,分析序列的走势或取值的,准确找出序列中存在的与正常数据模式不一致,突变或超出正常范围的数据的方法或技术。3.时间序列异常检测是解决时序数据异常的重要方法。一般而言,时间序列数据被描述为一组按照时间顺序采样得到的观测值,它可以被分为单变量时间序列和多变量时间序列。电力能耗数据中包含有多个传感器所记录的数据信息,此外,优惠电价、用户特征、政策导向等社会层面的信息同样对电力系统产生不可忽视的调节作用,在电力大数据的分析中引入社会信息其作用不可忽视。4.时间序列数据的异常值监测是一个值得深入研究的问题,是数据处理中普遍存在的问题,对数据中的异常值进行监测是完成分类、预测等数据挖掘任务的前提条件。目前,为了检测时间序列数据中的异常,提出了广泛的算法和方法。虽然某些技术可能会结合多种方法的元素,但一般方法可以分为以下几组:5.1)基于统计学的方法。利用时序数据的统计特征对异常值进行检测是常用的方法,其计算复杂度相对较低,易于操作,能够快速完成检测任务。这些方法利用历史数据来模拟系统的预期行为。当收到新的观察数据时,会将其与该系统的当前模型进行比较,如果它不适合该模型,则将其注册为异常,常见方法有arima、ses等。6.2)基于机器学习的方法。机器学习算法试图在不假设特定生成模型的情况下检测时间序列数据集中的异常。它们基于这样一个事实,即无需了解数据的底层过程,即可进行时间序列预测和时间序列异常检测。因此,这些方法在统计领域之外具有不错的表现,在实践中有效执行。常见方法有基于聚类的stsc方法、dbscan、lof方法以及基于支持向量机的oc-svm方法等。7.3)基于深度学习的方法。近年来,由于神经网络在目标检测、分类和分割等计算机视觉任务或类似任务中取得了巨大的成果,人们越来越有兴趣将它们用于时间序列预测和时间序列分析。它们类似于经典的机器学习方法,不假定对底层数据生成过程有任何了解。使用神经网络进行时间序列预测为使用神经网络检测时间序列异常铺平了道路。rnn及其变种,如lstm、gru已被证明在序列数据建模方面具有强大的功能。目前已经提出了一系列使用rnn来捕捉多变量系统的时间特性的方法在识别数据异常方面取得了成功。它们一定程度上缓解了上述的问题,但由于rnn存在的梯度消失和爆炸等问题,当面对较长的输入序列时,这些模型仍无法对其中的全局依赖进行有效捕获。cnn主要用于计算机视觉中的目标检测、分类和分割等任务。近年来,人们使用cnn进行时间序列分析。cnn与可训练的小波变换层相结合,用于检测合成多元数据中的变化点。这种方法能够识别逐渐的概念漂移和输入数据分布随时间的变化,并且可以提供一种在异常出现之前检测异常的方法。动态贝叶斯网络dbn被应用于单变量和多变量环境数据,提出了对传感器数据执行实时异常检测的方法。基于图神经网络的方法学习变量之间的依赖关系。节点表示单个观察或观察序列,其中节点之间的权重较低,表示对其他节点的依赖性较低,该节点被标记为异常。基于生成对抗网络gan的模型是目前所采用的另一个主要方法。gan由生成器和鉴别器组成,生成器通过学习映射函数g(z),尝试将随机噪声向量z映射到真实的时间序列,而判别器则试图找到映射d(.),判断输入数据真实的概率,采用基于编码器-解码器的rnn结构作为生成器降低训练难度并提高异常识别检测的准确性。技术实现要素:8.为了解决现有技术中如何更有效的对包含社会信息数据的多元电力数据进行异常值监测的问题,本发明提出了一种异常值检测模型的训练方法,所述异常值检测模型包括判别器和预测模块,所述异常值检测模型的训练包括:9.以正常的多元电力能耗时序历史数据及多种历史社会信息数据作为输入时序数据;10.对所述输入时序数据进行动态编码得到各时刻的时间模式数据;11.利用所述各时刻的时间模式数据和输入时序数据对判别器和预测模块进行交替训练,直到所述判别器和预测模块达到最优状态;12.其中,所述预测模块用于:基于所述各时刻的时间模式数据计算得到下一时刻的时间模式数据;所述判别器用于:基于社会信息和多元电力能耗时序数据间的依赖关系对输入时序数据和下一时刻的时间模式数据进行异常值检测。13.优选的,所述以正常的多元电力能耗时序历史数据及多种历史社会信息数据作为输入时序数据,包括:14.对各种历史社会信息数据分别进行编码;15.将所述正常的电力能耗时序数据和所述多种历史社会信息数据对应的编码拼接作为输入时序数据。16.优选的,所述对各种历史社会信息数据分别进行编码,包括:17.将历史社会信息数据中的数值信息进行归一化处理,得到归一化后的数值;18.将历史社会信息数据中的标签类信息进行编号,得到标签编号;19.将历史社会信息数据中的文本信息进行关键词提取分类,得到分类后的文本信息;20.由归一化后的数值、标签编号和/或分类后的文本信息作为社会信息的数值数据;21.其中,所述社会信息包括下述中的一种或多种:数值信息、标签类信息、文本信息。22.优选的,所述对所述输入时序数据进行动态编码得到各时刻的时间模式数据,包括:23.将所述输入时序数据分别输入卷积神经网络和长短期记忆网络,得到各时刻的全局时间模式信息和局部时间模式信息;24.将所述各时刻的全局时间模式信息和局部时间模式信息保存至记忆模块,进行匹配与更新;25.其中,所述时间模式数据包括:全局时间模式信息和局部时间模式信息。26.优选的,所述利用所述各时刻的时间模式数据和输入时序数据对判别器和预测模块进行交替训练,直到所述判别器和预测模块达到最优状态,包括:27.固定预测模块的参数,将所述各时刻的时间模式数据和输入时序数据输入到判别器进行训练;28.固定判别器的参数,将所述各时刻的时间模式数据输入到预测模块进行训练。29.优选的,所述固定预测模块的参数,将所述各时刻的时间模式数据和输入时序数据输入到判别器进行训练,包括:30.将所述全局时间模式信息和局部时间模式信息输入到编码器中进行注意力计算,得到社会信息与多元电力能耗时序数据间的依赖关系;31.将所述编码器的输出值输入到解码器进行解码预测,得到解码器的输出值作为预测值;32.将所述输入时序数据输入到判别器中,对真实数据的辨别能力进行训练;33.将所述预测值输入到判别器中,对假数据的辨别能力进行训练;34.其中,所述预测模块包括:编码器和解码器。35.优选的,所述固定判别器的参数,将所述各时刻的时间模式数据输入到预测模块进行训练,包括:36.s1:将t时刻的全局时间模式信息和局部时间模式信息输入到预测模块,得到t+1时刻的预测值,其中t为正整数;37.s2:将所述t+1时刻的预测值输入到训练好的判别器中与所述训练集中t+1时刻的数据进行判别;38.s3:当所述t+1时刻的预测值与所述训练集中t+1时刻的数据相比较超出设定阈值时,令t=t+1返回s1;39.当所述t+1时刻的预测值与所述训练集中t+1时刻的数据相比较没有超出设定阈值时,固定当前的参数,得到训练好的预测模块。40.再一方面,本发明还提出了一种异常值检测模型的训练系统,所述异常值检测模型包括判别器和预测模块,所述异常值检测模型的训练包括:41.输入模块,用于以正常的多元电力能耗时序历史数据及多种历史社会信息数据作为输入时序数据;42.编码模块,用于对所述输入时序数据进行动态编码得到各时刻的时间模式数据;43.训练模块,用于利用所述各时刻的时间模式数据和输入时序数据对判别器和预测模块进行交替训练,直到所述判别器和预测模块达到最优状态;44.其中,所述预测模块用于:基于所述各时刻的时间模式数据计算得到下一时刻的时间模式数据;所述判别器用于:基于社会信息和多元电力能耗时序数据间的依赖关系对输入时序数据和下一时刻的时间模式数据进行异常值检测。45.优选的,所述输入模块,包括:46.信息编码子模块,用于对各种历史社会信息数据分别进行编码;47.信息拼接子模块,用于将所述正常的电力能耗时序数据和所述多种历史社会信息数据对应的编码拼接作为输入时序数据。48.优选的,所述信息编码子模块,具体用于:49.将历史社会信息数据中的数值信息进行归一化处理,得到归一化后的数值;50.将历史社会信息数据中的标签类信息进行编号,得到标签编号;51.将历史社会信息数据中的文本信息进行关键词提取分类,得到分类后的文本信息;52.由归一化后的数值、标签编号和/或分类后的文本信息作为社会信息的数值数据;53.其中,所述社会信息包括下述中的一种或多种:数值信息、标签类信息、文本信息。54.优选的,所述编码模块,具体用于:55.将所述输入时序数据分别输入卷积神经网络和长短期记忆网络,得到各时刻的全局时间模式信息和局部时间模式信息;56.将所述各时刻的全局时间模式信息和局部时间模式信息保存至记忆模块,进行匹配与更新;57.其中,所述时间模式数据包括:全局时间模式信息和局部时间模式信息。58.优选的,所述训练模块,包括:59.判别器训练子模块,用于固定预测模块的参数,将所述各时刻的时间模式数据和输入时序数据输入到判别器进行训练;60.预测模块训练子模块,用于固定判别器的参数,将所述各时刻的时间模式数据输入到预测模块进行训练。61.优选的,所述判别器训练子模块,具体用于:62.将所述全局时间模式信息和局部时间模式信息输入到编码器中进行注意力计算,得到社会信息与多元电力能耗时序数据间的依赖关系;63.将所述编码器的输出值输入到解码器进行解码预测,得到解码器的输出值作为预测值;64.将所述输入时序数据输入到判别器中,对真实数据的辨别能力进行训练;65.将所述预测值输入到判别器中,对假数据的辨别能力进行训练;66.其中,所述预测模块包括:编码器和解码器。67.优选的,所述预测模块训练子模块,具体用于:68.s1:将t时刻的全局时间模式信息和局部时间模式信息输入到预测模块,得到t+1时刻的预测值,其中t为正整数;69.s2:将所述t+1时刻的预测值输入到训练好的判别器中与所述训练集中t+1时刻的数据进行判别;70.s3:当所述t+1时刻的预测值与所述训练集中t+1时刻的数据相比较超出设定阈值时,令t=t+1返回s1;71.当所述t+1时刻的预测值与所述训练集中t+1时刻的数据相比较没有超出设定阈值时,固定当前的参数,得到训练好的预测模块。72.基于同一发明构思,本发明还提出了一种异常值检测方法,包括:73.获取当前时刻的多元电力能耗时序数据及对应的多种社会信息数据;74.对各种社会信息数据分别进行编码;75.将所述电力能耗时序数据和多种社会信息数据对应的编码拼接得到输入时序数据;76.基于所述输入时序数据,利用训练好的异常值检测模型对所述输入时序数据是否正确进行验证以及对预测结果进行验证;77.其中,所述异常值检测模型如上述任一所述方法训练得到。78.优选的,所述基于所述输入时序数据,利用训练好的异常值检测模型对所述输入时序数据是否正确进行验证以及对预测结果进行验证,包括:79.将所述输入时序数据分别输入到卷积神经网络和长短期记忆网络,得到全局时间模式信息和局部时间模式信息;80.将所述全局时间模式信息和局部时间模式信息输入到预测模块,得到下一时刻的预测值;81.将所述输入时序数据和下一时刻的预测值输入判别器进行判别,并输出判别结果。82.优选的,所述将所述输入时序数据和下一时刻的预测值输入判别器进行判别,并输出判别结果,包括:83.当所述输入时序数据中的社会信息数据与多元电力能耗时序数据不符合模型中的依赖关系时,判别为异常值数据;84.当所述下一时刻的预测值超出设定阈值时,下一时刻预测值判别为异常值数据。85.再一方面,本发明还提出了一种异常值检测系统,包括:86.数据获取模块,用于获取当前时刻的多元电力能耗时序数据及对应的多种社会信息数据;87.数据编码模块,用于对各种社会信息数据分别进行编码;88.数据拼接模块,用于将所述电力能耗时序数据和多种社会信息数据对应的编码拼接得到输入时序数据;89.异常检测模块,用于基于所述输入时序数据,利用训练好的异常值检测模型对所述输入时序数据是否正确进行验证以及对预测结果进行验证;90.其中,所述异常值检测模型如上述任一所述方法训练得到。91.优选的,所述异常检测模块,包括:92.时间模式数据子模块,用于将所述输入时序数据分别输入到卷积神经网络和长短期记忆网络,得到全局时间模式信息和局部时间模式信息;93.预测子模块,用于将所述全局时间模式信息和局部时间模式信息输入到预测模块,得到下一时刻的预测值;94.判别子模块,用于将所述输入时序数据和下一时刻的预测值输入判别器进行判别,并输出判别结果。95.优选的,所述判别子模块,具体用于:96.当所述输入数据中的社会信息数据与多元电力能耗时序数据不符合模型中的依赖关系时,输入数据判别为异常值数据;97.当所述下一时刻的预测值超出设定阈值时,下一时刻预测值判别为异常值数据。98.再一方面,本发明还提出了一种计算机设备,包括:99.一个或多个处理器;100.处理器,用于执行一个或多个程序;101.当所述一个或多个程序被所述一个或多个处理器执行时,实现上述的一种异常值检测模型的训练方法或一种异常值检测方法。102.再一方面,本发明还提出了一种计算机可读存储介质,其上存有计算机程序,所述计算机程序被执行时,实现上述的一种异常值检测模型的训练方法或一种异常值检测方法。103.与现有技术相比,本发明的有益效果为:104.一种异常值检测模型的训练方法及系统,所述异常值检测模型包括判别器和预测模块,所述异常值检测模型的训练包括:以正常的多元电力能耗时序历史数据及多种历史社会信息数据作为输入时序数据;对所述输入时序数据进行动态编码得到各时刻的时间模式数据;利用所述各时刻的时间模式数据和输入时序数据对判别器和预测模块进行交替训练,直到所述判别器和预测模块达到最优状态;其中,所述预测模块用于:基于所述各时刻的时间模式数据计算得到下一时刻的时间模式数据;所述判别器用于:基于社会信息和多元电力能耗时序数据间的依赖关系对输入时序数据和下一时刻的时间模式数据进行异常检测;本发明通过动态编码得到各时刻的时间模式数据用以识别检测,能更准确的识别检测到异常值数据;本发明采用判别器和预测结果的阈值判别进行异常检测,可以提高整体网络模型的性能,能够更有效的进行异常值检测;105.一种异常值检测方法及系统,包括:获取当前时刻的多元电力能耗时序数据及对应的多种社会信息数据;对各种社会信息数据分别进行编码;将所述电力能耗时序数据和多种社会信息数据对应的编码拼接得到输入时序数据;基于所述输入时序数据,利用训练好的异常值检测模型对所述输入时序数据是否正确进行验证以及对预测结果进行验证;其中,所述异常值检测模型如上述任一所述方法训练得到;本发明对社会信息等数据进行编码并对时序数据降维处理,降低异常检测的噪声、冗余等数据影响,能够更有效地对有社会信息数据的多元电力数据进行异常值检测。附图说明106.图1为本发明的一种异常值检测模型的训练方法流程图;107.图2为本发明的模型结构图;108.图3(a)为本发明的var模型异常检测预测效果对比图;109.图3(b)为本发明的采用oc-svm异常检测方法与预测效果对比图;110.图3(c)为本发明的采用lstm-vae异常检测方法与预测效果对比图;111.图3(d)本发明的采用异常值检测模型异常检测方法与预测效果对比图1。112.图3(e)本发明的采用异常值检测模型异常检测方法与预测效果对比图2。具体实施方式113.本发明研究包含社会信息的电力能耗数据异常值的检测方法。随着智能电网的发展与信息技术的高度渗透,电力系统面对大空间尺度、小时间尺度和多数据类型的海量信息,给电力大数据的发展与应用提供机遇。电力大数据结合电力系统生产数据、运营数据、管理数据以及社会信息数据等信息,充分整合挖掘数据内容,给电力系统发电、输电、变电、配电和调度等各个环节带来了新的发展契机。本发明通过对已有数据进行异常检测,提高电力能耗数据的可用性,为后续通过多元电能数据预测准确性的提升提供理论依据与指导,减少预测的不稳定性与不确定性,降低能耗不必要的损耗,提升利用效率,能够更高效合理分配电力能源。提出了一个基于深度学习神经网络的多元时序数据异常检测方法。模型能够编码社会信息数据并捕获多元时序数据的全局模式和时间相关性信息,使其对异常值数据进行准确的识别检测;模型引入了记忆模块用来存储时序数据的时序模式。考虑到电力数据与社会信息数据的复杂性与数据的高纬度,我们对社会信息等数据进行编码并对时序数据降维处理,降低异常检测的噪声、冗余等数据影响。上述方法的实现能够有效地对有社会信息数据的多元电力数据进行异常值监测任务。为了更好地理解本发明,下面结合说明书附图和实施例对本发明的内容做进一步的说明。114.实施例1:115.一种异常值检测模型的训练方法,所述异常值检测模型包括判别器和预测模块,所述异常值检测模型的训练具体过程如图1所示,包括:116.步骤1,以正常的多元电力能耗时序历史数据及多种历史社会信息数据作为输入时序数据;117.步骤2,对所述输入时序数据进行动态编码得到各时刻的时间模式数据;118.步骤3,利用所述各时刻的时间模式数据和输入时序数据对判别器和预测模块进行交替训练,直到所述判别器和预测模块达到最优状态;119.其中,所述预测模块用于:基于所述各时刻的时间模式数据计算得到下一时刻的时间模式数据;所述判别器用于:基于社会信息和多元电力能耗时序数据间的依赖关系对输入时序数据和下一时刻的时间模式数据进行异常检测。120.步骤1中的,以正常的多元电力能耗时序历史数据及多种历史社会信息数据作为输入时序数据,包括:121.我们以具体场景的应用来详细描述方法的训练流程:本实验中,我们使用了2021年整年某地实际采集的电力能耗数据集作为训练数据,共三万五千条数据,并通过收集当地电站的光伏照射幅度,风力,风向,温度以及气压数据作为了社会信息项数据对能耗数据进行社会面信息的补充。电力能耗的变化会在一定程度上受到气候环境因素的影响,因此在本实验中选取了如上的几种类型数据辅助判断异常数据。对于数据集的划分,训练集、测试集与验证集的比例为8:1:1。122.在训练开始前,对于社会信息数据中的风向文本数据通过角度编码转化为数值获得整体的社会信息数据s={s光伏,s风力,s风向,s温度,s气压}。将社会信息与电力能耗进行维度的拼接,即每一个时刻t的模型输入数据为xt={x,s光伏,s风力,s风向,s温度,s气压},其中x为电能数据,得到整体的输入数据为x={x1,x2,x3....xt}。由于电能数据和社会信息在时间维度上并不完全匹配,以本实验为例,能耗数据的时间间隔为15分钟,社会信息的时间间隔为1分钟,因此在时间维度上我们将社会信息间隔向上调整,取每15分钟间隔的数据保持与能耗数据的对齐。对拼接后的整体数据x我们使用pca主成分分析获取关键列数据,得到编码后的数据pxt={px1,px2...pxn},由于使用了pca,对比xt数据的维度降低,数据维度的降低使得px去除了原始数据中存在的可能与能耗异常判断无关的数据项,编码后的数据pxt将作为深度学习模型的输入。123.步骤2中的,对所述输入时序数据进行动态编码得到各时刻的时间模式数据,包括:124.随后,将px数据分别的送入cnn与lstm进行计算,cnn通过卷积核进行卷积操作,能够将输入数据进行抽象,压缩,通过多层卷积就能抽取出数据的全局性变化,lstm通过循环神经网络计算能够对短期内的时间变化趋势有更好的拟合。对于cnn的输出结果cxt*d1,t个时间步,每个时间步骤维度为d1;和lstm的输出结果lxt*d2,t个时间步,每个时间步骤维度为d2;进行维度拼接获得内存模块的输入mxt*(d1+d2)。对mx输入在内存模块中进行匹配与更新,若模块内无与px相近的时间模式,则将其添加近内存模块。125.步骤3中的,利用所述各时刻的时间模式数据和输入时序数据对判别器和预测模块进行交替训练,直到所述判别器和预测模块达到最优状态,包括:126.随后将mx输入注意力矩阵进行注意力计算,获得解码器的输出作为整体模型的预测结果,通过卷积网络的判别器的判别即可对异常数据进行判断。随着模型预测与判别器的交替训练,逐步提升异常监测的准确性。图3(a)、图3(b)、图3(c)、图3(d)和图3(e)即为本模型在当前数据集下的实际应用效果与其他模型的对比图。127.社会信息数据的变化可能会导致电能数据的变化,比如气温的升高会导致用电量的增加,对于两者关系的提取我们主要通过模型的pca进行主成分分析后提取出主要成分,然后在网络模型中通过神经网络训练来提出两部分可能内在的依赖关系。128.在训练过程中,网络模型的输入全部为正常的电力能耗数据,预测模块与判别器交替训练实现更好的预测结果与更好的判别准确性,其交替训练的具体流程如下:129.我们首先固定预测模块的网络参数,训练判别器,利用真实样本数据输入到判别器中,通过损失降低更新判别器,使判别器识别真实数据的能力提升。然后,通过预测模块生成假样本数据,将生成的样本数据输入判别器,提升判别器对于假数据的辨别能力。130.之后,固定判别器参数,进行预测模块的网络参数训练,提升其预测精度。重复上述步骤直到两部分损失值降低,完成模型训练。131.在异常检测阶段,由预测模块输出预测结果xp到判别器d中进行判定,判别器检定数据真假是否异常,同时,对预测结果进行阈值判断,当其数据范围发生突变超出阈值也判定为异常值数据。以上即为本发明所提出的模型设计。132.实施例2:133.一种异常值检测模型的训练系统,所述异常值检测模型包括判别器和预测模块,所述异常值检测模型的训练包括:134.输入模块,用于以正常的多元电力能耗时序历史数据及多种历史社会信息数据作为输入时序数据;135.编码模块,用于对所述输入时序数据进行动态编码得到各时刻的时间模式数据;136.训练模块,用于利用所述各时刻的时间模式数据和输入时序数据对判别器和预测模块进行交替训练,直到所述判别器和预测模块达到最优状态;137.其中,所述预测模块用于:基于所述各时刻的时间模式数据计算得到下一时刻的时间模式数据;所述判别器用于:基于社会信息和多元电力能耗时序数据间的依赖关系对输入时序数据和下一时刻的时间模式数据进行异常值检测。138.所述输入模块,包括:139.信息编码子模块,用于对各种历史社会信息数据分别进行编码;140.信息拼接子模块,用于将所述正常的电力能耗时序数据和所述多种历史社会信息数据对应的编码拼接作为输入时序数据。141.所述信息编码子模块,具体用于:142.将历史社会信息数据中的数值信息进行归一化处理,得到归一化后的数值;143.将历史社会信息数据中的标签类信息进行编号,得到标签编号;144.将历史社会信息数据中的文本信息进行关键词提取分类,得到分类后的文本信息;145.由归一化后的数值、标签编号和/或分类后的文本信息作为社会信息的数值数据;146.其中,所述社会信息包括下述中的一种或多种:数值信息、标签类信息、文本信息。147.所述编码模块,具体用于:148.将所述输入时序数据分别输入卷积神经网络和长短期记忆网络,得到各时刻的全局时间模式信息和局部时间模式信息;149.将所述各时刻的全局时间模式信息和局部时间模式信息保存至记忆模块,进行匹配与更新;150.其中,所述时间模式数据包括:全局时间模式信息和局部时间模式信息。151.所述训练模块,包括:152.判别器训练子模块,用于固定预测模块的参数,将所述各时刻的时间模式数据和输入时序数据输入到判别器进行训练;153.预测模块训练子模块,用于固定判别器的参数,将所述各时刻的时间模式数据输入到预测模块进行训练。154.所述判别器训练子模块,具体用于:155.将所述全局时间模式信息和局部时间模式信息输入到编码器中进行注意力计算,得到社会信息与多元电力能耗时序数据间的依赖关系;156.将所述编码器的输出值输入到解码器进行解码预测,得到解码器的输出值作为预测值;157.将所述输入时序数据输入到判别器中,对真实数据的辨别能力进行训练;158.将所述预测值输入到判别器中,对假数据的辨别能力进行训练;159.其中,所述预测模块包括:编码器和解码器。160.所述预测模块训练子模块,具体用于:161.s1:将t时刻的全局时间模式信息和局部时间模式信息输入到预测模块,得到t+1时刻的预测值,其中t为正整数;162.s2:将所述t+1时刻的预测值输入到训练好的判别器中与所述训练集中t+1时刻的数据进行判别;163.s3:当所述t+1时刻的预测值与所述训练集中t+1时刻的数据相比较超出设定阈值时,令t=t+1返回s1;164.当所述t+1时刻的预测值与所述训练集中t+1时刻的数据相比较没有超出设定阈值时,固定当前的参数,得到训练好的预测模块。165.实施例3:166.一种异常值检测方法,包括:167.步骤1,获取当前时刻的多元电力能耗时序数据及对应的多种社会信息数据;168.步骤2,对各种社会信息数据分别进行编码;169.步骤3,将所述电力能耗时序数据和多种社会信息数据对应的编码拼接得到输入时序数据;170.步骤4,基于所述输入时序数据,利用训练好的异常值检测模型对所述输入时序数据是否正确进行验证以及对预测结果进行验证;171.其中,所述异常值检测模型如实施例1所述方法训练得到。172.步骤3中的,将所述电力能耗时序数据和多种社会信息数据对应的编码拼接得到输入时序数据,包括:173.本发明在多元电力能耗数据的基础上整合了复杂的社会信息数据,进行多种形式的社会信息编码。对于数值信息、标签类别信息与社会文本信息分别进行归一化处理、标签编号与关键词提取分类操作。获得多维社会信息数据并与电力能耗数据拼接。174.步骤4中的,基于所述输入时序数据,利用训练好的异常值检测模型对所述输入时序数据是否正确进行验证以及对预测结果进行验证,包括:175.本发明描述了一种时间序列数据异常值检测的方法,提出的网络结构如图2所示。模型共包含四部分‑‑以transformer为主体的数据预测模块、通过cnn卷积和lstm循环神经网络实现时序模式提取的模块以及使用gan判别器的异常判别模块。带有编码社会信息的多元电力时序数据x经过数据降维后进入网络,分别使用cnn与lstm提取电力时序数据的短期与长期时间模式信息并存储于记忆模块内用于模式比较,另一方面将网络输入数据传入transformer注意力机制中捕获多元变量与社会信息间存在的变量间依赖关系信息,通过将时间与空间依赖关系整合获得数据预测结果,对于预测结果,我们使用判别器对是否为异常数据进行判断,若存在异常数据则标记为假数据由此完成时序异常检测任务。176.本发明的整体思想是基于预测重构检测异常值数据的方法,通过深度学习算法获得时间序列的预测值,再根据对抗性生成网络的思想,利用判别器模型对生成数据的时间模式进行判定并进一步提升预测结果的准确性,若预测结果与实际数据相差大,被判别器判别为假或预测值超出合理的阈值,则可以判定为异常值。177.注意力机制思想能够用于捕获时序数据的多维变量之间存在的依赖关系。同时,在多头注意力中,不同的注意力头可以着重学习时间模式的不同方面。在自注意力层中,输入数据x转化为q,k,v,其中l表示长度,d表示数据维度。通过经典注意力机制计算得到缩放后的向量输出:[0178][0179]经过注意力计算的数据能够实现对数据的预测任务。然而由于softmax的存在,随着输入长度的增加,注意力矩阵的计算会消耗大量的内存,这使得我们不得不限制输入。这导致了注意力机制对于长序列时间模式的提取能力下降。因此我们引入cnn和lstm来存储全局和局部的时间模式信息进一步提高数据预测的可信性。[0180]本发明同时使用cnn与lstm处理输入网络的编码数据,cnn编码获得当前时刻下的全局时间模式,其全局信息经过压缩卷积,为全局的变化趋势信息,lstm存储局部的详细时间模式信息。对于当前时刻获得的全局与局部的时间模式编码存入我们设计的记忆模块中进行匹配与更新,维护动态更新的时间模式数据。同时将两者输入到编码器中进行注意力计算,注意力机制对时间模式的动态编码与原始编码输入进行拼接并计算以提取变量之间的相关依赖。在完成注意力机制的编码阶段后,编码器的输出作为解码器的输入,进行解码预测,再次阶段后获得解码器输出,也就是网络模型的预测结果。[0181]在获得预测结果后,本发明使用一个两层的卷积神经网络作为判别器d对预测结果是否为异常值进行判定,检测并提高预测结果。在异常检测阶段,由预测模块输出预测结果xp到判别器d中进行判定,判别器检定数据真假是否异常,同时,对预测结果进行阈值判断,当其数据范围发生突变超出阈值也判定为异常值数据。[0182]技术流程:[0183]本文提出模型的多元电力能耗时序数据的异常检测算法流程,如图2所示。[0184]算法输入:多元电力能耗时序数据x={x1,x2,...xt}及社会信息数据s={s1,s2,...sn}[0185]算法输出:异常值数据项[0186]第一步,数据编码:[0187]通过对社会信息编码将文本数据转化为数值数据并入多元时序数据中形成完整的网络输入数据。[0188]第二步,数据降维:[0189]对于在第一步中获得的完整数据,我们使用pca主成分分析方法进行数据降维处理,去除冗余数据以及噪声,提升数据质量、预测精度。[0190]第三步,提取时间模式:[0191]使用cnn和lstm分别获取当前输入网络时刻的编码数据的全局时间模式整体变化趋势与局部细节时间模式,将二者拼接获取完整时间模式状态并进行记录。[0192]第四步,注意力计算:[0193]将到t时刻的编码后的时序数据输入与第三步获取的时间模式信息拼接作为注意力矩阵计算的输入,经过注意力机制获得编码器的输出。[0194]第五步,模型更新:[0195]通过解码器获得t+1时刻的预测值,利用卷积神经网络作为判别器进行训练,对预测结果进行判别,同时综合预测值阈值判断给出判别的结果。[0196]第六步,交替训练:[0197]模型预测与判别器分别固定参数并训练,使两者优化梯度下降完成模型训练。[0198]第七步,结束。[0199]算法终止。[0200]实施例4:[0201]一种异常值检测系统,包括:[0202]数据获取模块,用于获取当前时刻的多元电力能耗时序数据及对应的多种社会信息数据;[0203]数据编码模块,用于对各种社会信息数据分别进行编码;[0204]数据拼接模块,用于将所述电力能耗时序数据和多种社会信息数据对应的编码拼接得到输入时序数据;[0205]异常检测模块,用于基于所述输入时序数据,利用训练好的异常值检测模型对所述输入时序数据是否正确进行验证以及对预测结果进行验证;[0206]其中,所述异常值检测模型如实施例1所述方法训练得到。[0207]所述异常检测模块,包括:[0208]时间模式数据子模块,用于将所述输入时序数据分别输入到卷积神经网络和长短期记忆网络,得到全局时间模式信息和局部时间模式信息;[0209]预测子模块,用于将所述全局时间模式信息和局部时间模式信息输入到预测模块,得到下一时刻的预测值;[0210]判别子模块,用于将所述输入时序数据和下一时刻的预测值输入判别器进行判别,并输出判别结果。[0211]所述判别子模块,具体用于:[0212]当所述输入数据中的社会信息数据与多元电力能耗时序数据不符合模型中的依赖关系时,输入数据判别为异常值数据;[0213]当所述下一时刻的预测值超出设定阈值时,下一时刻预测值判别为异常值数据。[0214]实施例5:[0215]为了验证本发明提出的方法在电力能耗数据异常值检测任务上的性能表现,我们基于真实采集的电力能耗数据集进行了对比实验并对实验结果进行分析。[0216]此数据集真实记录了2021年某地的电力能耗信息,其中变量包括用电日期、时间、用电量、用户标签和各场景类型标签。数据集完整的包含了一年内电能数据随季节、气温等变化所引起的长短周期模式、长期趋势、季节趋势以及不规则的时序模式。进一步的,为了考虑社会信息对电力能耗变化的影响,我们从多方选取了与电能数据处于同一时段、同一地区的多种形式的社会信息数据、包括地区环境温度状态、气压、风力风速状态以及光照幅度等。我们对数据集进行了整合,在此数据集上训练并测试模型的异常检测能力。[0217]对于性能评估,我们采用三个标准评估指标:准确率(precision)、召回率(recall)和f1-score。它们采用以下形式:[0218]precision=tp/(tp+fp)[0219]recall=tp/(tp+fn)[0220]f1-score=2*(precision*recall)/(precision+recall)[0221]其中tp代表检测到的真正异常的数量,fp表示错误检测到的异常,fn是未检测到的异常。召回率越高,捕捉到的异常越多。同时,准确率越高,误报越少。[0222]本文实验使用inteli7-2600cpu,grforcegtx1080ti显卡的计算机完成,模型代码基于python和pytorch框架搭建。我们对数据集进行了整合,在此数据集上训练本文模型测试其异常检测能力,数据集划分按时间顺序分为训练集(60%),验证集(20%)和测试集(20%),选择adam策略优化模型同时使用了从1e-4到5e-8衰减的学习率。[0223]实验性能比较:[0224]我们分别选择3种异常检测算法进行比较,包括lof、oc-svm以及lstm-vae。lof算法使用分配离群值程度的方式进行离群值检测;ocsvm根据数据密度高低进行异常值划分;lstm-vae由vae压缩输入数据并提取特征,后输入lstm进行异常检测并进行归类预测,预测结果输入vae重构,二者结合进一步提高模型诊断精度。此外,我们对社会信息数据进行了对比实验,我们去除了社会信息数据,仅使用电力数据来评估我们模型方法的性能以此和包含社会信息数据的完整输入进行对比。[0225]表1展示了4种时序异常检测模型在数据集上进行多变量时序数据异常检测的评估结果,每行为特定模型各项指标的结果。如表1所示,通过实验证明了本文提出的考虑社会信息融合的多元时序异常检测模型在性能上的优势。[0226][0227]表1不同模型的各项评价指标性能[0228]table1theperformanceofvariousevaluationindicatorsofdifferentmodels[0229]从实验数据对比几个模型,本文提出的模型整体上优于其他传统已有的时序异常检测模型方法。本发明提出的模型能够编码社会信息数据并捕获多元时序数据的全局和局部时间模式信息,使其对异常数据进行准确的识别检测;方法通过社会信息编码并引入数据降维来增加社会信息对异常发生的考量同时减少了冗余数据与噪声的影响。对比包含社会信息数据的与不含社会信息输入的两种性能结果,含有社会信息数据输入的方法其性能评价具有更优的数据,这说明了我们对于社会信息的处理以及使用社会信息进行异常值监测的补充分析是合理有效的,社会信息切实影响了多元电力能耗数据的变化趋势与时间模式变化。本方法引入了内存模块用来存储时序数据的时序模式,同时考虑到局部时间相关性与全局时间相关性。在对异常值进行检测时,综合考虑预测结果阈值限制和判别器的判别效果,提升了检测性能,两者交替训练进一步优化了模型参数。通过实验,我们验证了模型相较其他异常检测算法具有更高的准确性。[0230]实施例6:[0231]基于同一发明构思,本发明再一个实施例中,提供了一种计算机设备,该计算机设备包括处理器以及存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于执行所述计算机存储介质存储的程序指令。处理器可能是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor、dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行计算机存储介质内一条或一条以上指令从而实现相应方法流程或相应功能;本发明实施例所述的处理器可以用于执行一种异常值检测模型的训练方法或一种异常值检测方法的步骤。[0232]实施例7:[0233]基于同一发明构思,本发明再一个实施例中,本发明还提供了一种存储介质,具体为计算机可读存储介质(memory),所述计算机可读存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速ram存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。可由处理器加载并执行计算机可读存储介质中存放的一条或一条以上指令,以实现上述实施例中一种异常值检测模型的训练方法或一种异常值检测方法相应步骤。[0234]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。[0235]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。[0236]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。[0237]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。[0238]以上仅为本发明的实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均包含在发明待批的本发明的权利要求范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1