一种基于GAN的用户负荷曲线生成方法技术

技术编号:22644181 阅读:27 留言:0更新日期:2019-11-26 16:45
本发明专利技术涉及一种基于GAN的用户负荷曲线生成方法,属于电力系统需求侧响应领域。该方法包括:负荷曲线归一化、搭建生成网络、搭建判别网络、交替训练生成网络、负荷曲线生成。本方法基于GAN(Generative Adversarial Network,生成对抗网络),利用GAN捕捉真实数据隐含的统计特征,并基于统计特征生成海量用户负荷,使得生成负荷数据既能遵循用户固有的分布特征,又不乏多样性。利用本方法能够在真实数据不足的情况下生成海量虚拟负荷数据,生成数据能够反映用户真实的用电特征,体现真实负荷的统计特征,同时能够模拟用户多样的用电行为,从而替代真实数据用于配电网分析以及需求侧响应技术的模拟。

A method of generating user load curve based on GaN

The invention relates to a user load curve generation method based on Gan, which belongs to the field of demand side response of power system. This method includes: normalization of load curve, building generation network, building discrimination network, alternating training generation network and load curve generation. This method is based on GaN (generative adversarial network). It uses Gan to capture the hidden statistical characteristics of real data, and generates massive user loads based on statistical characteristics, so that the generated load data can not only follow the inherent distribution characteristics of users, but also have many kinds of characteristics. This method can generate massive virtual load data when the real data is insufficient. The generated data can reflect the real power consumption characteristics of users, reflect the statistical characteristics of the real load, and simulate various power consumption behaviors of users, so as to replace the real data for distribution network analysis and Simulation of demand side response technology.

