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

电力数据预测模型构建方法、装置、设备、介质及程序

2022-05-18 16:24:52 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,尤其涉及一种电力数据预测模型构建方法、装置、设备、介质及程序。


背景技术:

2.现代电力系统建设了一系列先进的智能监控基础设施,这些设备可以产生大量数据,对这些数据进行处理分析可以得到许多有效信息,从而得以了解电力设备的运行状况以及用户的用电情况。通过对历史数据的分析研究可以预测未来的用电数据,从而对电力设备的运行状态的改变进行一系列决策。智能电网旨在达到节约能源、降低损耗、增强电网可靠性的目的,这对电力系统的可信决策提出了更高的要求。
3.现有技术中有利用电力数据样本训练长短期记忆网络(lstm),然后利用长短期记忆网络进行电力数据预测的技术方案,但是上述方案局限于单一电力系统,无法对多个电力系统进行统一调度处理,其使用范围较为局限,如果将电力数据集中进行分析利用,可能还会牵扯到法律法规、用户的隐私及数据安全,数据计算量较大的问题。
4.对于现有技术中电力数据预测的技术方案使用范围较为局限,跨电力系统的电力数据集中分析利用存在数据保护壁垒,数据计算量较大的缺陷,本发明提供电力数据预测模型构建方法、装置、设备、介质及程序。


技术实现要素:

