基于GAN的负荷数据修复及其在EV短期负荷预测中的应用

2021-08-23 02:37赵厚翔沈晓东刘俊勇刘代勇
电力系统自动化 2021年16期
关键词:鉴别器时滞负荷

赵厚翔,沈晓东,吕 林,兰 鹏,刘俊勇,刘代勇

(1.四川大学电气工程学院,四川省成都市 610065;2.国网四川省电力公司德阳供电公司,四川省德阳市 618000)

0 引言

随着电动汽车(EV)的广泛普及,电池中储存的电能为电网实施需求响应以及极端情况下的电网支撑提供了可能[1]。然而EV的高普及率也会给电网带 来众多不利影 响[2]。EV充电站作为EV与 电 网的连接点,充电站的负荷预测精确度关乎电网的运行效率和安全。同时,EV作为一种电网资源,利用智能充电提高EV利用效率也离不开精确的负荷预测。因此,更加精确的EV负荷预测结果,对于支持EV充电发展[3]、促进EV高效使用[4]以及保障电网安全至关重要。

随着智能充电设施的大规模部署,可获得的实际EV历史充电数据为传统电力负荷预测中使用时间序列分析[5-7]、机器学习[6-9]、深度学习[10]等算法进行预测提供了数据支撑。但这种基于数据驱动的预测算法的性能表现也一定程度依赖数据集质量,高质量的数据集往往能提高数据驱动算法的预测精度[11-12]。

由于终端数据采集器或者网络通信故障等原因,常常使得历史负荷数据集中存在数据缺失和数据异常的问题[13]。而不同的数据修复方法对预测精度的提高也有不同[14],现有文献中对于缺失值和异常值的处理方法主要有3种:①直接删除法[15-16],这种方法往往会忽略数据中的重要信息,并且缺失率越高,对于后续数据分析的影响越大;②简单插补法,通常采用均值插补、中位数插补以及其他数学插补方法[17-18],这种方法只关注数值之间的联系,以统计学方法实现插补;③基于机器学习的插补方法[19-21],这种方法一般包含基于最大似然期望最大化的插值、基于k近邻(k-NN)的插值和基于矩阵分解的插值等。然而,这些方法几乎只关注数据本身的统计学特征,忽视了时间序列数据中的时序特征,插补精度较低。

生成对抗网络(generative adversarial network,GAN)是近年来新提出的一种生成式的学习算法。由于GAN在解决数据生成任务时的无模型重构优势[22],已有研究将其应用于电力系统数据生成场景。文献[23]将GAN应用于电力系统量测缺失数据重构,并且取得了较好的精度。文献[24]以新的约束方法提高对抗损失函数的约束能力,提升了GAN的重构精度。

因此,为了在低质量的EV负荷数据集上获取更加精确的预测结果,本文以基于用于插补的门控循环单元神经网络(gated recurrent unit neural network cells for imputation,GRUI)和GAN(下文简称GRUI-GAN)的数据插补模型对负荷数据中的空缺值(待插补的缺失值和异常值)进行精确插补,提高数据质量。由于长短期记忆(long short-term memory,LSTM)网络在多种短期负荷预测场景下都取得了良好的预测效果[10,18,25-26],本文以最近提出的Mogrifier门控机 制[27]进 一步提升LSTM网络 性能,以在经处理过的数据集上获取更加精确的EV短期负荷预测结果。

1 初始性数据分析

本文EV负荷数据集从某35 kV配电系统供电区 域 内2019年1月1日 至2019年8月31日 共158个充电站的充电交易数据集中提取,充电交易数据形式及提取方法见附录A表A1。由于该区域内EV渗透率较低,导致该区域内充电站记录的数据并不连续,为便于算法验证,将数据进行聚合和重采样(聚合和重采样方法见图A1),得到该区域以30 min为间隔的连续EV负荷数据集。通过初步整理可以发现,原始数据集中存在连续片段的数据缺失问题,这对于应用数据驱动算法来进行精确的负荷预测很不利。本文所使用的数据集数据缺失情况见表A2。

