基于生成对抗网络的电力系统负荷数据填补方法及装置

文档序号:32661592发布日期:2022-12-23 23:44阅读:39来源:国知局
基于生成对抗网络的电力系统负荷数据填补方法及装置

1.本技术涉及电力系统数据处理领域,尤其涉及一种基于生成对抗网络的电力系统负荷数据填补方法及装置。


背景技术:

2.负荷数据在电力系统中起着至关重要的作用,它是电力系统调峰任务中调节量和资金结算的依据,也是负荷/发电预测、分布式能源调度等任务的基础。负荷数据一般由智能终端采集,由于智能终端故障、停电、记录遗失等一些不可控原因,会造成负荷数据的缺失,数据质量降低,进而会对电力系统的下游任务产生扰动。因此,当负荷数据出现缺失时,需要对缺失部分进行填补。
3.在相关技术中,主要通过直接删除法和统计学习的填补方法对缺失部分的数据进行填补,然而,这样的填补方法生成的数据与实际情况存在较大的误差,实用性较低。


技术实现要素:

4.本技术的目的是提供一种基于生成对抗网络的电力系统负荷数据填补方法及装置,用于在电力系统的负荷数据出现缺失的情况下,通过生成对抗网络对缺失的负荷数据进行填补。
5.本技术提供一种基于生成对抗网络的电力系统负荷数据填补方法,包括:
6.获取第一目标数据;所述第一目标数据为存在数据缺失的负荷数据;将所述第一目标数据输入目标模型,通过所述目标模型对所述第一目标数据中的缺失部分进行数据填补,得到第二目标数据;其中,所述目标模型为生成对抗网络经过训练后得到的;所述生成对抗网络的生成器之前设置有多层感知器;所述多层感知器用于将样本数据进行分类;所述生成对抗网络的生成器与所述生成对抗网络的判别器之间的对抗过程为基于所述多层感知器对样本数据的分类结果进行的。
7.可选地,所述生成对抗网络的训练过程包括以下步骤:获取目标样本数据;所述目标样本数据为样本集中的任一样本数据;所述样本集中包括多个负荷数据样本;将所述目标样本数据划分为n个子序列;每个子序列的大小为w,n为大于1的整数;使用所述多层感知器对所述目标样本数据进行分类,得到与第一目标子序列强相关的第一子序列集以及与所述第一目标子序列弱相关的第二子序列集;其中,所述第一目标子序列为所述n个子序列中存在数据缺失的子序列;所述第一子序列集、所述第二子序列集、所述第一目标子序列均包括至少一个子序列。
8.可选地,所述使用所述多层感知器对所述目标样本数据进行分类,得到与第一目标子序列强相关的第一子序列集以及与所述第一目标子序列弱相关的第二子序列集,包括:使用sigmoid激活函数对所述多层感知器进行非线性转移,分别计算所述n个子序列中除所述第一目标子序列之外的每个子序列与所述第一目标子序列之间的相关性,并对所述多层感知器的输出值进行二值化处理;若所述多层感知器经过二值化处理后的输出值为1,
则将对应的子序列划分至所述第一子序列集;否则,将对应的子序列划分至所述第二子序列集;其中,所述多层感知器包括:gumbel softmax;所述gumbel softmax用于所述多层感知器的反向传播。
9.可选地,所述使用所述多层感知器对所述目标样本数据进行分类,得到与第一目标子序列强相关的第一子序列集以及与所述第一目标子序列弱相关的第二子序列集之后,所述方法还包括:将第一序列组合、第二序列组合以及第三序列组合分别输入所述生成器中,得到对所述第一目标子序列进行填补后的第一序列、第二序列以及第三序列;其中,所述第一序列组合包括:所述第一子序列集和所述第一目标子序列;所述第二序列组合包括:所述目标样本数据;所述第三序列组合包括:所述第二子序列集和所述第一目标子序列;所述第一序列组合对应所述第一序列;所述第二序列组合对应所述第二序列;所述第三序列组合对应所述第三序列。
10.可选地,所述将第一序列组合、第二序列组合以及第三序列组合分别输入所述生成器中,得到对所述第一目标子序列进行填补后的第一序列、第二序列以及第三序列,包括:根据所述第一目标子序列的w个数据中每个数据的缺失情况,构建所述第一目标子序列的掩膜向量;所述掩膜向量中值的取值范围为{0,1};将所述第一目标子序列与任一不属于所述第一目标子序列中的值合并后得到第二目标子序列;其中,所述第二目标子序列的定义方式为:
[0011][0012]dk
为所述第一目标子序列中的第k个数据,所述为区别于所述第一目标子序列的数据;mk为所述掩膜向量m表示的所述第一目标子序列中的第k个数据的缺失情况,当mk=1时,表示所述第一目标子序列中的第k个数据未缺失;当mk=0时,表示所述第一目标子序列中的第k个数据缺失;当所述第一目标子序列中的第k个数据缺失时,使用*进行填充;*为任一不属于所述第一目标子序列中的值。
[0013]
可选地,所述将所述第一目标子序列与任一不属于所述第一目标子序列中的值合并后得到第二目标子序列之后,所述方法还包括:将所述第一目标子序列以及所述掩膜向量输入所述生成器中,得到所述生成器填补后的第三目标子序列;通过所述掩膜向量以及所述第二目标子序列,将所述第三目标子序列中的第四序列进行还原,并得到第四目标子序列;其中,所述第四序列为所述第一目标子序列中未缺失、且在所述第三目标子序列中由所述生成器生成的新的数据所覆盖的数据。
[0014]
可选地,所述通过所述掩膜向量以及所述第二目标子序列,将所述第三目标子序列中的第四序列进行还原之后,所述方法还包括:通过所述判别器对所述第四目标子序列中由所述生成器生成的数据进行识别,并根据识别结果调整所述生成器的参数以及调整所述判别器的参数;其中,调整所述判别器的参数用于提高所述判别器识别出由所述生成器生成的数据的概率;调整所述生成器的参数用于降低所述判别器识别出由所述生成器生成的数据的概率。
[0015]
本技术还提供一种基于生成对抗网络的电力系统负荷数据填补装置,包括:
[0016]
获取模块,用于获取第一目标数据;所述第一目标数据为存在数据缺失的负荷数
据;数据填补模块,用于将所述第一目标数据输入目标模型,通过所述目标模型对所述第一目标数据中的缺失部分进行数据填补,得到第二目标数据;其中,所述目标模型为生成对抗网络经过训练后得到的;所述生成对抗网络的生成器之前设置有多层感知器;所述多层感知器用于将样本数据进行分类;所述生成对抗网络的生成器与所述生成对抗网络的判别器之间的对抗过程为基于所述多层感知器对样本数据的分类结果进行的。
[0017]
可选地,所述装置还包括:分类模块;所述获取模块,还用于获取目标样本数据;所述目标样本数据为样本集中的任一样本数据;所述样本集中包括多个负荷数据样本;所述分类模块,用于将所述目标样本数据划分为n个子序列;每个子序列的大小为w,n为大于1的整数;所述分类模块,还用于使用所述多层感知器对所述目标样本数据进行分类,得到与第一目标子序列强相关的第一子序列集以及与所述第一目标子序列弱相关的第二子序列集;其中,所述第一目标子序列为所述n个子序列中存在数据缺失的子序列;所述第一子序列集、所述第二子序列集、所述第一目标子序列均包括至少一个子序列。
[0018]
可选地,所述分类模块,具体用于使用sigmoid激活函数对所述多层感知器进行非线性转移,分别计算所述n个子序列中除所述第一目标子序列之外的每个子序列与所述第一目标子序列之间的相关性,并对所述多层感知器的输出值进行二值化处理;所述分类模块,具体还用于若所述多层感知器经过二值化处理后的输出值为1,则将对应的子序列划分至所述第一子序列集;否则,将对应的子序列划分至所述第二子序列集;其中,所述多层感知器包括:gumbel softmax;所述gumbel softmax用于所述多层感知器的反向传播。
[0019]
可选地,所述装置还包括:数据生成模块;所述数据生成模块,用于将第一序列组合、第二序列组合以及第三序列组合分别输入所述生成器中,得到对所述第一目标子序列进行填补后的第一序列、第二序列以及第三序列;其中,所述第一序列组合包括:所述第一子序列集和所述第一目标子序列;所述第二序列组合包括:所述目标样本数据;所述第三序列组合包括:所述第二子序列集和所述第一目标子序列;所述第一序列组合对应所述第一序列;所述第二序列组合对应所述第二序列;所述第三序列组合对应所述第三序列。
[0020]
可选地,所述数据生成模块,具体用于根据所述第一目标子序列的w个数据中每个数据的缺失情况,构建所述第一目标子序列的掩膜向量;所述掩膜向量中值的取值范围为{0,1};所述数据生成模块,具体还用于将所述第一目标子序列与任一不属于所述第一目标子序列中的值合并后得到第二目标子序列;其中,所述第二目标子序列的定义方式为:
[0021][0022]dk
为所述第一目标子序列中的第k个数据,所述为区别于所述第一目标子序列的数据;mk为所述掩膜向量m表示的所述第一目标子序列中的第k个数据的缺失情况,当mk=1时,表示所述第一目标子序列中的第k个数据未缺失;当mk=0时,表示所述第一目标子序列中的第k个数据缺失;当所述第一目标子序列中的第k个数据缺失时,使用*进行填充;*为任一不属于所述第一目标子序列中的值。
[0023]
可选地,所述数据生成模块,具体还用于将所述第一目标子序列以及所述掩膜向量输入所述生成器中,得到所述生成器填补后的第三目标子序列;所述数据生成模块,具体还用于通过所述掩膜向量以及所述第二目标子序列,将所述第三目标子序列中的第四序列
进行还原,并得到第四目标子序列;其中,所述第四序列为所述第一目标子序列中未缺失、且在所述第三目标子序列中由所述生成器生成的新的数据所覆盖的数据。
[0024]
可选地,所述装置还包括:数据识别模块和参数优化模块;所述数据识别模块,用于通过所述判别器对所述第四目标子序列中由所述生成器生成的数据进行识别;所述参数优化模块,用于根据识别结果调整所述生成器的参数以及调整所述判别器的参数;其中,调整所述判别器的参数用于提高所述判别器识别出由所述生成器生成的数据的概率;调整所述生成器的参数用于降低所述判别器识别出由所述生成器生成的数据的概率。
[0025]
本技术还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如上述任一种所述基于生成对抗网络的电力系统负荷数据填补方法的步骤。
[0026]
本技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于生成对抗网络的电力系统负荷数据填补方法的步骤。
[0027]
本技术还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于生成对抗网络的电力系统负荷数据填补方法的步骤。
[0028]
本技术提供的基于生成对抗网络的电力系统负荷数据填补方法及装置,在电力系统的负荷数据出现缺失的情况下,获取存在数据缺失的负荷数据,即上述第一目标数据。之后,将该第一目标数据输入到目标模型中,通过目标模型对所述第一目标数据中的缺失部分进行数据填补,得到填补后的第二目标数据。如此,使得出现数据缺失的负荷数据能够得到精确的缺失值填补,提高了数据填补的准确性和实用性。
附图说明
[0029]
为了更清楚地说明本技术或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0030]
图1是本技术提供的基于生成对抗网络的电力系统负荷数据填补方法的流程示意图;
[0031]
图2是本技术提供的生成对抗网络的结构示意图;
[0032]
图3是本技术提供的不同数据缺失率下误差比较示意图;
[0033]
图4是本技术提供的不同填补方法误差比较示意图;
[0034]
图5是本技术提供的分类与不分类对误差的影响示意图;
[0035]
图6是本技术提供的基于生成对抗网络的电力系统负荷数据填补装置的结构示意图;
[0036]
图7是本技术提供的电子设备的结构示意图。
具体实施方式
[0037]
为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术中的附图,对本
申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0038]
本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
[0039]
负荷数据在电力系统中起着至关重要的作用,它是电力系统调峰任务中调节量和资金结算的依据,也是负荷/发电预测、分布式能源调度等任务的基础。负荷数据一般由智能终端采集,由于智能终端故障、停电、记录遗失等一些不可控原因,会造成负荷数据的缺失,数据质量降低,进而会对电力系统的下游任务产生扰动:负荷数据的缺失一方面会导致电力系统的稳定性、安全性受到极大的挑战,另一方面也会对调节量计算、资金结算等任务产生负面影响,导致调节量计算结果不准确、资金结算误差较大等问题。因此,负荷数据填补任务是电力系统中的关键任务之一。
[0040]
针对负荷数据的填补问题,传统的方法主要分为直接删除法和统计学习的填补方法。直接删除法即将包含缺失值的对象、数据属性、成对变量从数据集中直接舍弃。统计学的填补方法包括:默认值(常数值)填补、中位数填补、众数填补、前项或后项数据的插补、平均值填补等。近年来,随着机器学习模型的兴起,利用深度学习模型进行数据的填补逐渐成为一种主流的方式。例如,基于长短期记忆的方法、基于循环神经网络的方法、基于自编码器的方法、基于变分自编码器与高斯过程结合的方法以及基于生成对抗网络的方法。大多数深度学习模型需利用完整的数据集进行模型训练,这样的模型训练过程对样本数据的要求较为严格,实现难度较高。
[0041]
基于此,本技术实施例想到可以通过生成对抗模型来实现对电力系统的负荷数据的填补。生成对抗模型的训练可以在没有完整数据集的情况下进行,由于其自身的优越性,利用生成器和判别器之间的博弈对抗过程进行训练,实现缺失数据的填补。
[0042]
本技术提供的基于生成对抗网络的电力系统负荷数据填补方法,解决了如何从无标注的历史负荷数据中自适应地找到所有与出现数据缺失的目标数据相似的子序列,并通过类比生成对抗网络生成较准确的缺失值。
[0043]
下面结合附图,通过具体的实施例及其应用场景对本技术实施例提供的基于生成对抗网络的电力系统负荷数据填补方法进行详细地说明。
[0044]
如图1所示,本技术实施例提供的一种基于生成对抗网络的电力系统负荷数据填补方法,该方法可以包括下述步骤101和步骤102:
[0045]
步骤101、获取第一目标数据。
[0046]
其中,所述第一目标数据为存在数据缺失的负荷数据。
[0047]
示例性地,上述第一目标数据为智能终端等采集设备采集的预设时长的负荷数据,且该第一目标数据中存在数据缺失的情况。
[0048]
示例性地,由于智能终端出现故障、停电、记录遗失等一些不可控原因,会造成负
荷数据的缺失。在出现数据缺失的情况下,可以通过本技术实施例提供的目标模型,对缺失的部分进行填补。
[0049]
步骤102、将所述第一目标数据输入目标模型,通过所述目标模型对所述第一目标数据中的缺失部分进行数据填补,得到第二目标数据。
[0050]
其中,所述目标模型为生成对抗网络经过训练后得到的;所述生成对抗网络的生成器之前设置有多层感知器;所述多层感知器用于将样本数据进行分类;所述生成对抗网络的生成器与所述生成对抗网络的判别器之间的对抗过程为基于所述多层感知器对样本数据的分类结果进行的。
[0051]
具体地,生成对抗网络的生成器与所述生成对抗网络的判别器之间的对抗过程为基于分类后得到的子序列的不同组合进行的。
[0052]
示例性地,将上述出现数据缺失的第一目标数据输入到上述目标模型后,该目标模型便可以对第一目标数据中的缺失部分进行填补,并输出填补后的第二目标数据。
[0053]
示例性地,在得到填补后的第二目标数据后,便可以基于该第二目标数据执行电力系统的调节量计算、资金结算等任务,同时,也能够对电力系统的稳定运行起到积极的作用。
[0054]
可选地,在本技术实施例中,上述目标模型为生成对抗网络经过训练后得到的,具体地训练过程可以参照以下步骤进行。
[0055]
示例性地,历史负荷数据中往往存在与出现数据缺失的目标子序列相似的子序列,从历史负荷数据中自适应地找到所有与目标子序列相似的子序列,阻碍在于缺失具有随机性,负荷数据是无标注数据。鉴于上述问题,本技术实施例对现有的生成对抗网络进行了改进,在生成器之前增加了仅包含有一个隐层的多层感知器(multi-layer perceptron,mlp),以自适应地提取所有与目标序列相似的子序列,用于目标子序列的填补。
[0056]
本技术实施例提供的多层感知器,将历史负荷数据分为强相关子序列集与弱相关子序列集,强相关子序列集中包含了所有与目标序列相关的子序列。将强相关子序列集、弱相关子序列集分别与目标序列组合,输入到生成对抗网络中,通过两阶段引导的类比学习过程优化模型,从而实现缺失值的精确填补。
[0057]
示例性地,本技术实施例提供的基于生成对抗网络的电力系统负荷数据填补方法,还可以包括以下步骤201至步骤203:
[0058]
步骤201、获取目标样本数据。
[0059]
其中,所述目标样本数据为样本集中的任一样本数据;所述样本集中包括多个负荷数据样本。
[0060]
步骤202、将所述目标样本数据划分为n个子序列。
[0061]
其中,每个子序列的大小为w,n为大于1的整数。
[0062]
步骤203、使用所述多层感知器对所述目标样本数据进行分类,得到与第一目标子序列强相关的第一子序列集以及与所述第一目标子序列弱相关的第二子序列集。
[0063]
其中,所述第一目标子序列为所述n个子序列中存在数据缺失的子序列;所述第一子序列集、所述第二子序列集、所述第一目标子序列均包括至少一个子序列。
[0064]
示例性地,在本技术实施例中,可以将智能终端采集的预设时长的负荷数据作为样本数据,且该负荷数据中存在数据缺失的情况。
[0065]
示例性地,在将样本数据输入到生成器进行数据填补之前,还需要通过上述多层感知器对样本数据进行处理。举例说明,如图2所示,首先将上述目标样本数据x划分为n个大小为w的子序列,即x={x1,x2,x3,

,xn},并提取中存在数据缺失的第一目标子序列xi,该第一目标子序列可以包括一个或者多个子序列,在本技术实施例中,为了方便描述,以上述第一目标子序列为一个子序列为例进行描述。之后,通过上述多层感知器mlp将上述n个子序列中除第一目标子序列之外的其他子序列进行划分,得到与上述第一目标子序列强相关的第一子序列集x
pos
以及与上述第一目标子序列弱相关的第二子序列集x
neg