5.本发明提供一种电力数据预测模型构建方法、装置、设备、介质及程序,用以解决现有技术中电力数据预测的技术方案使用范围较为局限,跨电力系统的电力数据集中分析利用存在数据保护壁垒,数据计算量较大的缺陷。
6.本发明提供一种电力数据预测模型构建方法,包括:
7.将上一迭代轮次得到的全局模型发送至各区块链节点;其中,所述全局模型用于进行电力数据预测;在首轮迭代的情况下,根据全局电力数据样本训练深度神经网络模型,得到初始全局模型并发送至各区块链节点;
8.接收各区块链节点返回的局部模型;其中,所述局部模型是各区块链节点根据本地的电力数据样本训练所述上一迭代轮次得到的全局模型得到的;
9.对所述各区块链节点返回的局部模型进行聚合,得到当前迭代轮次的全局模型;
10.在所述当前迭代轮次的全局模型满足预设迭代停止条件的情况下,将所述当前迭代轮次的全局模型作为电力数据预测模型。
11.根据本发明提供的一种电力数据预测模型构建方法,所述将上一迭代轮次得到的全局模型发送至各区块链节点之前,方法还包括:
12.将待处理的电力数据样本聚类为t簇;其中,所述t为预设的整数;
13.对于第i簇电力数据样本,判断其中正常电力数据样本的比例;其中,1≤i≤t,i为整数;
14.在所述比例大于第一预设阈值且小于1的情况下,对所述第i簇电力数据样本中的异常电力数据样本进行扩充;
15.将所述扩充异常电力数据样本后的所述第i簇电力数据样本作为所述本地的电力数据样本和/或所述全局电力数据样本的一部分。
16.根据本发明提供的一种电力数据预测模型构建方法,在所述比例大于第一预设阈值且小于1的情况下,对所述第i簇电力数据样本中的异常电力数据样本进行扩充,包括:
17.对所述第i簇电力数据样本中的所有电力数据样本进行归一化;
18.根据归一化后的第i簇电力数据样本中的所有异常电力数据样本,确定所述第i簇电力数据样本中的所有异常电力数据样本的簇心;
19.根据所述第i簇电力数据样本中的异常电力数据样本,以及所述第i簇电力数据样本中的所有异常电力数据样本的簇心,生成所述第i簇电力数据样本的新增异常电力数据样本;
20.在加入所述新增异常电力数据样本后,所述第i簇电力数据样本正常电力样本数据的比例仍大于所述第一预设阈值且小于的情况下,迭代执行生成所述第i簇电力数据样本的新增异常电力数据样本的步骤;
21.在加入所述新增异常电力数据样本后,所述第i簇电力数据样本正常电力样本数据的比例小于或等于所述第一预设阈值的情况下,将所有新增异常电力数据样本进行反归一化,并将反归一化后的所有新增异常电力数据样本加入所述第i簇电力数据样本中。
22.根据本发明提供的一种电力数据预测模型构建方法,根据所述第i簇电力数据样本中的异常电力数据样本,以及所述第i簇电力数据样本中的所有异常电力数据样本的簇心,生成所述第i簇电力数据样本的新增异常电力数据样本,根据如下公式执行;
23.y
new
=ci rand(0,1)
×
(y
j-ci)
24.其中,y
new
为新增异常电力数据样本,ci表示第i簇电力数据样本中的所有异常电力数据样本的簇心,rand(0,1)表示在0和1之间随机选取一个值,yj为第i簇电力数据样本中原始的第j个异常电力数据样本,j=(1,2..k),j为第i簇电力数据样本中的所有异常电力数据样本个数。
25.根据本发明提供的一种电力数据预测模型构建方法,所述对于第i簇电力数据样本,判断其中正常电力数据样本的比例之后,方法还包括:
26.在所述比例小于等于所述第一预设阈值的情况下,直接将所述第i簇电力数据样本作为所述本地的电力数据样本和/或所述全局电力数据样本的一部分;
27.在所述比例等于1的情况下,将所述第i簇电力数据样本确定为噪音簇。
28.根据本发明提供的一种电力数据预测模型构建方法,所述对所述各区块链节点返回的局部模型进行聚合,得到当前迭代轮次的全局模型,包括:
29.根据所述各区块链节点返回的局部模型的模型参数,通过取平均值的方式,得到当前迭代轮次的全局模型的模型参数。
30.根据本发明提供的一种电力数据预测模型构建方法,所述深度神经网络模型具体为长短期记忆网络模型,相应地,所述在所述当前迭代轮次的全局模型满足预设迭代停止条件的情况下,将所述当前迭代轮次的全局模型作为电力数据预测模型之后,方法还包括:
31.将当前时刻之前的一段时间的电力数据序列输入基于长短期记忆网络模型的所
述电力数据预测模型,得到预测的电力数据。
32.本发明还提供一种电力数据预测模型构建装置,包括:
33.发送模块,用于将上一迭代轮次得到的全局模型发送至各区块链节点;其中,所述全局模型用于进行电力数据预测;在首轮迭代的情况下,根据全局电力数据样本训练深度神经网络模型,得到初始全局模型并发送至各区块链节点;
34.接收模块,用于接收各区块链节点返回的局部模型;其中,所述局部模型是各区块链节点根据本地的电力数据样本训练所述上一迭代轮次得到的全局模型得到的;
35.聚合模块,用于对所述各区块链节点返回的局部模型进行聚合,得到当前迭代轮次的全局模型;
36.确定模块,用于在所述当前迭代轮次的全局模型满足预设迭代停止条件的情况下,将所述当前迭代轮次的全局模型作为电力数据预测模型。
37.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述电力数据预测模型构建方法的全部或部分步骤。
38.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述电力数据预测模型构建方法的全部或部分步骤。
39.本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,所述指令在被执行时用于实现如上述任一种所述电力数据预测模型构建方法的全部或部分步骤。
40.本发明提供的一种电力数据预测模型构建方法、装置、设备、介质及程序,构建了基于区块链的分布式计算模型与框架,在兼顾原始数据隐私保护的同时实现电力数据分布式可信共享训练计算,保护了各电力系统的数据隐私,并且根据局部模型聚合得到的电力数据预测模型具有跨电力系统的电力数据预测能力,拓展了电力数据预测模型的应用范围。
附图说明
41.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
42.图1是本发明提供的一种电力数据预测模型构建方法对应的系统结构示意图;
43.图2是本发明提供的一种电力数据预测模型构建方法的流程示意图;
44.图3是本发明提供的lstm模型结构示意图;
45.图4是利用循环神经网络模型的预测数据、本发明的lstm模型的预测数据、真实电力(负荷)数据的对比图之一;
46.图5是利用循环神经网络模型的预测数据、本发明的lstm模型的预测数据、真实电力(负荷)数据的对比图之二;
47.图6是本发明提供的一种电力数据预测模型构建装置的结构示意图;
48.图7是本发明提供的电子设备的结构示意图。
具体实施方式
49.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
50.下面结合图1-图7描述本发明的一种电力数据预测模型构建方法、装置、设备、介质及程序
51.现代电力系统建设了一系列先进的智能监控基础设施,这些设备可以产生大量数据,对这些数据进行处理分析可以得到许多有效信息,从而得以了解电力设备的运行状况以及用户的用电情况。通过对历史数据的分析研究可以预测未来的用电数据,从而对电力设备的运行状态的改变进行一系列决策。智能电网旨在达到节约能源、降低损耗、增强电网可靠性的目的,这对电力系统的可信决策提出了更高的要求,如何处理分析电力大数据并进行可靠的决策分析成为了研究的重要问题。在电力系统领域,充分利用现有数据研究价值,融合机器学习模型和人工神经网络可以为电力负荷提供准确的预测,为发电、售电、用电提供参考和决策指导。实时高准确度的负荷预测会促进可信决策的发展,进一步促进智能电网的发展。
52.区块链技术在安全性方面具有极大的优势,其中数据冗余度高、不易被篡改等特点与电力系统中对数据安全的严格要求非常吻合。区块链网络中的每个节点都保存着完整的数据,并且通过共识机制来确保数据的一致性。区块链技术最早被应用于数字加密货币领域,其基于密码学原理的高度安全性受到了广泛的认可,进而被引入越来越多的新应用场景。在能源领域,区块链技术被尝试应用于电能交易、碳排放权交易等领域,并在越来越多的其他业务中得到应用。
53.在现代电力系统中,很多情况下样本集无法进行集中或者共享双方的数据,不能够进行数据挖掘和分析,因此面临着数据孤岛的问题。如果将电力数据集中进行分析利用,可能还会牵扯到法律法规、用户的隐私及数据安全问题。为了解决这个问题本文引入了联邦学习方法,联邦学习可以保证数据不出本地即可进行模型训练,这样可以在一定程度上保护边缘节点的数据安全及用户隐私,同时降低数据传输过程中的安全风险。
[0054]“联邦机器学习”(federated machine learning)在本质上是一种数据加密的分布式机器学习技术,参与各方可以在不披露底层数据和底层数据的加密(混淆)形态的前提下共建模型。它可以实现各个参与方的私有数据不出本地,通过加密机制下的参数交换方式,就能在不违反相关法律的情况下,建立一个虚拟的全局模型。区块链是一种去中心化、数据加密、不可篡改的分布式共享数据库,结合了智能合约的区块链技术可以作为联邦学习任务的服务平台,为联邦学习的各个参与方提供任务分发与数据共享的功能。区块链的价值驱动激励机制也能够增加各参与方之间提供数据、更新网络模型参数的积极性。为此,本文拟对智慧城市场景下融合联邦学习与区块链的城市数据计算模型开展技术研究。
[0055]
为便于理解本发明,下面先对本发明提供的一种电力数据预测模型构建方法的系统结构层次进行说明,图1是本发明提供的一种电力数据预测模型构建方法对应的系统结
构示意图,如图1所示,系统分为4个层次,依次为数据采集层、区块链层、联邦学习层、算法层。其中,数据采集层,其主要负责在各种电力园区中进行原始电力数据的采集,然后将采集到的数据上传到电网的边缘服务器中,这些边缘服务器构成了上一层区块链层的一个区块链节点(服务器),可以进行数据共享。然后,通过智能合约的设计,组织各个区块链节点依据电力数据完成最上层的联邦学习层所分发的模型训练任务。算法层对各区块链节点及云端服务器的具体的电力数据样本进行优化、指导模型训练过程,云端服务器聚合各区块链节点训练得到模型参数,根据聚合的模型参数对全局模型进行更新,得到电力数据预测模型,用于进行电力数据预测,辅助决策与分析。
[0056]
本发明构建基于区块链的分布式计算模型与框架,在兼顾原始数据隐私保护的同时实现电力数据分布式可信共享训练计算。
[0057]
图2是本发明提供的一种电力数据预测模型构建方法的流程示意图,如图2所示,该方法包括:
[0058]
s21、将上一迭代轮次得到的全局模型发送至各区块链节点;其中,所述全局模型用于进行电力数据预测;在首轮迭代的情况下,根据全局电力数据样本训练深度神经网络模型,得到初始全局模型并发送至各区块链节点;
[0059]
具体地,在首轮迭代时,云服务器根据全局电力数据样本训练深度神经网络模型,得到初始全局模型。电力数据样本例如单日电力负荷、高负荷用户数量、高峰用电时长等等,全局电力数据样本是涉及多个电力系统的汇总电力数据,可以理解的是,由于数据壁垒存在,能够获得的全局电力数据样本往往数据量较少,且无法及时获取。相应地,根据全局电力数据样本训练得到的初始全局模型的电力数据预测准确性有限,因此,需要将初始全局模型发送给各区块链节点进行进一步训练的。在非首轮迭代时,则将上一迭代轮次聚合更新后的全局模型发送给各区块链节点。
[0060]
s22、接收各区块链节点返回的局部模型;其中,所述局部模型是各区块链节点根据本地的电力数据样本训练所述上一迭代轮次得到的全局模型得到的;
[0061]
具体地,各区块链节点根据本地的电力数据样本在接收到的全局模型的基础上进行训练,得到每一区块链节点对应的局部模型。可以理解的是,每一区块链节点对应了一个电力系统,每个电力系统有权限获取相应电力园区本地的电力数据样本,用于进行模型训练。利用本地的电力数据样本训练得到的局部模型对本地的电力数据有较好的预测能力。各区块链节点将训练得到的局部模型返回至云端服务器,用于进行聚合汇总,提升全局模型的电力数据预测能力。进一步地,由于全局模型与本地模型都是在相同结构的深度神经网络模型的基础上训练得到的,在将局部模型返回至云端服务器时,仅需返回模型参数即可,无需返回复杂的模型结构数据。
[0062]
s23、对所述各区块链节点返回的局部模型进行聚合,得到当前迭代轮次的全局模型;
[0063]
具体地,云端服务根据各区块链节点返回的局部模型进行聚合,根据各局部模型的参数进行处理,生成新的全局模型参数,处理过程可以包括剔除异常值,求取平均值等等。根据新的全局模型参数对上一迭代轮次的全局模型进行更新,即得到当前迭代轮次的全局模型。
[0064]
s24、在所述当前迭代轮次的全局模型满足预设迭代停止条件的情况下,将所述当
前迭代轮次的全局模型作为电力数据预测模型。
[0065]
具体地,在得到当前迭代轮次的全局模型后,判断是否满足预设迭代停止条件,例如迭代达到预设次数,又例如全局模型的电力数据预测准确率达到预设阈值等等。在满足预设迭代停止条件时则将当前迭代轮次的全局模型作为电力数据预测模型,用于进行电力数据预测。可以理解的是,在不满足预设迭代停止条件的情况下,则继续迭代更新全局模型。
[0066]
本实施例中构建了基于区块链的分布式计算模型与框架,在兼顾原始数据隐私保护的同时实现电力数据分布式可信共享训练计算,保护了各电力系统的数据隐私,并且根据局部模型聚合得到的电力数据预测模型具有跨电力系统的电力数据预测能力,拓展了电力数据预测模型的应用范围。
[0067]
基于上述任一实施例,在一个实施例中,所述将上一迭代轮次得到的全局模型发送至各区块链节点之前,方法还包括:
[0068]
将待处理的电力数据样本聚类为t簇;其中,所述t为预设的整数;
[0069]
对于第i簇电力数据样本,判断其中正常电力数据样本的比例;其中,1≤i≤t,i为整数;
[0070]
在所述比例大于第一预设阈值且小于1的情况下,对所述第i簇电力数据样本中的异常电力数据样本进行扩充;
[0071]
将所述扩充异常电力数据样本后的所述第i簇电力数据样本作为所述本地的电力数据样本和/或所述全局电力数据样本的一部分。
[0072]
具体地,由于实际中电力系统的鲁棒性较好,系统在遭受扰动后往往能够自行恢复至稳态,出现失稳情况的概率比较低,这就给基于深度学习的方法带来了样本不平衡问题。即正常电力数据样本占据绝大部分,异常电力数据样本仅占很少一部分,根据不平衡样本训练出的电力数据预测模型过多地学习了正常电力数据样本的特征,导致泛化能力降低。
[0073]
而直接对少数类(异常电力数据)进行样本复制增加少数样本数量会导致少数类随机过采样的缺陷。对少数类样本进行随机过采样不会使得少数类样本更具识别性,因为过采样过程其实是对样本进行复制,这种复制会使样本的决策判定越来越严格,越来越具体,导致分类过拟合。现有技术中采用smote算法弥补少数类随机过采样的缺陷:如果(x1,x2)是少数类的实例,并且如果将其最近邻的实例选为(x
′1,x
′2),则合成数据(x1,x2),即:
[0074]
(x1,x2)=(x1,x2) rand(0,1)
×
δ
[0075]
其中,δ={(x

1-x1),(x

2-x2)},rand(0,1)是介于0和1之间的随机数。该技术通过生成人工样本来拓宽决策区域,因为添加到样本集中的样本位于原始样本的附近的合成样本,而不是样本本身。与带有替换的随机过采样相比,决策区域更为通用。
[0076]
传统的smote算法还存在着一些问题,比如smote算法的使用可能会模糊样本集的正负类边界(对应到本发明,即正常电力数据样本与异常电力数据样本的区分边界),会增加训练分类模型的难度,并且smote算法在处理数据时存在着一定的盲目性。
[0077]
对此,为了解决这些问题,本实施例中引入聚类算法,在少数类(异常电力数据)样本过采样之前聚类,再以聚类后的簇为单位进行采样。可以有效避免上述缺陷。具体地,先将待处理的电力数据样本聚类为t簇,其中,t为预设的整数,具体可以按照经验进行设置。
然后,对于聚类得到的第i簇电力数据样本,判断其中正常电力数据样本的比例,其中,第i簇电力数据样本,是聚类得到的t簇电力数据样本中的一簇,1≤i≤t,i为整数。在该样本比例大于第一预设阈值且小于1的情况下,对第i簇电力数据样本中的异常电力数据样本进行扩充,第一预设阈值根据需求进行预先设置,例如设置为0.5。将扩充后的第i簇电力数据样本作为本地的电力数据样本和/或所述全局电力数据样本的一部分。需要说明的是本实施例为了解决样本不平衡问题,相应地待处理的电力数据样本可以是待处理的全局电力数据样,也可以是各区块链节点本地的待处理电力数据样本。
[0078]
本实施例中将待处理电力样本数据进行聚类,并在聚类得到的某一簇电力数据样中正常电力数据样的比例大于第一预设阈值且小于1的情况下,对其中的异常电力数据样本进行扩充。对异常电力数据样本(少数类)进行了精准扩充,避免了模糊样本集的正负类边界,准确提升了模型的泛化能力。
[0079]
基于上述实施例,在一个实施例中,所述将待处理的电力数据样本聚类为t簇;包括:
[0080]
步骤1、在待处理的电力数据样本中选取t个异常电力数据样本作为初始簇心(即聚类中心);
[0081]
步骤2、计算所述待处理的电力数据样本中其余样本分别到t个异常电力数据样本的欧式距离;
[0082]
步骤3、对于所述其余样本中的每一样本,将其归类于到t个异常电力数据样本的最小欧式距离所对应的异常电力数据样本所在的簇;
[0083]
步骤4、对于确定的每一簇,获取簇中电力数据样本的均值,将所述簇中电力数据样本的均值设为新的簇心;
[0084]
步骤5、迭代执行步骤2~步骤4,在簇中各电力数据样本到簇心的欧式距离之和不发生变化的情况下,停止迭代,并将当前聚类结果作为将待处理的电力数据样本聚类得到的t簇电力数据样本。
[0085]
更为具体地,可以参照如下步骤及公式将待处理的电力数据样本聚类为t簇:
[0086]
step1对于样本集d,随机选取t个初始簇心(即聚类中心),分别为μ1,μ2,