同时,数据集中的异常值也会影响数据驱动算法的性能表现。为了快速识别数据中的异常值,本文选取了被广泛使用的箱形图异常值检测方法。该方法是基于统计的检测方法,通过确定数据中的上下四分位数以及四分位距来识别异常值,具体分析方法见文献[10]。根据文献[10]中箱形图分析过程,本文的箱形图分析结果以及异常值分布结果见附录A图A2。

根据统计结果可知,原始数据集中,数据缺失点和数据异常点共583个,接近数据集的5%,并且数据集中涉及许多连续片段的缺失。因此,可以认为原始数据集的质量较差。为了提高数据驱动算法在这种数据集上的预测表现,有必要研究一种方法来对空缺值进行精确插补以提高数据集质量。

2 基于GRUI-GAN的负荷数据修复方法

2.1 GAN

负荷数据中的数据插补问题实际就是一个数据生成问题,是通过某种方式生成数据来实现对空缺值的插补。而GAN是由Goodfellow等人[28]受博弈论中二人零和博弈思想启发而开发的一种新的生成式学习算法。其基本结构由一个生成器和一个鉴别器构成,分别用于生成伪造数据和实现对伪造数据与真实数据的区分[29]。通过生成器和鉴别器相互对抗训练,最终使得生成器能够生成与真实数据非常接近的新数据[24]。但是,由于GAN存在模式崩溃的问题,使得传统GAN很难训练。而以Wasserstein距离来优化的GAN模型(下文简称WGAN)[23]可 以有效摆脱GAN的模式崩溃 问题并提高其学习稳定性。因此,在本文中所采用的GAN为WGAN。

2.2 基于GRUI-GAN的数据插补模型

对于给定的一个包含空缺值的d维时间序列x=[x0,x1,…,xn-1]∈Rd×n以 及 对 应 的 时 间 节 点t=[t0,t1,…,tn-1],完成空缺值的插补。首先,需得到空缺值在时间序列中的具体位置,为此定义空缺值位置矩阵S∈Rd×n,以0-1变量来确定时间节点ti是否存在观测值xi,j数据空缺。若有数据空缺,则对应位置矩阵的元素sti,j=0,若没有空缺,则sti,j=1。为了更加直观地理解,给出一个含空缺值的3维时间序列(每行代表每个特征量在ti为0、1、2、3时刻的观测值)如式(1)所示。

其中,None为数据空缺值。从上面这个例子中可以直观地看到,由于None的存在,使得2个相邻有效观测值之间的时滞存在变化,而这种时滞的变化也显示出了空缺值之间的分布特征。同时,不同的时滞对后续观测值的影响也会有所不同,如果观测值缺失了一段时间,其影响也应随时间衰减。为了记录2个相邻有效观测值之间的时滞,引入时滞矩阵δ∈Rd×n来描述时滞变化,其元素的表达式为:

前述含空缺值的3维时间序列对应的时滞矩阵为:

由于目前大多数的GAN框架主要应用于图像处理,对于时间序列的插补并不具有适应性。循环神经网络(RNN)是一种非常适用于处理时间序列的网络结构,但是传统的RNN在处理较长的时间序列时存在梯度爆炸和梯度消失问题。近年来,已经有很多的变体,比如LSTM网络,门控循环单元(GRU)等,可以有效克服这一问题。为了简化GAN的构建,本文采用具有更高计算效率和可扩展性的GRU来构建生成器和鉴别器的基本网络结构。考虑到数据的不完整以及2次连续有效观测值之间的时滞变化很大,使得传统的GRU结构并不适用于数据插补的场景。因此,为了更加高效地处理这种不规则的时滞并从时滞中学习隐式信息,本文提出了基于GRU的GRUI,其基本结构见图1。

图1 GRUI结构图Fig.1 GRUI structure diagram

其 中,Wβ和bβ为 需 要 学 习 的 参 数;δti=(δti,j)1×n。为 了 使β∈(0,1],使 用 负 指 数 函 数 来 进行限制。此外,为了获取δ矩阵的相互作用,Wβ为全权重矩阵。在获得衰减向量之后,将逐元素乘以衰减向量β来更新GRU的隐藏状态hti-1。因为在数据预处理时常采用归一化的方法,所以选择将hti-1与衰减向量相乘来更新隐藏状态,使得更新之后的隐藏状态的值不至于过小。

