基于自编码器与生成对抗网络的风电周度场景生成方法
2024-01-08孙义豪冯健冰全少理于昊正任洲洋
孙义豪, 郭 勇, 冯健冰, 全少理, 丁 岩, 于昊正, 任洲洋
(1.国网河南省电力公司经济技术研究院, 河南 郑州 450000; 2.输变电装备技术全国重点实验室(重庆大学), 重庆 400044)
1 引言
在“双碳目标”的要求下,发展低碳清洁能源发电技术已是迫切需求。然而,随着以风/光为代表的清洁能源渗透率的不断提高,其明显的时空特性所带来的弊端也逐渐显露[1,2]。准确地模拟其出力特性能够为电力系统调度、运行计划的协同制定提供科学的数据支撑[3]。
风/光出力模拟的时间尺度可分为日前、周度、月度、年度,由于用户侧一周内的负荷特性周期规律(工作日/周末)较为明显,因此在电源侧以周为时间尺度进行出力模拟,对电网调度、检修计划的制定更具指导意义[4,5]。周度风/光出力场景具有维度高、随机性强等特点,现有模拟方法主要基于区间模拟法[6,7]与场景分析法[8-12]。其中场景分析法对不确定性区间寻优稳定性较高,现有场景分析法主要利用统计学方法近似新能源出力的先验概率分布,再结合抽样方法生成风/光的出力场景。该方法能保障计算的高效性与明晰不确定信息的数学特征,然而局限于概率分布数学模型的表达能力,难以全面、精确地模拟可再生能源的真实出力特性[13]。
随着人工智能的兴起,对深度学习算法在场景生成应用方面的研究热潮方兴未艾,以自编码器(AutoEncoder, AE)[14]、生成对抗网络(Generative Adversarial Networks, GAN)[15]为代表的生成式深度学习算法因其优异的自适应数据分布学习能力在场景生成中具有独特优势。文献[16,17]基于AE及其变体算法有效地提取高维序列的特征,减小序列维度的同时,有效地保留场景的时序性。然而,AE多以历史数据分布为学习导向,导致其对于刻画新能源不确定性的泛化能力较弱,难以准确模拟新能源出力特性;文献[13,18-21]利用GAN中生成器与判别器的对抗训练,实现可再生能源场景的自适应生成。该方法可靠地保留了中长期场景的日峰谷特性,同时通过高斯噪声驱动网络输入,能够有效模拟风/光出力的不确定性。然而,现有GAN方法对长序列的学习能力不足,难以精确描述场景的时序性[22],同时,仅刻画峰谷特性的场景生成方法无法满足精度需求更高的周度风电模拟。
本文针对上述问题,提出了一种基于自编码器与生成对抗网络的周度场景生成办法。本文具体的工作流程如图1所示。首先为保证长序列的时序性,结合深度卷积自编码器(Deep Convolutional AutoEncoder,DCAE)[23]的特征自提取能力,将风电周度出力场景序列降维得到特征向量集,有效保留风电的峰谷特性;其次将低维度特征向量作为条件类标签给条件对抗生成网络(Conditional Generative Adversarial Networks, CGAN)[24]进行训练,得到保留风电不确定性与时序性的场景生成器;随后对特征向量集进行K-means聚类,得到典型特征集,将典型特征集输入场景生成器得到具有精细化模拟效果的周度典型场景集;最后通过对比算法表明本文提出方法能够有效刻画周度风电出力序列的时序性和不确定性。
图1 风电周度典型出力场景集生成流程图Fig.1 Generation flow chart of typical weekly wind power output scenario set
2 基于深度卷积自编码器与聚类技术的典型特征集生成
2.1 基于DCAE算法的特征集生成
周度场景为电力系统中期调度、运行计划的制定提供数据基础,然而周度场景序列维度高,模拟难度较大,为降低序列维度,本节采用DCAE抽象出风电出力序列的隐特征,能够在降低序列维度的同时有效地保留风电的时序性,最终得到的特征集作为生成对抗网络的训练数据集。
DCAE由深度卷积编码器(Deep Convolutional Encoder, DCE)与深度卷积解码器(Deep Convolutional Decoder, DCD)两部分组成。编码器通过隐层的深度卷积神经网络将输入数据映射至高维空间,抽象出样本的特征;解码器将特征还原至原始样本的维度得到重构样本,重构样本与原始样本的数据分布偏差作为训练导向,能够高效、自主地优化网络。本文将周度风电出力序列作为网络的输入向量X,通过指向性地训练能够有效地去除冗余数据,得到保留风电时序性的低维特征集c。其基本模型结构如图2所示。图2中,f与g分别为编码器与解码器隐层深度神经网络表征的映射关系,它们之间的联系如式(1)所示。
图2 DCAE模型结构图Fig.2 DCAE model structure diagram
(1)
通过重构数据与风电原始数据的均方误差MSE作为网络的损失函数LVE。
(2)
2.2 基于K-means的特征集聚类
通过DCAE得到的特征集能够直观地描述出原始风电出力数据的峰谷特性,然而,对整个特征集进行分析不仅会加重计算负担,还可能因部分不良数据致使电网分析错误。通过聚类技术得到典型特征集从而生成典型场景集能够有效地提高电力系统分析效率。K-means是最经典的无监督聚类算法之一,它能够根据数据间相似程度将样本集自动分为K个类别。在训练过程中,K-means通过比较样本与各聚类中心的距离量值来选择样本的所属类别并更新聚类中心。本文采用欧氏距离衡量风电特征集c内的某一样本ci=(ci1,ci2,…,cim)到聚类中心hk,k∈K的差异程度D,其值越小表示样本的相似度越大,计算如下所示:
(3)
3 基于CGAN的周度风电场景模拟
3.1 条件生成对抗网络
本文采用CGAN有效学习周度风电出力数据的分布特征及模拟其不确定性,CGAN以生GAN为基础,对其输入添加一定的条件以匡正学习导向,能够将白噪声通过附加条件的形式指定性地投向映射空间,最终生成与风电典型特征集对应的典型场景集。
其中生成器由CGAN条件生成对抗网络训练得到,CGAN的原理如图3所示。
图3 CGAN原理图Fig.3 Principle diagram of CGAN
以风电特征集c作为条件,噪声z在条件c下通过生成器G生成场景s′,判别器D能估计输入的数据来源于真实场景s的概率。G的训练目标是最大化判别器犯错的概率,D的训练目标是最小化判别器犯错的概率。二者在此不断进行博弈,直至由G生成场景s′足以逼近真实场景s,使得D无法准确辨别样本来源。设s、s′分别服从的概率分布为P_s,P_s′,可得到网络的价值函数为:
Es′~P_s′log[1-D(s′|c)]
(4)
式中,E为期望;D(~)为判断“~”为真的概率。
由网络的价值函数可以等价得到网络训练的损失函数为:
(5)
式中,LossG、LossD分别为生成器与判别的损失函数。
3.2 基于CGAN的网络模型设计
周度场景具有维度高、不确定性强等特点,需要通过捕捉其低维特征集的数据分布从而生成高维出力场景,因此在生成器中引入反卷积神经网络(DeConvolution Neural Networks, DCNN)。DCNN是CNN的逆过程,能将捕捉到的风电特征值逆向映射至网络空间,实现数据的重构与升维。
3.3 风电周度典型出力场景集生成步骤
现将步骤归结如下:
(1)将原始周度风电出力数据集进行数据清洗、批归一化等预处理得到真实数据集。
(2)将处理过的数据输入DCAE的编码器降维提取特征,得到特征集。
(3)随机生成指定维度的高斯分布噪音,以特征集为条件,根据图3结构输入CGAN网络训练,网络完成训练后提取生成器。
(4)利用K-means对特征集进行聚类,得到典型特征集。
(5)将典型特征集输入生成器得到周度典型出力场景集。
4 算例分析
4.1 数据背景与数据预处理
本数据集取自爱尔兰某风电厂于2010~2019年的出力数据,统计时间间隔为1 h。本文实验硬件为 CPU Intel Core i9-10900K 1.80 GHz,GPU NVIDIA GeForce RTX 3090,选用Pycharm解释器与PyTorch动态张量流框架。风电周场景序列维度为168、通过DCAE输出特征序列的维度为24。
对DCAE采用全集训练,以充分保障对数据集特征的学习。此外,对CGAN的数据集分配见表1,其中验证集用于网络参数的微调。此外,特征集作为CGAN的输入条件,需要与噪声及真实数据集的维度相同。因此,本文通过one-hot编码将特征序列维度拓展至168,进而通过纵向拼接形成维度为(2,168)的输入矩阵。
表1 CGAN数据集的分配Tab.1 Dataset allocation of CGAN
4.2 场景生成的有效性与准确性
为分析生成场景的有效性与准确性,本文将结合两个方案进行对比:
方案一:采用本文提出的方法生成周度典型场景集。
方案二:采用文献[13]的方法,利用K-means对原始风电数据集进行聚类得到原始典型场景集,以原始典型场景集为条件,通过CGAN生成周度典型场景集。
为展示方案一特征提取效果与聚类效果,以第15周与第28周为例,基于DCAE的特征提取效果展示如图4所示。通过编码器将真实的周度风电出力场景特征(左图)提取为特征序列(右图),再基于解码器重构出风电出力场景。由真实场景与重构场景的重合度可知,重构场景的拟合程度较高,表示网络训练的准确性较高;通过比较真实场景与特征序列的变化趋势可知,DCAE对真实场景的峰谷特征实现了准确地定位与提取,有效去除冗余信息。
图4 DCAE特征提取效果图Fig.4 DCAE feature extraction effect diagram
通过K-means聚类得到周度风电的典型特征,其中最优K值通过手肘法[25]确定,其值为3,由此得到典型特征集。各类特征集及其聚类中心如图5所示,聚类中心分别对应第110、75、295周的真实出力场景。
图5 各类特征集分布图Fig.5 Distribution diagram of various feature sets
为分析方案一的有效性,本文将特征集与真实数据集作为数据集置于CGAN中训练,设置迭代次数为300,图6为判别器损失函数的收敛图。在训练50代左右时,网络误差快速地减小,随后在200代左右出现稳定的收敛。
图6 CGAN判别器损失函数收敛图Fig.6 Convergence diagram of CGAN Discriminator loss function
当网络训练完成后,提取生成器用于生成周度风电出力场景。将第2节得到的典型特征集,即第110、75、295周的特征序列,分别拼接300组高斯白噪声作为生成器的输入,输出的场景集如图7所示,图7中包含了该典型特征序列对应的真实出力场景。所生成的周度风电出力场景集形成一定的功率区间,其描述了风电的不确定性与波动范围。同时,生成的场景集涵盖了真实出力场景,并与之变化趋势一致,说明所生成场景能够精确地描述风电出力的峰谷特性。因此,方案一的方法生成的周度场景在保障时序性的同时还能体现出风电的不确定性。
图7 典型场景生成图Fig.7 Typical scene generation diagram
相关系数量化了不同序列在不同时刻的相关程度。可再生能源出力具有时序相关性,因此可以通过自相关系数(Autocorrelation Coefficient Function, ACF)与偏自相关系数(Partial Autocorrelation Coefficient Function,PACF)对生成的场景集进行定量分析。ACF描述了在间隔时间为τ的两序列之间的相关性,PACF则表示两出力时刻之间的相关性。ACF与PACF的计算如下所示:
(6)
(7)
本文取第110周生成的典型场景为例,以1 h为间隔单位,计算生成场景ACF、PACF指标随时间间隔的变化情况分别如图8和图9所示。从图8中可以得到生成场景的出力序列前35个小时有一定的自相关性,且随着时间间隔增大逐渐衰减,并呈现出负相关。这反映出通过本文方法所生成的场景能够体现出风电出力的时序相关特性。通过图9可以看出,PACF仅在间隔2个小时内具有强相关性,随着间隔时间的拉长迅速衰减且呈现出一定的波动性,这表示生成的序列中,时间间隔较长的序列点之间的相关性较弱。综上,通过ACF与PACF指标能够定量地体现出方案一所生成的风电场景能够真实地反应风电出力的时序相关性和不确定性。
图8 自相关系数Fig.8 ACF of scenario
图9 偏自相关系数Fig.9 PACF of data scenario
为验证本文提出方法的准确性,采用聚合度(Aggregate Degree, AD)与覆盖率(Coverage Rate, CR)指标进行验证,其公式如下所示:
(8)
(9)
AD能够体现生成场景集与真实场景的聚合程度,其值越大表示模型泛化能力越强;CR值越大表示生成场景集的偏离程度越小。因此,准确性较好的场景集需要同时满足高聚合度与高覆盖率。取两种方案在同一周的生成场景集在不同c值下进行对比。此外,为方便比较两种方案各指标的差异,定义平均增加率(Average Increment Rate, AIR):
(10)
式中,AD1、AD2分别为方案一、方案二在不同场景树下聚合度的平均值,其余参数相同。方案对比结果见表2。
表2 方案对比Tab.2 Case comparison
由表2可知,随着场景数量的加大,两种方案的AD都略有减小、CR变大,这是因为随着场景数的增加,生成极端场景的频数加大,这体现了模型能够刻画出风电的不确定性。通过AIRAD可知,在同等训练场景数下,方案一相较于方案二的AD略高,这是因为生成对抗网络对低纬度不确定信息的聚合能力较强,说明方案一的模型泛化能力较好。通过AIRCR可知,方案一生成场景的偏离程度较小,这是由于针对长序列,方案一通过DCAE的方式剔除了原始周度风电出力序列中的冗余数据,使得序列分布特征更为明显,生成器能够更准确地映射出力场景,体现了本文所提方法对周度场景的生成有更高的适用性。
5 结论
针对周度风电出力序列模拟难度大的问题,本文将DCAE与CGAN结合,使得生成的周度场景能准确地模拟出风电出力的时序性与不确定性,现有如下结论:①DCAE提取出的低维特征序列集能够有效地保留原始风电数据集的峰谷特性,保证其时序性;②将特征集作为条件数据,使得由CGAN得到的场景生成器能够准确地体现出周度风电出力的时序性与不确定性。