本发明属于电力系统分析,具体涉及一种基于生成对抗网络的日前现货出清电价-负荷数据修复方法。
背景技术:
1、在现代电力系统中,电力用户的负荷数据具有十分重要的作用。完整、准确的历史用户用电负荷数据是各类数据挖掘技术开展负荷预测、用户用电行为分析的基础;有效的负荷预测、用户用电行为分析,能够提高电力系统的管理效率,保障电力系统制定合理的生产计划,避免造成资源浪费,保证电网安全可靠运行,提供经济效益。但用户用电负荷数据的采集、传输、处理等各个环节均可能因用户计量装置设备故障、通讯中断或信号干扰等,使得负荷数据存在缺失、数据质量下降等问题;存在缺失现象的负荷数据无法正确表征用户的用电行为,将导致负荷预测、电力用户用电行为分析的精确度下降。因此,研究用户负荷数据缺失修复对新型电力系统的管理效率、安全稳定运行至关重要。
2、当前研究大多以负荷数据量测采集的时序特性、不同类型用户负荷数据间的相关性、负荷变化规律作为缺失数据修复的基础,进而通过数据建模的方式,利用大数据分析挖掘用户负荷数据的自身规律以及和其他相关因素的数据联系,实现缺失数据的重建。但现有技术方案当中数据需求量较大、数据类型需求较多,且针对多场景的适用性不足,难以量化模型与场景的关联性,在实际应用中往往无法达到较好的、稳定的效果。
技术实现思路
1、针对现有技术存在的缺陷和不足,本发明的目的在于提供一种基于生成对抗网络的日前现货出清电价-负荷数据修复方案,其核心部分为数据修复模型的构建方法,通过一系列的模型构建和训练过程,最终以计算机软件的形式适于在计算设备中执行,从而解决日前现货出清电价-负荷数据修复的问题。
2、该方案的基本构建过程包括:采集电力系统的日前现货市场历史出清电价数据与历史用户用电负荷数据,保留无缺失的数据部分,建立训练数据集;采用k-means聚类算法,对用户用电负荷数据集进行聚类分析,划分典型用户群体;建立深度卷积生成对抗网络dcgan模型,引入wasserstein距离与梯度惩罚函数,提升dcgan模型的性能;用日前现货市场历史出清电价数据与划分典型用户群体后的历史用户用电负荷数据对dcgan模型进行训练,保留针对每一类典型用户群体的生成器结构;引入二值掩码矩阵表征新采集用户用电负荷数据的缺失位置,而后将新采集日前现货市场出清电价数据集、典型用户用电负荷数据集、存在缺失现象的目标用户用电负荷数据,输入与该类典型用户群体对应的生成器,输出新的生成数据;通过新的生成数据样本填补目标用户用电负荷数据的缺失部分。
3、本发明具体采用以下技术方案:
4、一种基于生成对抗网络的日前现货出清电价-负荷数据修复方法,通过采集电力系统的日前现货市场历史出清电价数据与历史用户用电负荷数据,保留无缺失的数据部分,建立训练数据集;采用k-means聚类算法,对用户用电负荷数据集进行聚类分析,划分典型用户群体;建立深度卷积生成对抗网络dcgan模型,引入wasserstein距离与梯度惩罚函数,提升dcgan模型的性能;用日前现货市场历史出清电价数据与划分典型用户群体后的历史用户用电负荷数据对dcgan模型进行训练,保留针对每一类典型用户群体的生成器结构;引入二值掩码矩阵表征新采集用户用电负荷数据的缺失位置,而后将新采集日前现货市场出清电价数据集、典型用户用电负荷数据集、存在缺失现象的目标用户用电负荷数据,输入与该类典型用户群体对应的生成器,输出新的生成数据;最后通过新的生成数据样本填补目标用户用电负荷数据的缺失部分。
5、进一步地,具体包括以下步骤:
6、步骤s1:采集电力系统的日前现货市场历史出清电价数据与历史用户用电负荷数据,保留无缺失的数据部分,建立训练数据集;
7、步骤s2:采用k-means聚类算法,对用户用电负荷数据集l进行聚类分析,划分典型用户群体;
8、步骤s3:将典型用户群体与日前现货市场出清电价的样本数据作归一化处理;
9、步骤s4:建立深度卷积生成对抗网络dcgan模型;
10、步骤s5:引入wasserstein距离与梯度惩罚函数,以提升dcgan模型的性能;
11、步骤s6:将日前现货市场出清电价数据集p、lk中除lk0以外的负荷数据集lk-0作为条件,与随机噪声数据z拼接后输入生成器,生成器输出生成数据gk(z);
12、步骤s7:将日前现货市场出清电价数据集p、lk中除lk0以外的负荷数据集lk-0作为条件,与用户负荷数据生成样本gk(z)拼接后输入判别器;并将日前现货市场出清电价数据集p、lk中除lk0以外的负荷数据集lk-0作为条件,与选取的真实负荷数据集lk0拼接后也输入判别器,使判别器输出对用户负荷数据生成样本gk(z)与选取的真实负荷数据集lk0的判别情况;
13、步骤s8:计算生成器和判别器的损失函数,采用rmsprop优化算法对生成器和判别器的网络权重参数进行优化更新;当一轮训练结束,则返回步骤s6进行下一轮训练;
14、步骤s9:当训练结束后,保留dcgan中生成器模型gk的网络结构和参数;
15、步骤s10:当新采集的某一用户用电负荷数据缺失时,引入二值掩码矩阵表征用户用电负荷数据的缺失位置;
16、步骤s11:将日前现货市场出清电价数据集p、lk-new中除lk-new0以外的负荷数据集lk-knew0作为条件,与随机噪声数据z拼接后输入生成器,生成器gk输出生成数据gk(z);
17、步骤s12:通过生成数据样本gk(z)填补目标用户用电负荷数据的缺失部分。
18、进一步地,在步骤s1中:
19、定义无缺失的日前现货市场历史出清电价数据集为p,无缺失的历史用户用电负荷数据集为l,p的表达式如下:
20、
21、式中,pd,t表示第d天第t时刻的历史日前现货市场出清电价,d表示数据集包含的最大天数,m表示日前现货市场每日出清的电价个数;
22、l由n个ln数据集组成,表示数据集中共有n个用户;ln的表达式如下:
23、
24、式中,ln,d,t表示第n个用户第d天第t时刻的用电负荷数据,d表示数据集包含的最大天数,m表示用户每日所采集的用电负荷数据个数,用户用电负荷采集时刻与日前现货市场出清时刻一一对应;
25、在步骤s2中:
26、计算每个用户的平均负荷数据ln的平均负荷公式如下:
27、
28、输入平均负荷数据的集合:
29、再使用“手肘法”对聚类分析的聚类数量k进行判定;
30、初始化聚类中心,即:从平均负荷数据集合中随机选取k个数据作为聚类中心计算每个用户的平均负荷数据到各个聚类中心的欧式距离dnk,计算公式如下所示:
31、
32、式中,n=1,2,···,n;k=1,2,···,k;
33、设定数据的聚类标记为ln,并将划分至欧式距离最短的簇,计算公式如下:
34、ln=arg min dnk (5)
35、更新聚类中心,并使得ln=k,k=1,2,···,k;
36、设定聚类分析阈值ε,并判断目标函数的更新量是否小于阈值ε,目标函数e的计算公式如下所示:
37、
38、若目标函数e更新量不小于阈值ε,则继续聚类迭代t=t+1;当目标函数e更新量小于阈值ε时,结束聚类迭代过程;
39、最终根据聚类划分,形成k个典型用户群体,每一类典型用户群体用lk表示,k=1,2,···,k;每个lk包含若干个用户;
40、在步骤s3中:
41、归一化公式如下:
42、
43、
44、归一化后的数据,形成日前现货市场出清电价数据集p与n个用户负荷数据集ln;根据聚类分析,可将用户数据集进一步划分为k个典型用户数据集lk。
45、进一步地,在步骤s4中:
46、对于完整、无缺失的典型用户负荷数据集lk,设共包含i个用户,随机选取其中某一用户lk0,将其定义为真实数据;定义一组随机噪声数据z作为生成器的输入,以pz(z)表示z的概率分布,以pdata(lk0)表示真实数据lk0的概率分布;针对典型用户群体lk的特征,定义生成器所生成得到的数据样本gk(z)为生成数据,概率分布为pgk(z);定义判别器网络的输入为真实数据lk0和生成数据gk(z),输出为一个标量d(gk(z)),表示输入噪声z服从真实数据分布pdata(lk0)的概率;
47、根据生成器与判别器的训练目标,分别构造生成器和判别器的损失函数lg和ld,并确定gan训练过程中的目标函数:
48、
49、
50、
51、进一步地,在步骤s5中:
52、wasserstein距离的定义如下:
53、
54、式中,ω(pdata,pgk)是以pdata和pgk为边缘分布的联合概率分布γ的集合;w(pdata,pgk)为(u,v)~γ期望的下确界,表示将生成数据分布pgk拟合成真实数据分布pdata,需要将u移动到v的距离,其中u和v分别表示从联合分布γ中随机采样的真实数据样本lk0与生成数据样本gk(z);采用kantorovich-rubinstein对偶形式来描述生成样本与真实样本之间的距离:
55、
56、式中||fd||l≤k表明判别器函数d(lk0)满足k-lipschitz连续,即函数梯度的绝对值上限为k;为了保证梯度不超过限值k,对式(13)引入判别器函数d(lk0)在定义域内的梯度惩罚函数,使判别器函数d(lk0)近似满足k-lipschitz连续,以精确描述wasserstein距离,此时,gan的目标函数转化为:
57、
58、进一步地,在步骤s6中:
59、拼接后输入生成器的样本为三维矩阵形式,数据集p、随机噪声数据z与lk-0通过第3维度通道进行拼接,最终拼接形成样本的大小为m×d×i;其中第3维度矩阵的拼接顺序为[p,z,lk-0],lk-0={lk1,lk2,···,lk(i-1)};
60、dcgan模型的生成器结构如下所示:
61、卷积层1:32个卷积核,每个卷积核尺寸为3;步幅为1;边缘填充数为1;归一化函数为batchnorm2d;激活函数为线性整流函数leakyrelu;
62、卷积层2:64个卷积核,每个卷积核尺寸为3;步幅为1;边缘填充数为1;归一化函数为batchnorm2d;激活函数为线性整流函数leakyrelu;
63、卷积层3:128个卷积核,每个卷积核尺寸为3;步幅为1;边缘填充数为1;归一化函数为batchnorm2d;激活函数为线性整流函数leakyrelu;
64、卷积层4:256个卷积核,每个卷积核尺寸为3;步幅为1;边缘填充数为1;归一化函数为batchnorm2d;激活函数为线性整流函数leakyrelu;
65、卷积层5:16个卷积核,每个卷积核尺寸为3;步幅为1;边缘填充数为1;归一化函数为batchnorm2d;激活函数为线性整流函数relu;
66、卷积层6:4个卷积核,每个卷积核尺寸为3;步幅为1;边缘填充数为1;归一化函数为batchnorm2d;激活函数为线性整流函数relu。
67、进一步地,在步骤s7中:
68、日前现货市场出清电价数据集p、lk中除lk0以外的负荷数据集lk-0,与用户负荷数据生成样本gk(z)通过第3维度通道进行拼接,形成三维矩阵,最终拼接形成样本的大小为m×d×i;其中第3维度矩阵的拼接顺序为[p,gk(z),lk-0],lk-0={lk1,lk2,···,lk(i-1)};
69、日前现货市场出清电价数据集p、lk中除lk0以外的负荷数据集lk-0,与选取的真实负荷数据集lk0通过第3维度通道进行拼接,形成三维矩阵,最终拼接形成样本的大小为m×d×i;其中第3维度矩阵的拼接顺序为[p,lk0,lk-0],lk-0={lk1,lk2,···,lk(i-1)};
70、dcgan模型的判别器结构如下所示:
71、输入层:64个卷积核,每个卷积核尺寸为3;步幅为1;
72、卷积层1:128个卷积核,每个卷积核尺寸为4;步幅为2;归一化函数为batchnorm2d;激活函数为线性整流函数leakyrelu;
73、卷积层2:256个卷积核,每个卷积核尺寸为4;步幅为2;归一化函数为batchnorm2d;激活函数为线性整流函数leakyrelu;
74、卷积层3:512个卷积核,每个卷积核尺寸为4;步幅为2;归一化函数为batchnorm2d;激活函数为线性整流函数leakyrelu;
75、卷积层4:1024个卷积核,每个卷积核尺寸为4;步幅为2;归一化函数为batchnorm2d;激活函数为线性整流函数leakyrelu;
76、卷积层5:2048个卷积核,每个卷积核尺寸为4;步幅为2;归一化函数为batchnorm2d;激活函数为线性整流函数leakyrelu;
77、卷积层6:512个卷积核,每个卷积核尺寸为3;步幅为1;归一化函数为batchnorm2d;激活函数为线性整流函数leakyrelu;
78、卷积层7:128个卷积核,每个卷积核尺寸为3;步幅为1;归一化函数为batchnorm2d;激活函数为线性整流函数leakyrelu;
79、输出层:稠密层结构,包含1024个神经网络单元,1个样本作为输出。
80、进一步地,在步骤s8中:设定rmsprop优化算法的学习率=2×10-4,参数=0.9;
81、rmsprop优化算法的公式如下:
82、sdw=βsdw+(1-β)dw2
83、sdb=βsdb+(1-β)db2
84、
85、
86、在公式中sdw和sdb分别是损失函数在之前迭代过程中累积的梯度动量,β是一个表示梯度累积的参数;rmsprop算法对梯度计算了微分平方加权平均数;当dw或者db中出现超出预设范围的值时,将此变化量除以它在之前迭代过程中累积的梯度动量,以满足梯度摆动幅度值的要求;ε是为了防止分母为零造成奇异的辅助参数;
87、在步骤s10中:
88、定义新采集的第k类典型用户负荷数据集为lk-new,定义该负荷数据集中出现缺失现象的目标用户用电负荷数据为lk-new0,引入维度为m×d的二值掩码矩阵m对目标用户用电负荷数据lk-new0的缺失情况进行表征,缺失位置所对应的元素值为0,否则为1;定义缺失值经过表征处理后的目标用户用电负荷数据为其公式如下所示:
89、
90、式中,⊙为矩阵的哈达玛积运算。
91、进一步地,在步骤s11中:
92、日前现货市场出清电价数据集p、lk-new中除lk-new0以外的负荷数据集lk-knew0,与随机噪声数据z通过第3维度通道进行拼接,形成三维矩阵,最终拼接形成样本的大小为m×d×i;其中第3维度矩阵的拼接顺序为[p,z,lk-knew0],lk-knew0={lk-knew1,lk-knew2,···,lk-knew(i-1)};
93、在步骤s12中:
94、定义的缺失数据被填补后,最终输出的用户用电负荷数据为保留了原数据未缺失的部分,且缺失的部分通过生成数据gk(z)进行填补,计算公式如下所示:
95、
96、以及,一种基于生成对抗网络的日前现货出清电价-负荷数据修复装置,基于计算机系统,在运行时使用如上所述的基于生成对抗网络的日前现货出清电价-负荷数据修复方法。
97、一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于:在运行时使用如上所述的基于生成对抗网络的日前现货出清电价-负荷数据修复方法。
98、相比于相关技术,本发明及其优选方案以生成对抗网络算法为基础,通过大数据建模分析技术实现电力用户负荷数据的缺失修复。与已有方法相比,本方法主要适用于电力现货市场中的用户负荷数据缺失修复,简单高效且数据类型需求较少,针对时空条件不同的各类电力现货市场、用电行为不同的各类电力用户,通用性较强。本方法充分考虑电力现货市场中的电力供给和需求情况,以深度学习建模的方式,模拟市场供求关系和电价的关联,进而构建日前现货出清电价与用户负荷数据间的关联性,最终通过日前现货出清电价的自身变化规律,对存在缺失现象的用户负荷数据进行修复。