GRUI的更新公式如下。

由于自编码器旨在重构目标样本,因此,本文在生成器中采用了自编码器和GRUI结构。为了强制自编码器学习到更加有用的信息,本文借鉴了降噪自编码器的思想。降噪自编码器的主要思想是删除一些原始样本(破坏原始样本)并重建原始样本。但是,考虑到数据体量较少,如果进行删除样本,会使数据量进一步减少,不利于自编码器学习到更多的信息。因此,本文通过向原始样本中引入从正态分布N(0,0.01)中采样的随机噪声η来达到对原始样本破坏的效果。生成器的函数G(·)如下。

式中:x为真实数据;x'为伪造数据。

为了让生成器生成最接近x的完整时间序列x',本文在生成器的损失函数中加入了平方误差损失函数,生成器的损失函数L2(x)如下。

式中:λ为控制鉴别器损失和方差损失权重的超参数;D(·)为鉴别器的函数。

鉴别器的网络结构实际上是一个解码器,它是由GRUI层和全连接层组成。鉴别器的目的是区分伪造数据x'和真实数据x,其输出结果为生成的x'为真实数据的概率。因此,为了找到一组参数使得在输入真实数据x时输出较高的概率,而在输入伪造数据x'时输出较低的概率,将鉴别器的损失函数LD定义为:

生成器和鉴别器按式(14)进行min-max博弈对抗训练,最终达到平衡。

式中:E(·)为数学期望;Px(x)和Px'(x')分别为真实数据x和伪造数据x'的概率分布。

对抗训练权重更新公式见文献[30],本文所提数据质量提升方法如下。

1)首先,采用-1值来代替原始数据中的空缺值,得到空缺值被标记的序列x,并根据-1值的分布情况构建相应的位置矩阵S和时滞矩阵δ。

2)在数据加载阶段,经zero-mean标准化之后将数据构建成[批样本数,序列长度,序列特征数]形式的3维数组输入GRUI-GAN模型中。

3)在生成器中,被标记并添加了噪声η的序列x及其时滞矩阵δ被输入到GRUI细胞中,在经由GRUI层处理之后会生成与输入序列对应的隐藏状态,该隐藏状态会进一步馈入全连接层中以生成低维向量z。然后,z通过另一个全连接层馈入下一个GRUI层进行处理,该GRUI层的所有输出将被组合成新的完整序列x'。

4)而在鉴别器中,不完整序列x或者完整序列x'及其相应的时滞矩阵δ同样借助GRUI得到有效处理。鉴别器中GRUI层的最后一个隐藏状态被馈入全连接层中,全连接层的输出为被鉴别为真实数据的可能性。

5)经过生成器和鉴别器多轮的对抗训练,生成器将可以生成最接近x的新序列x',然后使用x'去插补x中的空缺值。本文所提的插补框架如图2所示,数据插补公式如下。

图2 基于GRUI-GAN的负荷数据插补框架Fig.2 Load data imputation framework based on GRUI-GAN

式中:xim为插补完成之后的x。

同时,为了提高生成器拟合原始序列的能力,在本文的GAN中使用了在1次迭代中生成器更新N次,鉴别器更新1次的机制。

3 基 于GRUI-GAN的 数 据修复及Mogrifier LSTM网络的EV短期负荷预测方法

3.1 Mogrifier LSTM网络模型

传统电力短期负荷预测中,LSTM网络是一种在多种场景中广泛适用的算法[10,18,25-26]。附录A图A3显示了LSTM网络的一般结构。在LSTM网络中,隐藏状态h和当前输入x都是相互独立地馈入LSTM网络细胞中,使得LSTM网络因缺少这种上下文联系而导致一些信息的丢失。为了解决这一问题,文献[27]在LSTM网络的基础上新增加了一种门控机制,借助这种机制,可以将隐藏状态h和当前输入x进行充分交互,极大地提高LSTM网络对于上下文信息的建模能力。