t
∈dn,其中,t个初始聚类质心点属于异常电力数据样本点。
[0087]
step2对于样本集d中除了聚类中心之外的电力数据样本,逐个算出他们与μi(i=1,2,

,t)的欧氏距离;
[0088]
step3将上述电力数据样本与μi(i=1,2,

,t)最近的数据分到一起,实现了将所有数据分为了t类。具体可利用式下式进行分类:
[0089][0090]
其中,样本集d中的第j个数据x
(j)
被分到第c(i)个初始簇心所在的簇,表示求取使得||x
(j)-μi||2最小的参数i。
[0091]
step4计算各类簇中数据的均值,将求得的均值设定新类簇中心。
[0092]
再用下式计算本类簇中各数据点至类簇中心的欧氏距离之和。
[0093][0094]
其中,j(c,μ)表示簇心所在的簇中各样本到簇心的欧式距离之和,其中表示样本x
(j)
到其簇心的欧式距离,m表示属于当前簇心所在簇的样本总数。
[0095]
step5重复step2~step4,如果欧氏距离之和j不发生改变,输出聚类结果。
[0096]
本实施例中精确地将待处理的电力数据样本聚类为t簇,为电力数据样本平衡奠定了基础。将聚类算法与smote算法相结合。聚类算法将样本点到聚类中心的距离作为优化目标,根据聚类算法的核心思想,算法会让每个簇当中元素的相似度尽可能达到最大,而簇与簇之间的相似度最小化。算法选择期望的簇中,通过不断的迭代和重新计算聚类中心以极小化整个簇内方差,把得到相对紧凑且两两之间相互独立的簇作为算法的最终目标。利用函数方法求得极值,调整迭代次数阈值获得了最佳的聚类效果。
[0097]
基于上述任一实施例,在一个实施例中,在所述比例大于第一预设阈值且小于1的情况下,对所述第i簇电力数据样本中的异常电力数据样本进行扩充,包括:
[0098]
对所述第i簇电力数据样本中的所有电力数据样本进行归一化;
[0099]
根据归一化后的第i簇电力数据样本中的所有异常电力数据样本,确定第i簇电力数据样本中的所有异常电力数据样本的簇心;
[0100]
根据所述第i簇电力数据样本中的异常电力数据样本,以及所述第i簇电力数据样本中的所有异常电力数据样本的簇心,生成所述第i簇电力数据样本的新增异常电力数据样本;
[0101]
在加入所述新增异常电力数据样本后,所述第i簇电力数据样本正常电力样本数据的比例仍大于所述第一预设阈值且小于的情况下,迭代执行生成所述第i簇电力数据样本的新增异常电力数据样本的步骤;
[0102]
在加入所述新增异常电力数据样本后,所述第i簇电力数据样本正常电力样本数据的比例小于或等于所述第一预设阈值的情况下,将所有新增异常电力数据样本进行反归一化,并将反归一化后的所有新增异常电力数据样本加入所述第i簇电力数据样本中。
[0103]
具体地,先对第i簇电力数据样本中的所有电力数据样本进行归一化,可以理解的是,如果电力数据样本为多维数据,则针对每一维度分别进行归一化,归一化对电力数据样本的某一维度属性值进行缩放,便于电力数据样本之间的对比以及数据处理,例如可以归一化到区间(0,1),还可以归一化到区间(-1,1)上,具体可按需求进行设置。
[0104]
然后根据归一化后的第i簇电力数据样本中的所有异常电力数据样本,确定所述第i簇电力数据样本中的所有异常电力数据样本的簇心,具体可以用求取平均值的方式,确定异常电力数据样本的每一维度数据的平均值,从而确定所有异常电力数据样本的簇心。
[0105]
根据第i簇电力数据样本中的异常电力数据样本,以及第i簇电力数据样本中的所有异常电力数据样本的簇心,生成第i簇电力数据样本的新增异常电力数据样本,例如,簇心的某一维度属性值为0.8,第i簇电力数据样本中的异常电力数据样本中一个样本的该维度属性值为0.6,则可以在区间(0.6,0.8)内随机确定新增异常电力数据样本的该维度属性
值,依此类推,确定新增异常电力数据样本的各维度属性值,以生成新增样本。
[0106]
通过判断新增异常电力数据样本后第i簇电力数据样本中正常电力样本数据的比例,来确定是否需要继续扩充异常电力数据样本。在加入新增异常电力数据样本后,第i簇电力数据样本正常电力样本数据的比例仍大于所述第一预设阈值且小于的情况下,迭代执行生成所述第i簇电力数据样本的新增异常电力数据样本的步骤,继续生成新增异常电力数据样本;在加入新增异常电力数据样本后,第i簇电力数据样本正常电力样本数据的比例小于或等于第一预设阈值的情况下,将所有新增异常电力数据样本进行反归一化,即回复正常带量纲情况下的属性值,并将反归一化后的所有新增异常电力数据样本加入第i簇电力数据样本中,完成对第i簇电力数据样本中的异常电力数据样本的扩充。
[0107]
本实施例中通过归一化便于电力数据样本之间的对比以及数据处理,根据第i簇电力数据样本中的异常电力数据样本,以及第i簇电力数据样本中的所有异常电力数据样本的簇心,生成第i簇电力数据样本的新增异常电力数据样本,使得生成的新增异常电力数据样本位于原始异常电力数据样本与第i簇电力数据样本中的所有异常电力数据样本的簇心之间,不会模糊正常电力数据样本与异常电力数据样本的区分边界,降低了训练分类模型的难度。
[0108]
基于上述任一实施例,在一个实施例中,根据所述第i簇电力数据样本中的异常电力数据样本,以及所述第i簇电力数据样本中的所有异常电力数据样本的簇心,生成所述第i簇电力数据样本的新增异常电力数据样本,根据如下公式执行;
[0109]ynew
=ci rand(0,1)
×
(y
j-ci)
[0110]
其中,y
new
为新增异常电力数据样本,ci表示第i簇电力数据样本中的所有异常电力数据样本的簇心,rand(0,1)表示在0和1之间随机选取一个值,yj为第i簇电力数据样本中原始的第j个异常电力数据样本,j=(1,2..k),j为第i簇电力数据样本中的所有异常电力数据样本个数。
[0111]
本实施例中精确地生成了新增异常电力数据样本,且生成的新增异常电力数据样本位于原始异常电力数据样本与第i簇电力数据样本中的所有异常电力数据样本的簇心之间,不会模糊正常电力数据样本与异常电力数据样本的区分边界,降低了训练分类模型的难度。
[0112]
基于上述任一实施例,在一个实施例中,所述对于第i簇电力数据样本,判断其中正常电力数据样本的比例之后,方法还包括:
[0113]
在所述比例小于等于所述第一预设阈值的情况下,直接将所述第i簇电力数据样本作为所述本地的电力数据样本和/或所述全局电力数据样本的一部分;
[0114]
在所述比例等于1的情况下,将所述第i簇电力数据样本确定为噪音簇。
[0115]
具体地,第i簇电力数据样本中正常电力数据样本的比例小于等于所述第一预设阈值,则说明第i簇电力数据样本中异常电力数据样本满足需求,无需对其新增异常电力数据样本,直接将其作为本地的电力数据样本和/或全局电力数据样本的一部分;第i簇电力数据样本中正常电力数据样本的比例等于1,则说明第i簇电力数据样本中全部为正常电力数据样本,属于噪音簇,不适合作为本地的电力数据样本和/或全局电力数据样本。
[0116]
本实施例中通过对第i簇电力数据样本中正常电力数据样本的比例的判断,准确地确定了本地的电力数据样本和/或全局电力数据样本,提升了电力数据预测模型的性能。
[0117]
基于上述任一实施例,在一个实施例中,所述对所述各区块链节点返回的局部模型进行聚合,得到当前迭代轮次的全局模型,包括:
[0118]
根据所述各区块链节点返回的局部模型的模型参数,通过取平均值的方式,得到当前迭代轮次的全局模型的模型参数。
[0119]
具体地,云端服务根据各区块链节点返回的局部模型进行聚合,根据各局部模型的参数进行处理,生成新的全局模型参数,处理过程可以包括剔除异常值,求取平均值/加权平均值等等。根据新的全局模型参数对上一迭代轮次的全局模型进行更新,即得到当前迭代轮次的全局模型。
[0120]
本实施例中对各区块链节点返回的局部模型的模型参数,通过取平均值的方式,准确得到了当前迭代轮次的全局模型的模型参数,根据局部模型聚合得到的电力数据预测模型具有跨电力系统的电力数据预测能力,拓展了电力数据预测模型的应用范围。
[0121]
基于上述任一实施例,在一个实施例中,所述深度神经网络模型具体为长短期记忆网络模型,相应地,所述在所述当前迭代轮次的全局模型满足预设迭代停止条件的情况下,将所述当前迭代轮次的全局模型作为电力数据预测模型之后,方法还包括:
[0122]
将当前时刻之前的一段时间的电力数据序列输入基于长短期记忆网络模型的所述电力数据预测模型,得到预测的电力数据。
[0123]
具体地,图3是本发明提供的lstm模型结构示意图,如图3所示,为了防止出现和循环神经网络(rnn)类似的梯度消亡问题,本实施例中深度神经网络模型具体采用长短期记忆网络模型(lstm),lstm采用门结构来加强各个神经元之间的信息传递,由输入门(input gate)、输出门(output gate)、遗忘门(forget gate)三个门结构组成,分别负责控制细胞的输入、输出和历史依赖,共同作用,实现对电力数据的负荷预测。lstm的具体运算过程如下
[0124]ft
=σ(wf[h
t-1
,x
t
] bf)#(3-1)
[0125]it
=σ(wi[h
t-1
,x
t
] bi)#(3-2)
[0126][0127][0128]ot
=σ(wo[h
t-1
,x
t
] bo)#(3-5)
[0129]ht
=σ
t
tanhc
t
#(3-6)
[0130]
式(3-1)控制当前神经元在上一神经元所遗忘的信息,由遗忘门的sigmoid层实现,σ表示sigmoid激活函数,bf为参数。通过读取前一神经元的输出h
t-1
与当前神经元的输入x
t
进行运算,输出一个[0,1]区间内的值f
t
,其中,1代表对上一神经元状态完全记忆,0代表对上一神经元状态完全遗忘,再与上一神经元状态c
t-1
相乘。通过这种方式来保证神经网络的长期记忆性。
[0131]
式(3-2)与(3-3)共同控制神经元的输入,式(3-2)由输入门的sigmoid层实现,输入门读取前一神经元的输出h
t-1
和该神经元输入x
t
输出一个[0,1]区间内的值i
t
,式(3-3)通过tanh层产生一个候选值向量便通过(3-4)得到该神经元状态c
t