【技术实现步骤摘要】
一种基于GAN的用户负荷曲线生成方法
本专利技术涉及一种基于GAN的用户负荷曲线生成方法,属于电力系统需求侧响应领域。
技术介绍
现阶段,电网正在向着智能化,分布式,清洁化的方向发展,伴随着电网的深刻变革,对于电力系统的分析和研究对象,也从系统层、母线层开始向末端配网、终端用户延伸。用户负荷作为末端配网的重要组成部分,正在获得越来越多的关注,诸多配电网分析方法和需求侧响应技术的部署离不开用户负荷数据的支撑。然而,由于受到隐私保护法律和智能电表普及程度的限制,当前可用的用户真实负荷数据严重不足,这严重阻碍了领域内相关研究的推进。因此,需要提出一种用户负荷生成方法,能够在数据不足的情况下生成海量虚拟负荷数据,生成数据能够反映用户真实的用电特征,体现真实负荷的统计特征,同时能够模拟用户多样的用电行为,从而替代真实数据用于配电网分析以及需求侧响应技术的模拟。
技术实现思路
本专利技术的目的是提出一种基于GAN(GenerativeAdversarialNetwork,生成对抗网络)的用户负荷曲线生成方法,在真实负荷数据不足的情况下,通过生成数据的方式补充数据集。本专利技术提出的基于GAN的用户负荷曲线生成方法包括以下步骤:步骤1:负荷归一化:记用户已有的历史负荷曲线集合其中,每条负荷曲线记做:其中,T为负荷曲线长度,首先找到用户历史负荷的最大值与最小值:根据极大负荷与极小负荷将负荷值调整至区间[-1,1]间,如下:步骤2:搭建生成网络:>记生成网络为G,生成网络的输入是服从高斯分布的噪声向量z,生成网络的输出是生成的模拟负荷曲线xg,记为:xg=G(z;θg)其中,θg为G中的待求参数;由于负荷曲线是一维向量,因此生成网络实际上完成的是从定长一维向量到定长一维向量之间的映射,根据神经网络的特点,生成网络的隐含层直接选用全连接层即可,具体如下:待生成曲线的维度是1×N,因此输入高斯分布的噪声向量z长度也为1×N,其中z中的每个元素服从正态分布,即zi~N(0,1);生成网络的第一层为含有2N个神经元的全连接层f1,记其输出为p1,则本层运算定义为:p1=f1(z),其中,z∈R1×N,p1∈R1×2Nf1将z映射到一个两倍于原来的高维空间;生成网络的第二层为含有4N个神经元的全连接层f2,记其输出为p2,则本层运算定义为:p2=f2(p1),其中,p1∈R1×2N,p2∈R1×4Nf2进一步将p1映射到一个两倍于原来的高维空间;生成网络的最后一层为含有N个神经元的全连接层f3,其输出为生成曲线xg,则本层运算定义为:xg=f3(p2),其中,p2∈R1×4N,xg∈R1×Nf3将高维空间中的抽象特征映射到真实空间;f1、f2、f3本质上是线性仿射运算,每步运算对应的参数矩阵分别是即全连接层f1、f2、f3对应的变换方式为:p1=zA1、p2=p1A2、xg=p2A3但是仅仅引入仿射变换使得模型仍然是线性的,而负荷曲线中包含着大量的非线性,因此需要为生成网络加入非线性元素,使其具备建立非线性模型的能力,通过在每一次仿射变换后使用非线性激活函数可以为模型加入非线性,即在第一次和第二次仿射变换后,使用relu激活函数,如下:p′1=relu(p1),p'2=relu(p2)其中,relu激活函数为:在最后一次仿射变换后,使用tanh激活函数,即:x'g=tanh(xg)其中,tanh激活函数为:通过tanh激活函数将生成曲线xg的值域调整至区间[-1,1]间,与真实曲线相同;生成网络G中,仿射矩阵中的元素即为网络参数θg,需要通过训练得到;步骤3:搭建判别网络:记判别网络为D,判别网络的输入是负荷曲线x,判别网络的输出是负荷曲线来自真实样本集的概率P,当判别网络认为负荷曲线是真实的概率越大,则其输出趋于1,当认为负荷曲线是生成的概率越大,则其输出趋于0,记为:P=D(x;θd)其中,θd为D中的待求参数;由于负荷曲线为一维向量,因此判别网络实际上完成的是从定长一维向量到数值区间[0,1]之间的映射,根据神经网络的特点,判别网络的隐含层直接选用全连接层即可,具体如下:待判别曲线的维度是1×N,判别网络的第一层为含有4N个神经元的全连接层d1,记其输出为q1,则本层运算定义为:q1=d1(x),其中,x∈R1×N,q1∈R1×4Nd1将x映射到一个四倍于原来的高维空间;判别网络的第二层为含有2N个神经元的全连接层d2,记其输出为q2,则本层运算定义为:q2=d2(q1),其中,q1∈R1×4N,q2∈R1×2Nd2将q1映射到一个二分之一于原来的低维空间;判别网络的最后一层为含有N个神经元的全连接层d3,其输出为对曲线来源的判别概率P,则本层运算定义为:P=d3(q2),其中,q2∈R1×2N,P∈[0,1]d1、d2、d3本质上是线性仿射运算,每步运算对应的参数矩阵分别是B1∈RN×4N、B2∈R4N×2N、B3∈R2N×N,即全连接层d1、d2、d3对应的变换方式为:q1=xB1、q2=q1B2、P=q2B3同样为判别网络加入非线性环节,即在第一次和第二次仿射变换后,使用leaky-relu激活函数,如下:q′1=leaky-relu(q1),q'2=leaky-relu(q2)其中,leaky-relu激活函数为:在最后一次仿射变换后,使用Sigmoid激活函数,即:P'=Sigmoid(P)其中,Sigmoid激活函数为:通过Sigmoid激活函数将P的值域调整至区间[0,1]间,使其具备概率属性;判别网络D中,仿射矩阵中的元素即为网络参数θd,需要通过训练得到;步骤4:网络训练:神经网络经过梯度下降算法得到参数的最优估计,本方法模型内含两个网络,两个网络交替训练,一方训练时另一方固定,因此也采用基于梯度下降的最优化算法;首先,定义判别网络的训练目标函数,判别网络应当使得其对真实曲线的输出趋于1,对生成曲线的输出趋于0,此处引入二分类交叉熵函数:其中,为预测值,y真实值,对真实曲线,上式中的相关变量为:对生成曲线,上式中的相关变量为:将以上真实曲线和生成曲线的相关变量分别代入二分类交叉熵函数,将得到的交叉熵函数相加,则有:lossD=-ln(D(xi;θd))-ln(1-D(xg;θd))判别网络的训练目标是使得损失函数达到最小,考虑到上式右端的第二部分求导困难,将其进一步化简为:lossD=-ln(D(xi;θd))+ln(D(xg;θd))其中,xg=G(z;θg),故有:lo本文档来自技高网...

【技术保护点】
1.一种基于GAN的用户负荷曲线生成方法,其特征在于,包括以下步骤:/n步骤1:负荷归一化:/n记用户已有的历史负荷曲线集合