图3为具有5轮交互更新的Mogrifier LSTM网络 结构,其 中hti-1,0=hti-1为 输入当前LSTM网 络中的隐藏状态h,xti,-1=xti为当前输入x。hti-1,0经过线性变换(图中虚线箭头)和xti,-1馈入sigmoid门中(图中σ)得到新的输入xti,1。同样,在下一轮更新中,xti,1经 过 线 性 变 换 和hti-1,0馈 入sigmoid门 中 得到新的隐藏状态hti-1,2。通过多轮交替更新的方式最终得到新的隐藏状态hnewti-1和新的输入xnewti,实现上下文信息的充分交互。

图3 Mogrifier LSTM网络的基本结构Fig.3 Basic structure of Mogrifier LSTM network

Mogrifier LSTM网络实际上是在LSTM网络结构的基础上对隐藏状态h和输入x进行了交叉运算,其运算公式如下:

3.2 EV短期负荷预测框架

本文所采用的EV短期负荷预测框架与传统电力短期负荷预测框架大体相同,见附录A图A4。为提高原始数据集的质量,首先对原始数据中的缺失值和异常值进行检测与识别,并将缺失值和异常值用-1代替。根据识别结果按照2.2节所提方法建立位置矩阵S和时滞矩阵δ。然后,对替代后的原始数据采用zero-mean标准化方法进行标准化并构建为[批样本数,序列长度,序列特征数]的数组形式,然后输入GRUI-GAN模型中对空缺值进行插补。

在获得了质量较好的数据之后,使用数据分析方法抽取了数据集中的显著特征用于构建输入特征集,分析过程见附录B。根据分析结果,本文选取了时段类型、星期类型、温度、最高温度、最低温度作为本文的特征量,同时考虑到前后负荷的相互影响,前2个时刻的负荷值也作为本文的特征。因此,本文EV负荷预测模型的输入x包含前述7个特征量。x也需要经过标准化后构建为[批样本数,序列长度,序列特征数]的数组形式,并输入基于Mogrifier LSTM网络的预测模型中进行预测。最后,经过全连接层输出预测结果y,其形式为[批样本数,预测步长,预测变量数]。

对于预测模型优化器的选择,常用的优化器一般 有Adam、SGD、Adagrad以 及RMSProp等。其中,Adam优化器以其良好的性能表现,在负荷预测中成为较主流的选择,因此,本文采用Adam优化器来优化训练过程。

在模型评估函数的选择方面,平均绝对百分比误差(MAPE)和均方根误差(RMSE)在负荷预测中经常被采用作为评估函数。由于本文数据集中EV负荷存在负荷值为0的情况,因此MAPE不能用来作为本文所提模型的误差函数。而平均绝对误差(MAE)相比于其他误差函数,对误差的鲁棒性更强。

因此,本文选择MAE和RMSE作为本文模型的评估函数,其表达式分别如下。

式 中:yt为t时 刻 的 实 际 值;yt,pre为t时 刻 的 预 测 值;M为样本数量。

4 实验及数据分析

4.1 数据及实验平台描述

本文所选EV充电负荷历史数据集为某35 kV供 电区 域 内2019年1月1日 至2019年8月31日 的多个充电站实际交易数据。由于该区域较低的EV渗透率和充电交易的随机性,所记录的数据并不能以固定采样间隔覆盖每天所有时段,因此,为便于算法验证,本文通过将数据进行初步的聚合和重采样,得到该区域以30 min为间隔的EV历史负荷数据集。

本文硬件平台为Windows 10,64位操作系统,CPU为AMD Ryzen 5 3600 6核 处 理 器,主 频 为3.59 GHz,内存为16 GB,软件平台为Anaconda3,Python3.6,所用库为TensorFlow1.7.0以及其他常用封装库。

4.2 EV负荷数据插补

在负荷数据插补实验中,本文选取了传统负荷预测中常用的几种空缺值插补方法(均值插补、分段线性插值法插补(用PLI表示)[18]和k-NN插补)作为对比方法以验证所提方法有效性。同时,为比较GAN框架下本文所提出的GRUI细胞结构相比于GRU细胞结构的优势,以GRU细胞构建的GRUGAN插补方法也被用于本文插补实验的对比。