[0132]
式(3-6)得到的是最终输出,通过计算得到上一神经元留存的信息以及该神经元的信息后,输出门的sigmoid层会得出最终输出。神经元状态c
t
通过tanh层处理,再与输出
门σ
t
相乘,得到最终输出量h
t
。另外,上式子中,wf、wi、wc、wo为相应层的处理函数,bf、bi、bc、bo为相应层的参数,σ表示sigmoid函数。
[0133]
本实施例中深度神经网络模型具体采用长短期记忆网络模型(lstm),对于当前预测时刻t,将t-n到t-1时刻的电力数据对应图3中的作为模型输入数据x,当前时刻t的电力数据作为输出y,如下所示
[0134]
x
t
=[d
t-n
,d
t-n 1
,
…dt-1
]#(3-7)
[0135]yt
=d
t
#(3-8)
[0136]
其中,d表示电力数据。
[0137]
本实施例中深度神经网络模型具体采用长短期记忆网络模型,解决的循环神经网络中梯度消亡的问题。
[0138]
基于上述任一实施例,在一个实施例中,所述全局模型的训练目标表示为:
[0139][0140]
其中,ω训练的权重,b表示训练的偏差,l表示损失函数,(xi,yi)表示第i个全局电力数据样本,表示求使得l最小的参数ω、b,n为全局电力数据样本数量。
[0141]
第j个局部模型的训练目标表示为:
[0142][0143]
其中,ωj表示训练的权重,bj表示训练的偏差,l表示损失函数,(xi,yi)表示第j个区块链节点的第i个本地的电力数据样本,表示求使得l最小的参数ωj、bj,nj为第j个区块链节点的本地的电力数据样本数量。
[0144]
本实施例中通训练目标准确控制了联邦学习中全局模型和局部模型的训练过程。
[0145]
下面结合一个具体的应用实例对本发明的电力数据预测模型构建方法的技术效果进行说明。
[0146]
首先,在entso网站下载了斯洛文尼亚2020-11-01至2021-11-01的电力负荷数据作为实验数据集,数据集由每隔1h进行电力负荷采样,总计8784(24
×
366)条电力数据。
[0147]
实验数据分为两部分,前51周作为数据训练集,10月30日与31日的负荷数据作为测试集,与预测结果对比检验模型效果。将训练数据输入rnn、lstm模型进行训练。lstm模型中隐层神经元个数(num_units)设计为128,训练数据批次(batch_size)为16,每批次数据个数(window_size)为400个,学利率(adamoptimizer)为0.001,迭代次数(train_steps)为3000。
[0148]
图4是利用循环神经网络模型的预测数据、本发明的lstm模型的预测数据、真实电力(负荷)数据的对比图之一,如图4所示,上方虚线为循环神经网络模型(rnn)预测的10月30日电力数据,点划线为本发明的lstm模型预测的10月30日电力数据,实线为真实的10月30日电力数据。
[0149]
图5是利用循环神经网络模型的预测数据、本发明的lstm模型的预测数据、真实电力(负荷)数据的对比图之二,如图5所示,上方虚线为循环神经网络模型(rnn)预测的10月31日电力数据,点划线为本发明的lstm模型预测的10月31日电力数据,实线为真实的10月31日电力数据。
[0150]
采用平均百分误差来对比两种方法的训练效果,平均百分误差的定义为
[0151][0152]
其中,li与li