【技术特征摘要】
1.一种基于GAN的用户负荷曲线生成方法,其特征在于,包括以下步骤:
步骤1:负荷归一化:
记用户已有的历史负荷曲线集合其中,每条负荷曲线记做:其中,T为负荷曲线长度,首先找到用户历史负荷的最大值与最小值:



根据极大负荷与极小负荷将负荷值调整至区间[-1,1]间,如下:



步骤2:搭建生成网络:
记生成网络为G,生成网络的输入是服从高斯分布的噪声向量z,生成网络的输出是生成的模拟负荷曲线xg,记为:
xg=G(z;θg)
其中,θg为G中的待求参数;
由于负荷曲线是一维向量,因此生成网络实际上完成的是从定长一维向量到定长一维向量之间的映射,生成网络的隐含层直接选用全连接层,具体如下:
待生成曲线的维度是1×N,因此输入高斯分布的噪声向量z长度也为1×N,其中z中的每个元素服从正态分布,即zi~N(0,1);
生成网络的第一层为含有2N个神经元的全连接层f1,记其输出为p1,则本层运算定义为:
p1=f1(z),其中,z∈R1×N,p1∈R1×2N
f1将z映射到一个两倍于原来的高维空间;
生成网络的第二层为含有4N个神经元的全连接层f2,记其输出为p2,则本层运算定义为:
p2=f2(p1),其中,p1∈R1×2N,p2∈R1×4N
f2进一步将p1映射到一个两倍于原来的高维空间;
生成网络的最后一层为含有N个神经元的全连接层f3,其输出为生成曲线xg,则本层运算定义为:
xg=f3(p2),其中,p2∈R1×4N,xg∈R1×N
f3将高维空间中的抽象特征映射到真实空间;
f1、f2、f3本质上是线性仿射运算,每步运算对应的参数矩阵分别是A1∈RN×2N、A2∈R2N×4N、A3∈R4N×N,即全连接层f1、f2、f3对应的变换方式为:
p1=zA1、p2=p1A2、xg=p2A3
但是引入仿射变换使得模型仍然是线性的,而负荷曲线中包含着大量的非线性,因此需要为生成网络加入非线性元素,使其具备建立非线性模型的能力,通过在每一次仿射变换后使用非线性激活函数可以为模型加入非线性,即在第一次和第二次仿射变换后,使用relu激活函数,如下:
p'1=relu(p1),p'2=relu(p2)
其中,relu激活函数为:



在最后一次仿射变换后,使用tanh激活函数,即:
x'g=tanh(xg)
其中,tanh激活函数为:



通过tanh激活函数将生成曲线xg的值域调整至区间[-1,1]间,与真实曲线相同;
生成网络G中,仿射矩阵中的元素即为网络参数θg,需要通过训练得到;
步骤3:搭建判别网络:
记判别网络为D,判别网络的输入是负荷曲线x,判别网络的输出是负荷曲线来自真实样本集的概率P,当判别网络认为负荷曲线是真实的概率越大,则其输出趋于1,当认为负荷曲线是生成的概率越大,则其输出趋于0,记为:
P=D(x;θd)
其中,θd为D中的待求参数;
由于负荷曲线为一维向量,因此判别网络实际上完成的是从定长一维向量到数值区间[0,1]之间的映射,判别网络的隐含层直接选用全连接层,具体如下:
待判别曲线的维度是1×N,判别网络的第一层为含有4N个神经元的全连接层d1,记其输出为q1,则本层运算定义为:
q1=d1(x),其中,x∈R1×N,q1∈R1×4N
d1将x映射到一个四倍于原来的高维空间;
判别网络的第二层为含有2N个神经元的全连接层d2,记其输出为q2,则本层运算定义为:
q2=d2(q1),其中,q1∈R1×4N,q2∈R1×2N
d2将q1映射到一个二分之一于原来的低维...

【专利技术属性】
技术研发人员:陈建福曹安瑛李建标甘德树裴星宇唐捷刘嘉宁温柏坚蔡徽陈勇周建明邹国惠黄培专杨昆唐小川钱兴博萧展辉裴求根江疆游雪峰王大鹏黄明磊黄剑文彭泽武魏理豪谢瀚阳凌华明廖志戈皮霄林
申请(专利权)人:广东电网有限责任公司广东电网有限责任公司珠海供电局
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1