由于本文数据集自身为不完整数据,因此无法直接评估不同算法的空缺值插补精度。文献[23-24]中通过划分训练集和测试集来训练和测试GAN模型的实验方法在本文中并不适用。因此,本文将所有数据在所提出的GRUI-GAN模型中进行训练,即训练集为整个数据集。而经整个数据集训练之后的GRUI-GAN模型对数据集的插补结果的好坏只能借助后续负荷预测结果来评估。因此,为验证所提方法的有效性,本文插补实验包含如下2个部分。

1)从数据集中选取一部分完整数据(不包含缺失值且不考虑异常值),随机缺失不同比例的数据构建不完整数据进行实验,以验证在小数据集上采用全数据集训练之后模型的插补表现。

2)将整个不完整数据集重新按照上述实验方法获取,经过不同方法插补得到的不同完整数据集用于后续EV负荷预测,通过最终EV负荷预测结果间接验证所提插补方法的有效性。

在参数设置方面,本文主要通过观察生成器和鉴别器的损失函数图像来确定GAN的网络参数。当生成器和鉴别器的损失函数图像呈现出文献[22-24]中损失函数图像的形式,并且实现对抗训练最终收敛,则该参数就被确定为本文的参数。本文以文献[29]的参数设置为基础,并结合本文的场景进行调参,调参结果为:隐藏层GRUI神经元个数为10,学习率为0.005,损失函数权重超参数λ为1.2,训练次数设值为3 000。

在第1部分实验中,本文将原始负荷数据中不包含缺失值(2019年5月26日至7月30日)并且不考虑异常值的负荷数据作为完整样本。考虑到不同场景所导致的负荷数据缺失形式的不同,本文在随机缺失(模拟随机异常情况导致随机单个数据点数据的缺失)、片段缺失(模拟系统故障无法及时恢复导致整天数据缺失)和混合缺失(既包含随机缺失,也包含片段缺失,在该实验中比例为6∶4)3种负荷数据缺失场景下进行了插补实验,并将插补结果与完整样本进行比较以均方误差[29]来评估插补精度,如表1至表3所示。

表1 随机缺失插补误差对比Table 1 Imputation error comparison for random missing

表2 片段缺失插补误差对比Table 2 Imputation error comparison for segment deletion

从表1至表3的插补误差计算结果可以看出,所提基于GRUI-GAN的数据插补模型的插补精度在3种负荷缺失场景下都优于传统负荷预测中的负荷缺失值插补方法。特别是在片段缺失最严重的场景下,所提插补方法的插补精度与传统方法的精度相比提升了1个量级。此外,由于在GRU细胞中引入了时间衰减向量β来学习空缺值导致的不规则时滞对观测值的影响,使用GRUI细胞构建GRUI-GAN在3种插补场景下的结果都比GRU-GAN结果更好。因此,可以认为,所提插补方法能够以较好的精度对原始负荷数据进行插补。同时,在附录A图A5中展示了缺失率为5%的混合缺失场景下(与本文缺失数据场景相似)一段序列的不同方法实际插补效果,可以看出,基于GAN的数据修复方法能够以较好的精度修复数据。

表3 混合缺失插补误差对比Table 3 Imputation error comparison for mixed missing

在第2部分实验中,本文采用GRUI-GAN、k-NN插补、均值插补以及PLI对原始负荷数据中的空缺值进行插补,以获取经4种不同方法修复之后的完整负荷数据,并在下一节中用于EV负荷预测。而最终修复结果的合理性,将根据在4个不同数据集上的负荷预测结果间接反映。

4.3 EV负荷预测

特定的数据集选取合适的特征用于模型训练,将会有效提升模型的性能。因此,本文通过数据分析可视化方法从数据集中抽取了时段特征、日期类型和温度因素(温度数据从气象网站获取,不包含缺失值和异常值)作为典型特征构建输入特征集,具体分析过程见附录B。