[0066]
需要说明的是,为了使得mlp对相关序列的分类更加准确,需要将上述多层感知器的模型参数进行反向传播,而mlp得到的结果阻碍了反向传播。如图2所示,为了解决这一问题,本技术实施例引入了gumbel softmax,以支持模型的反向传播学习。通过gumbel softmax的计算,可以将上述目标样本数据x划分为两个子序列集合,即x
pos
和x
neg
,x
pos
表示与含有缺失值的第一目标子序列强相关的序列,x
neg
表示与含有缺失值的第一目标子序列弱相关的序列。
[0067]
具体地,上述步骤203,可以包括以下步骤203a1和步骤203a2:
[0068]
步骤203a1、使用sigmoid激活函数对所述多层感知器进行非线性转移,分别计算所述n个子序列中除所述第一目标子序列之外的每个子序列与所述第一目标子序列之间的相关性,并对所述多层感知器的输出值进行二值化处理。
[0069]
步骤203a2、若所述多层感知器经过二值化处理后的输出值为1,则将对应的子序列划分至所述第一子序列集;否则,将对应的子序列划分至所述第二子序列集。
[0070]
其中,所述多层感知器包括:gumbel softmax;所述gumbel softmax用于所述多层感知器的反向传播。
[0071]
示例性的,上述n-1个子序列中每个子序列与第一目标子序列xi之间的相关性可以通过以下公式一进行表示:
[0072][0073]
其中,为向量运算,利用sigmoid激活函数对多层感知器f(
·
)进行非线性转移来识别两个数据之间的相关性。可以采用阈值策略,将f(
·
)的输出值进行二值化。即当时,y
j,i
=1,当时,y
j,i
=0。但是多层感知器mlp的输出不可微分,这就导致了模型不能很好地反向传播。为了解决这个问题,可以引入gumbel softmax,将gumbel softmax集成到多层感知器mlp中,使得mlp可以进行反向传播学习。具体来说,集成gumbel softmax生成器可以通过以下公式二和公式三进行表示:
[0074][0075][0076]
其中,p为通过多层感知器mlp得到的结果值,g=-log(-log(x)),x~(0,1)的均匀分布。τ是温度系数,用来调整多层感知器g0产生的相关性的平滑度。当g0(xj,xi)≥0.5时,xj即为与第一目标子序列xi相关的子序列;当g0(xj,xi)《0.5时,xj即为与第一目标子序列xi不
相关的子序列。
[0077]
示例性的,在根据上述多层感知器mlp对目标样本数据进行分类,并得到分类结果后,便可以将分类后的子序列进行组合,并依次输入到生成器中。
[0078]
具体地,上述步骤203之后,本技术实施例提供的基于生成对抗网络的电力系统负荷数据填补方法,还可以包括以下步骤204:
[0079]
步骤204、将第一序列组合、第二序列组合以及第三序列组合分别输入所述生成器中,得到对所述第一目标子序列进行填补后的第一序列、第二序列以及第三序列。
[0080]
其中,所述第一序列组合包括:所述第一子序列集和所述第一目标子序列;所述第二序列组合包括:所述目标样本数据;所述第三序列组合包括:所述第二子序列集和所述第一目标子序列;所述第一序列组合对应所述第一序列;所述第二序列组合对应所述第二序列;所述第三序列组合对应所述第三序列。
[0081]
举例说明,如图2所示,将上述第一子集合x
pos
与第一目标子序列xi、上述目标样本数据中的所有子序列以及上述第二子集合x
neg
与第一目标子序列xi,分别输入到生成对抗网络的生成器(generator)中,并得到对应的填补后的序列,包括:第一序列x
pos
、第二序列x
ini
以及第三序列x
neg