分别为真实值与预测值,n为采样数量,e
mape
为平均百分误差。
[0153]
分别计算两种方法的e
mape
,对比如下表所示:
[0154]
方法\日期10月30日10月31日rnn15.8811.92lstm5.126.90
[0155]
从上表可以明显看出,lstm神经网络模型的预测结果的平均百分误差对比rnn网络表现优越很多,这是因为rnn模型只能学习到电力数据的日变化规律,lstm模型能较好地学习到日变化、周变化规律。这证明lstm方法在使用效果上要优于传统方法。
[0156]
下面对本发明提供的电力数据预测模型构建装置进行描述,下文描述的电力数据预测模型构建装置与上文描述的电力数据预测模型构建方法可相互对应参照。
[0157]
图6是本发明提供的一种电力数据预测模型构建装置的结构示意图,如图6所示,该装置包括:
[0158]
发送模块61,用于将上一迭代轮次得到的全局模型发送至各区块链节点;其中,所述全局模型用于进行电力数据预测;在首轮迭代的情况下,根据全局电力数据样本训练深度神经网络模型,得到初始全局模型并发送至各区块链节点;
[0159]
接收模块62,用于接收各区块链节点返回的局部模型;其中,所述局部模型是各区块链节点根据本地的电力数据样本训练所述上一迭代轮次得到的全局模型得到的;
[0160]
聚合模块63,用于对所述各区块链节点返回的局部模型进行聚合,得到当前迭代轮次的全局模型;
[0161]
确定模块64,用于在所述当前迭代轮次的全局模型满足预设迭代停止条件的情况下,将所述当前迭代轮次的全局模型作为电力数据预测模型。
[0162]
本实施例中构建了基于区块链的分布式计算模型与框架,在兼顾原始数据隐私保护的同时实现电力数据分布式可信共享训练计算,保护了各电力系统的数据隐私,并且根据局部模型聚合得到的电力数据预测模型具有跨电力系统的电力数据预测能力,拓展了电力数据预测模型的应用范围。
[0163]
基于上述任一实施例,在一个实施例中,装置还包括:
[0164]
聚类模块,用于将待处理的电力数据样本聚类为t簇;其中,所述t为预设的整数;
[0165]
判断模块,用于对于第i簇电力数据样本,判断其中正常电力数据样本的比例;其中,1≤i≤t,i为整数;
[0166]
扩充模块,用于在所述比例大于第一预设阈值且小于1的情况下,对所述第i簇电力数据样本中的异常电力数据样本进行扩充;
[0167]
样本模块,用于将所述扩充异常电力数据样本后的所述第i簇电力数据样本作为所述本地的电力数据样本和/或所述全局电力数据样本的一部分。
[0168]
本实施例中将待处理电力样本数据进行聚类,并在聚类得到的某一簇电力数据样中正常电力数据样的比例大于第一预设阈值且小于1的情况下,对其中的异常电力数据样本进行扩充。对异常电力数据样本(少数类)进行了精准扩充,避免了模糊样本集的正负类边界,准确提升了模型的泛化能力。
[0169]
基于上述任一实施例,在一个实施例中,所述聚类模块,包括:
[0170]
第一聚类单元,用于执行步骤1、在待处理的电力数据样本中选取t个异常电力数据样本作为初始簇心(即聚类中心);
[0171]
第二聚类单元,用于执行步骤2、计算所述待处理的电力数据样本中其余样本分别到t个异常电力数据样本的欧式距离;
[0172]
第三聚类单元,用于执行步骤3、对于所述其余样本中的每一样本,将其归类于到t个异常电力数据样本的最小欧式距离所对应的异常电力数据样本所在的簇;
[0173]
第四聚类单元,用于执行步骤4、对于确定的每一簇,获取簇中电力数据样本的均值,将所述簇中电力数据样本的均值设为新的簇心;
[0174]
第五聚类单元,用于执行步骤5、指示迭代执行步骤2~步骤4,在簇中各电力数据样本到簇心的欧式距离之和不发生变化的情况下,停止迭代,并将当前聚类结果作为将待处理的电力数据样本聚类得到的t簇电力数据样本。
[0175]
本实施例中精确地将待处理的电力数据样本聚类为t簇,为电力数据样本平衡奠定了基础。将聚类算法与smote算法相结合。聚类算法将样本点到聚类中心的距离作为优化目标,根据聚类算法的核心思想,算法会让每个簇当中元素的相似度尽可能达到最大,而簇与簇之间的相似度最小化。算法选择期望的簇中,通过不断的迭代和重新计算聚类中心以极小化整个簇内方差,把得到相对紧凑且两两之间相互独立的簇作为算法的最终目标。利用函数方法求得极值,调整迭代次数阈值获得了最佳的聚类效果。
[0176]
基于上述任一实施例,在一个实施例中,所述扩充模块,包括:
[0177]
归一化单元,用于对所述第i簇电力数据样本中的所有电力数据样本进行归一化;
[0178]
簇心确定单元,根据归一化后的第i簇电力数据样本中的所有异常电力数据样本,确定第i簇电力数据样本中的所有异常电力数据样本的簇心;
[0179]
新增样本单元,用于根据所述第i簇电力数据样本中的异常电力数据样本,以及所述第i簇电力数据样本中的所有异常电力数据样本的簇心,生成所述第i簇电力数据样本的新增异常电力数据样本;
[0180]
迭代新增单元,用于在加入所述新增异常电力数据样本后,所述第i簇电力数据样本正常电力样本数据的比例仍大于所述第一预设阈值且小于的情况下,迭代执行生成所述第i簇电力数据样本的新增异常电力数据样本的步骤;
[0181]
反归一化单元,用于在加入所述新增异常电力数据样本后,所述第i簇电力数据样本正常电力样本数据的比例小于或等于所述第一预设阈值的情况下,将所有新增异常电力数据样本进行反归一化,并将反归一化后的所有新增异常电力数据样本加入所述第i簇电力数据样本中。
[0182]
本实施例中通过归一化便于电力数据样本之间的对比以及数据处理,根据第i簇
电力数据样本中的异常电力数据样本,以及第i簇电力数据样本中的所有异常电力数据样本的簇心,生成第i簇电力数据样本的新增异常电力数据样本,使得生成的新增异常电力数据样本位于原始异常电力数据样本与第i簇电力数据样本中的所有异常电力数据样本的簇心之间,不会模糊正常电力数据样本与异常电力数据样本的区分边界,降低了训练分类模型的难度。
[0183]
基于上述任一实施例,在一个实施例中,根据所述第i簇电力数据样本中的异常电力数据样本,以及所述第i簇电力数据样本中的所有异常电力数据样本的簇心,生成所述第i簇电力数据样本的新增异常电力数据样本,根据如下公式执行;
[0184]ynew
=ci rand(0,1)
×
(y
j-ci)
[0185]
其中,y
new
为新增异常电力数据样本,ci表示第i簇电力数据样本中的所有异常电力数据样本的簇心,rand(0,1)表示在0和1之间随机选取一个值,yj为第i簇电力数据样本中原始的第j个异常电力数据样本,j=(1,2..k),j为第i簇电力数据样本中的所有异常电力数据样本个数。
[0186]
本实施例中精确地生成了新增异常电力数据样本,且生成的新增异常电力数据样本位于原始异常电力数据样本与第i簇电力数据样本中的所有异常电力数据样本的簇心之间,不会模糊正常电力数据样本与异常电力数据样本的区分边界,降低了训练分类模型的难度。
[0187]
基于上述任一实施例,在一个实施例中,装置还包括:
[0188]
补入模块,用于在所述比例小于等于所述第一预设阈值的情况下,直接将所述第i簇电力数据样本作为所述本地的电力数据样本和/或所述全局电力数据样本的一部分;
[0189]
噪音模块,用于在所述比例等于1的情况下,将所述第i簇电力数据样本确定为噪音簇。
[0190]
本实施例中通过对第i簇电力数据样本中正常电力数据样本的比例的判断,准确地确定了本地的电力数据样本和/或全局电力数据样本,提升了电力数据预测模型的性能。
[0191]
基于上述任一实施例,在一个实施例中,所述聚合模块,进一步用于:
[0192]
根据所述各区块链节点返回的局部模型的模型参数,通过取平均值的方式,得到当前迭代轮次的全局模型的模型参数。
[0193]
本实施例中对各区块链节点返回的局部模型的模型参数,通过取平均值的方式,准确得到了当前迭代轮次的全局模型的模型参数,根据局部模型聚合得到的电力数据预测模型具有跨电力系统的电力数据预测能力,拓展了电力数据预测模型的应用范围。
[0194]
基于上述任一实施例,在一个实施例中,所述深度神经网络模型具体为长短期记忆网络模型,相应地,所述装置还包括:
[0195]
预测模块,用于将当前时刻之前的一段时间的电力数据序列输入基于长短期记忆网络模型的所述电力数据预测模型,得到预测的电力数据。
[0196]
本实施例中深度神经网络模型具体采用长短期记忆网络模型,解决的循环神经网络中梯度消亡的问题。
[0197]
基于上述任一实施例,在一个实施例中,所述全局模型的训练目标表示为:
[0198][0199]
其中,ω训练的权重,b表示训练的偏差,l表示损失函数,(xi,yi)表示第i个全局电力数据样本,表示求使得l最小的参数ω、b,n为全局电力数据样本数量。
[0200]
第j个局部模型的训练目标表示为:
[0201][0202]
其中,ωj表示训练的权重,bj表示训练的偏差,l表示损失函数,(xi,yi)表示第j个区块链节点的第i个本地的电力数据样本,表示求使得l最小的参数ωj[0203]
本实施例中通训练目标准确控制了联邦学习中全局模型和局部模型的训练过程。
[0204]
图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(communications interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行上述各提供的电力数据预测模型构建方法的全部或部分步骤,该方法包括:将上一迭代轮次得到的全局模型发送至各区块链节点;其中,所述全局模型用于进行电力数据预测;在首轮迭代的情况下,根据全局电力数据样本训练深度神经网络模型,得到初始全局模型并发送至各区块链节点;接收各区块链节点返回的局部模型;其中,所述局部模型是各区块链节点根据本地的电力数据样本训练所述上一迭代轮次得到的全局模型得到的;对所述各区块链节点返回的局部模型进行聚合,得到当前迭代轮次的全局模型;在所述当前迭代轮次的全局模型满足预设迭代停止条件的情况下,将所述当前迭代轮次的全局模型作为电力数据预测模型。
[0205]
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0206]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各提供的电力数据预测模型构建方法的全部或部分步骤,该方法包括:将上一迭代轮次得到的全局模型发送至各区块链节点;其中,所述全局模型用于进行电力数据预测;在首轮迭代的情况下,根据全局电力数据样本训练深度神经网络模型,得到初始全局模型并发送至各区块链节点;接收各区块链节点返回的局部
模型;其中,所述局部模型是各区块链节点根据本地的电力数据样本训练所述上一迭代轮次得到的全局模型得到的;对所述各区块链节点返回的局部模型进行聚合,得到当前迭代轮次的全局模型;在所述当前迭代轮次的全局模型满足预设迭代停止条件的情况下,将所述当前迭代轮次的全局模型作为电力数据预测模型。
[0207]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的电力数据预测模型构建方法的全部或部分步骤,该方法包括:将上一迭代轮次得到的全局模型发送至各区块链节点;其中,所述全局模型用于进行电力数据预测;在首轮迭代的情况下,根据全局电力数据样本训练深度神经网络模型,得到初始全局模型并发送至各区块链节点;接收各区块链节点返回的局部模型;其中,所述局部模型是各区块链节点根据本地的电力数据样本训练所述上一迭代轮次得到的全局模型得到的;对所述各区块链节点返回的局部模型进行聚合,得到当前迭代轮次的全局模型;在所述当前迭代轮次的全局模型满足预设迭代停止条件的情况下,将所述当前迭代轮次的全局模型作为电力数据预测模型。
[0208]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0209]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0210]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

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

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

相关文献