基于深度学习的负荷预测模型的预测精度受到模型结构的影响,而模型结构主要与其数据集规模有关,数据集规模较小而构建的神经网络模型较大容易造成过拟合,反之则容易造成欠拟合。因此,确定合适的网络参数也十分重要。本文首先参考现有文献中LSTM网络的参数设置,初步确定其他次要参数的取值。然后,根据文献[17]中的参数寻优方法确定主要参数的最优取值,在确定主要参数取值之后,再采用同样的寻优方法依次确定其他参数。最终,本文基于Mogrifier LSTM网络的预测模型的主要参数设置为:隐藏层数为53,神经元个数为32,预测模型训练的选取时间步长为10,按批进行训练的每批样本数目为150,学习率为0.000 2,交互轮次为3,降维阶数为1。

为了验证本文所提预测模型的有效性,本文选取了文献中常见的几种短期负荷预测算法:LSTM网络、双向长短时记忆(Bi-LSTM)网络、GRU、支持向量机(SVM)、自回归差分移动平均(ARIMA)、季节性外部信息自回归差分移动平均(SARIMAX)作为对比实验。首先,在经GRUI-GAN方法修复之后的数据集上进行日负荷预测实验,并评估所选预测算法的预测误差。图4展示了所选算法在测试集(2019年8月11日至8月31日)上随机选取目标日的日负荷预测效果,根据本文所选评估指标计算的预测误差如表4所示。综合几种方法可视化结果以及预测误差可知,本文使用的Mogrifier LSTM网络算法和同样以改进LSTM网络上下文信息建模能力为目的的Bi-LSTM网络算法在测试集上都取得了优于传统LSTM网络的良好表现。虽然在高峰时刻的预测精度上,本文所提方法略逊于Bi-LSTM网络算法,但是其余大部分时段,Mogrifier LSTM网络算法都有更好预测表现并且总体误差也更小。

图4 某日预测结果对比Fig.4 Comparison of forecasting results on a day

表4 算法误差对比Table 4 Algorithm error comparison

此外,为了进一步评估不同负荷数据修复方法对预测结果的影响,本文将4.2节经不同方法修复之后的负荷数据重新用于训练模型,最终在整个测试集上评估了日负荷预测平均误差,评估结果如图5所示。从图中可以明显看出,本文所选的几种预测算法,在经GRUI-GAN修复之后的数据集上都取得了更高的预测精度。因此,可以认为经GRUIGAN方法修复之后的数据集质量得到了有效改善,从而使得预测模型能够捕获更加精确的信息以提高预测结果精度。同时,根据图5显示结果可以看出,本文所使用的Mogrifier LSTM网络算法在测试集上可以保证一定的稳定性。

图5 不同插补方法对算法预测误差影响Fig.5 Influence of different imputation methods on forecasting error of algorithm

5 结语

面对EV负荷数据质量较差情况下的高精度负荷预测需求,本文提出了基于GRUI-GAN的负荷数据修复方法。通过在传统GRU细胞结构中引入时间衰减向量构建GRUI细胞结构来捕获不同时滞对观测值的影响。以这一结构构建的GAN可以处理不完整负荷序列,经过对抗训练生成较高精度的数据进行插补,从而提高负荷数据质量。然后,在预测算法模型方面,本文在传统LSTM网络中采用的Mogrifier门控机制以多轮的交互更新方式使LSTM网络上下文信息得到充分交互,进一步优化传统LSTM网络的性能。但在负荷峰值时段,Mogrifier LSTM网络的拟合精度仍有提高的空间,因此未来将会研究Mogrifier LSTM网络在负荷峰值时段的拟合精度提高方法,以进一步提高EV负荷预测精度。

猜你喜欢
鉴别器时滞负荷
基于多鉴别器生成对抗网络的时间序列生成模型
带有时滞项的复Ginzburg-Landau方程的拉回吸引子
卫星导航信号无模糊抗多径码相关参考波形设计技术*
针对输入时滞的桥式起重机鲁棒控制
阵列天线DOA跟踪环路鉴别器性能分析
防止过负荷时距离保护误动新判据
主动降负荷才是正经事
负荷跟踪运行下反应堆一回路控制系统仿真与验证
一类时滞Duffing微分方程同宿解的存在性
Savitzky-Golay在含冲击负荷短期负荷预测中的应用