[0082]
需要说明的是,上述第一序列、第二序列以及第三序列,均为生成器对上述第一目标子序列进行数据填补后得到的序列。
[0083]
具体地,上述步骤204,可以包括以下步骤204a1和步骤204a2:
[0084]
步骤204a1、根据所述第一目标子序列的w个数据中每个数据的缺失情况,构建所述第一目标子序列的掩膜向量。
[0085]
其中,所述掩膜向量中值的取值范围为{0,1}。
[0086]
步骤204a2、将所述第一目标子序列与任一不属于所述第一目标子序列中的值合并后得到第二目标子序列。
[0087]
其中,所述第二目标子序列的定义方式为以下公式四:
[0088][0089]dk
为所述第一目标子序列中的第k个数据,所述为区别于所述第一目标子序列的数据;mk为所述掩膜向量m表示的所述第一目标子序列中的第k个数据的缺失情况,当mk=1时,表示所述第一目标子序列中的第k个数据未缺失;当mk=0时,表示所述第一目标子序列中的第k个数据缺失;当所述第一目标子序列中的第k个数据缺失时,使用*进行填充;*为任一不属于所述第一目标子序列中的值。
[0090]
示例性地,本技术实施例提供的基于生成对抗网络的电力系统负荷数据填补方法需要解决的另一个问题是如何利用生成对抗网络对缺失值进行填补。由于生成对抗网络的生成器在对第一目标子序列进行数据填充时,不仅会生成缺失部分的数据,未缺失部分的数据也会被替换掉,因此,需要对未缺失部分的数据进行还原。
[0091]
具体地,首先需要构建上述第一目标子序列的掩膜向量m=(m1,

,mw),该掩膜向量用于表示第一目标子序列的w个数据中每个数据的缺失情况,即当mk=1时,表示第一目标子序列的第k个数据未缺失;当mk=0时,表示第一目标子序列的第k个数据数据缺失。之
后,定义一个区别于上述第一目标子序列的第二目标子序列该第二目标子序列的表达形式参照上述公式四。即当第一目标子序列的数据未缺失时,该第二目标子序列对应的数据的数据与第一目标子序列的数据相同,否则,使用属于所述第一目标子序列中的值进行填充。
[0092]
示例性地,上述步骤204a2之后,上述步骤204还可以包括以下步骤204a3和步骤204a4:
[0093]
步骤204a3、将所述第一目标子序列以及所述掩膜向量输入所述生成器中,得到所述生成器填补后的第三目标子序列。
[0094]
步骤204a4、通过所述掩膜向量以及所述第二目标子序列,将所述第三目标子序列中的第四序列进行还原,并得到第四目标子序列。
[0095]
其中,所述第四序列为所述第一目标子序列中未缺失、且在所述第三目标子序列中由所述生成器生成的新的数据所覆盖的数据。
[0096]
示例性地,在使用生成器对上述第一目标子序列中的缺失数据进行填补时,需要将上述第一目标子序列以及上述掩膜向量输入到生成器中,得到填补后的第三目标子序列。由于该第三目标子序列中未缺失的数据也被替换了,因此,需要将其进行还原,进而得到只填充了缺失部分数据的第四目标子序列。
[0097]
具体地,可以通过以下公式五和公式六来表示上述第四目标子序列的生成过程:
[0098][0099][0100]
其中,为生成器输出的第三目标子序列;上述为上述第四目标子序列。
[0101]
示例性地,经过上述步骤,便可以得到上述第一序列、第二序列以及第三序列。即上述第一序列、第二序列以及第三序列均可以按照上述第四目标子序列的生成过程得到。区别在于输入到生成器的序列组合的不同。
[0102]
示例性地,上述步骤204a4之后,上述步骤204,还可以包括以下步骤204a5:
[0103]
步骤204a5、通过所述判别器对所述第四目标子序列中由所述生成器生成的数据进行识别,并根据识别结果调整所述生成器的参数以及调整所述判别器的参数。
[0104]
其中,调整所述判别器的参数用于提高所述判别器识别出由所述生成器生成的数据的概率;调整所述生成器的参数用于降低所述判别器识别出由所述生成器生成的数据的概率。
[0105]
示例性地,在标准的生成对抗神经网络中,生成器的输出要么是完全真实的,要么是完全虚假的,本发明中生成器的输出是部分真实,部分虚假。判别器并不是识别整个向量是真实的还是虚假的,而是试图区分哪些部分是真实的(原始未缺失的值),哪些部分是虚假的(生成器生成的值),这相当于预测掩膜向量m。
[0106]
需要说明的是,在本技术实施例中,基于生成对抗网络的数据填补,很大程度上依赖于输入网络的相关时序数据,若时序数据划分不准确,将直接导致缺失值填补结果不准确,为了解决这个问题,引入了类比学习的思想。类比学习的思想,充分利用了mlp生成的强相关子序列和弱相关子序列,将他们分别与目标序列进行组和,再分别输入到生成对抗网
络中进行填补。
[0107]
类比学习的目的是指导上述多层感知器的相关性学习,帮助多层感知器在历史序列中找出与目标数据强相关的子序列集。引入一个两阶段锚引导类比学习,促进生成对抗网络的优化。首先不对历史数据序列相关性进行分类,直接输入所有的历史数据序列,完成缺失数据的填补,得到目标序列填补后的序列x
ini
作为锚。之后,利用多层感知器进行分类后,得到的两个子序列集x
pos
和x
neg
,分别与需要填补的目标序列xi一同输入到生成对抗神经网络的生成器g,通过g得到两个对应的xi填补序列x
pos
和x
neg
。那么,x
pos
的填补效果应该好于x
ini
,x
ini
的填补效果应该好于x
neg
。因此生成对抗网络的目标函数可以通过以下公式七表示:
[0108][0109]
示例性地,区别于上述公式七,相关技术中,通常采用以下公式八作为生成对抗网络的目标函数:
[0110][0111]
本技术采用低碳伦敦(low carbon london,lcl)数据集对方法进行验证,lcl中的智能电表试验旨在表征伦敦的住宅消费者负荷,采用动态电价激励用电量增减。lcl负荷数据集包括从2013年1月1日到2013年12月31日期间1025位用户的电力负荷测量值,单位为kw。随机选取80%的用户数据作为训练集,10%的用户数据作为验证集,10%的用户数据作为测试集。
[0112]
本技术采用均方根误差(rmse)对填补效果进行评估。rmse的计算方式如以下公式九所示:
[0113][0114]
其中yi为原始值,为填补值。
[0115]
本技术的核心优点是设计了一个分类生成器(即上述多层感知器mlp)和一个类比学习过程,只利用与目标项强相关的序列进行缺失值填补。通过剥离实验,验证从历史序列中提取强相关序列来辅助缺失值填补的有效性。首先,不做任何处理,所有的历史序列输入到填补模型中,称之为“不分类”实验;其次,根据目标序列,将历史序列进行二分类,分为强相关序列集和弱相关序列集,将强相关序列集与目标序列共同输入到填补模型中进行实验,称为“二分类”实验。实验结果如图3所示。
[0116]
在不同缺失率的数据集下,实验结果是一致的,证明对历史序列进行相关性的提取对于缺失值的填补是有效的。如图3所示,两个实验的填补误差均会随着缺失率的增加而增加。在数据缺失率为20%时,进行历史相关序列提取的效果最好,二分类实验比不分类实验效果提升了10.7%。在缺失率为3%、10%、20%、40%、60%和80%时,加入了分类过程的填补方法比不加入分类的填补方法平均提高了8.3%。因此,类比过程能够在一定程度上提高缺失数据填补的准确性。
[0117]
本技术将所提的基于生成对抗网络的电力系统负荷数据填补方法与现有的缺失值填补方法(gain、mean、knn和missforest)进行比较。为了公平起见,本实验中,针对不同的填补方法,我们均取缺失率为10%的low carbon london数据集进行验证。实验结果如图4所示。
[0118]
在数据缺失率为10%的情况下,我们所提出的填补方法比现有的填补方法误差明显降低。如图4所示,我们提出的方法在缺失率为10%时,填补误差为0.142,相比于平均值方法误差降低了38%,相比于gain方法,填补误差降低了13.4%。证明我们所提出的填补方法在负荷数据集上的填补效果较好,优于实验中所列的其他缺失值填补方法。
[0119]
为了进一步验证所提方法的有效性,针对low carbon london数据集分别设置了不同的缺失率,在不同缺失率下,分别用五种填补方法进行缺失值填补,更全面的验证了针对负荷数据集,所提方法优于其他方法,填补准确性较高。实验结果如图5所示。
[0120]
由图5可以看出,均值方法在不同缺失率下的填补效果几乎一样,但是准确率较低。gain方法是近年来比较先进的缺失值填补方法,从图3中可以看出,在缺失率低于60%时,gain方法是有效的,相比于均值填补方法效果明显提升,但是缺失率较大时,gain方法学不到数据的准确分布规律,也就不能准确填补缺失值。同时,gain方法并未考虑到时序数据的特征,忽略了数据之间的时间相关性,而负荷数据是标准的时序数据,数据之间的相关性强,且存在一定的规律性,因此,在负荷数据集上gain方法表现不佳。knn方法和missforest相比于均值填补方法也有明显提升,但缺失率较大时,knn填补方法无法找到填补目标的邻居,填补方法失效。missforest填补方法相对较稳定,随着缺失率的增大,误差也越来越大。当缺失率达到80%时,均值填补方法、missforest方法和我们所提出的方法,填补效果相似。当缺失率小于80%时,所提方法相比于以上四种方法,填补效果有明显的提升。因此,证明所提方法能够完成数据填补并减少预测误差。
[0121]
本技术实施例提供的基于生成对抗网络的电力系统负荷数据填补方法,在电力系统的负荷数据出现缺失的情况下,获取存在数据缺失的负荷数据,即上述第一目标数据。之后,将该第一目标数据输入到目标模型中,通过目标模型对所述第一目标数据中的缺失部分进行数据填补,得到填补后的第二目标数据。如此,使得出现数据缺失的负荷数据能够得到精确的缺失值填补,提高了数据填补的准确性和实用性。
[0122]
需要说明的是,本技术实施例提供的基于生成对抗网络的电力系统负荷数据填补方法,执行主体可以为基于生成对抗网络的电力系统负荷数据填补装置,或者该基于生成对抗网络的电力系统负荷数据填补装置中的用于执行基于生成对抗网络的电力系统负荷数据填补方法的控制模块。本技术实施例中以基于生成对抗网络的电力系统负荷数据填补装置执行基于生成对抗网络的电力系统负荷数据填补方法为例,说明本技术实施例提供的基于生成对抗网络的电力系统负荷数据填补装置。
[0123]
需要说明的是,本技术实施例中,上述各个方法附图所示的。基于生成对抗网络的电力系统负荷数据填补方法均是以结合本技术实施例中的一个附图为例示例性的说明的。具体实现时,上述各个方法附图所示的基于生成对抗网络的电力系统负荷数据填补方法还可以结合上述实施例中示意的其它可以结合的任意附图实现,此处不再赘述。
[0124]
下面对本技术提供的基于生成对抗网络的电力系统负荷数据填补装置进行描述,下文描述的与上文描述的基于生成对抗网络的电力系统负荷数据填补方法可相互对应参
照。
[0125]
图6为本技术一实施例提供的基于生成对抗网络的电力系统负荷数据填补装置的结构示意图,如图6所示,具体包括:
[0126]
获取模块601,用于获取第一目标数据;所述第一目标数据为存在数据缺失的负荷数据;数据填补模块602,用于将所述第一目标数据输入目标模型,通过所述目标模型对所述第一目标数据中的缺失部分进行数据填补,得到第二目标数据;其中,所述目标模型为生成对抗网络经过训练后得到的;所述生成对抗网络的生成器之前设置有多层感知器;所述多层感知器用于将样本数据进行分类;所述生成对抗网络的生成器与所述生成对抗网络的判别器之间的对抗过程为基于所述多层感知器对样本数据的分类结果进行的。
[0127]
可选地,所述装置还包括:分类模块;所述获取模块601,还用于获取目标样本数据;所述目标样本数据为样本集中的任一样本数据;所述样本集中包括多个负荷数据样本;所述分类模块,用于将所述目标样本数据划分为n个子序列;每个子序列的大小为w,n为大于1的整数;所述分类模块,还用于使用所述多层感知器对所述目标样本数据进行分类,得到与第一目标子序列强相关的第一子序列集以及与所述第一目标子序列弱相关的第二子序列集;其中,所述第一目标子序列为所述n个子序列中存在数据缺失的子序列;所述第一子序列集、所述第二子序列集、所述第一目标子序列均包括至少一个子序列。
[0128]
可选地,所述分类模块,具体用于使用sigmoid激活函数对所述多层感知器进行非线性转移,分别计算所述n个子序列中除所述第一目标子序列之外的每个子序列与所述第一目标子序列之间的相关性,并对所述多层感知器的输出值进行二值化处理;所述分类模块,具体还用于若所述多层感知器经过二值化处理后的输出值为1,则将对应的子序列划分至所述第一子序列集;否则,将对应的子序列划分至所述第二子序列集;其中,所述多层感知器包括:gumbel softmax;所述gumbel softmax用于所述多层感知器的反向传播。
[0129]
可选地,所述装置还包括:数据生成模块;所述数据生成模块,用于将第一序列组合、第二序列组合以及第三序列组合分别输入所述生成器中,得到对所述第一目标子序列进行填补后的第一序列、第二序列以及第三序列;其中,所述第一序列组合包括:所述第一子序列集和所述第一目标子序列;所述第二序列组合包括:所述目标样本数据;所述第三序列组合包括:所述第二子序列集和所述第一目标子序列;所述第一序列组合对应所述第一序列;所述第二序列组合对应所述第二序列;所述第三序列组合对应所述第三序列。
[0130]
可选地,所述数据生成模块,具体用于根据所述第一目标子序列的w个数据中每个数据的缺失情况,构建所述第一目标子序列的掩膜向量;所述掩膜向量中值的取值范围为{0,1};所述数据生成模块,具体还用于将所述第一目标子序列与任一不属于所述第一目标子序列中的值合并后得到第二目标子序列;其中,所述第二目标子序列的定义方式为:
[0131][0132]dk
为所述第一目标子序列中的第k个数据,所述为区别于所述第一目标子序列的数据;mk为所述掩膜向量m表示的所述第一目标子序列中的第k个数据的缺失情况,当mk=1时,表示所述第一目标子序列中的第k个数据未缺失;当mk=0时,表示所述第一目标子序列中的第k个数据缺失;当所述第一目标子序列中的第k个数据缺失时,使用*进行填充;*为
任一不属于所述第一目标子序列中的值。
[0133]
可选地,所述数据生成模块,具体还用于将所述第一目标子序列以及所述掩膜向量输入所述生成器中,得到所述生成器填补后的第三目标子序列;所述数据生成模块,具体还用于通过所述掩膜向量以及所述第二目标子序列,将所述第三目标子序列中的第四序列进行还原,并得到第四目标子序列;其中,所述第四序列为所述第一目标子序列中未缺失、且在所述第三目标子序列中由所述生成器生成的新的数据所覆盖的数据。
[0134]
可选地,所述装置还包括:数据识别模块和参数优化模块;所述数据识别模块,用于通过所述判别器对所述第四目标子序列中由所述生成器生成的数据进行识别;所述参数优化模块,用于根据识别结果调整所述生成器的参数以及调整所述判别器的参数;其中,调整所述判别器的参数用于提高所述判别器识别出由所述生成器生成的数据的概率;调整所述生成器的参数用于降低所述判别器识别出由所述生成器生成的数据的概率。
[0135]
本技术提供的基于生成对抗网络的电力系统负荷数据填补装置,在电力系统的负荷数据出现缺失的情况下,获取存在数据缺失的负荷数据,即上述第一目标数据。之后,将该第一目标数据输入到目标模型中,通过目标模型对所述第一目标数据中的缺失部分进行数据填补,得到填补后的第二目标数据。如此,使得出现数据缺失的负荷数据能够得到精确的缺失值填补,提高了数据填补的准确性和实用性。
[0136]
图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(communications interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行基于生成对抗网络的电力系统负荷数据填补方法,该方法包括:获取第一目标数据;所述第一目标数据为存在数据缺失的负荷数据;将所述第一目标数据输入目标模型,通过所述目标模型对所述第一目标数据中的缺失部分进行数据填补,得到第二目标数据;其中,所述目标模型为生成对抗网络经过训练后得到的;所述生成对抗网络的生成器之前设置有多层感知器;所述多层感知器用于将样本数据进行分类;所述生成对抗网络的生成器与所述生成对抗网络的判别器之间的对抗过程为基于所述多层感知器对样本数据的分类结果进行的。
[0137]
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0138]
另一方面,本技术还提供一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的基于生成对抗网络的电力系统负荷数据填补方法,该方法包括:获取第一目标数据;所述第一目标数据为存在数据缺失的负荷数据;将所述第一目标数据输入目标模型,通过所述目标模型对所述第一目标数据中的缺失
部分进行数据填补,得到第二目标数据;其中,所述目标模型为生成对抗网络经过训练后得到的;所述生成对抗网络的生成器之前设置有多层感知器;所述多层感知器用于将样本数据进行分类;所述生成对抗网络的生成器与所述生成对抗网络的判别器之间的对抗过程为基于所述多层感知器对样本数据的分类结果进行的。
[0139]
又一方面,本技术还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的基于生成对抗网络的电力系统负荷数据填补方法,该方法包括:获取第一目标数据;所述第一目标数据为存在数据缺失的负荷数据;将所述第一目标数据输入目标模型,通过所述目标模型对所述第一目标数据中的缺失部分进行数据填补,得到第二目标数据;其中,所述目标模型为生成对抗网络经过训练后得到的;所述生成对抗网络的生成器之前设置有多层感知器;所述多层感知器用于将样本数据进行分类;所述生成对抗网络的生成器与所述生成对抗网络的判别器之间的对抗过程为基于所述多层感知器对样本数据的分类结果进行的。
[0140]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0141]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0142]
最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1