APP下载

基于组合数据清洗与NL-ConvLSTM模型的多步风电功率预测

2023-02-15吴平雄肖迎群林兴宇

机械与电子 2023年1期
关键词:电功率风速卷积

吴平雄,肖迎群,张 苏,林兴宇

(1.贵州大学电气工程学院,贵州 贵阳 550025;2.贵州理工学院大数据学院,贵州 贵阳 550003)

0 引言

近年来,随着全球节能减排的号召,可再生能源发电的规模也逐渐壮大;尤其风能储量大,在可再生能源中成本较低,具有良好的发展前景[1]。同时鉴于风能存在着较大的不确定性和间歇性,且大规模风电并网将对电网长期稳定性有不良影响[2],因此,准确可靠的风电功率预测能为电力调度和能量管理等方面提供有力支持[3]。

目前,短期风电预测方法主要有物理方法、统计学方法、人工智能方法以及组合方法[4]。物理方法计算复杂,不需要历史功率数据,适合于中长期预测[5-6]。统计学方法利用大量历史风速和功率数据预测未来发电数据,但该方法对非平稳序列的预测效果欠佳。随着人工智能的发展,常用的机器学习方法、BP神经网络和支持向量机(SVM)在预测领域得到一定的认可[7-8]。

风电数据在采集的过程中由于录入设备损坏和弃风限电等问题,数据中存在缺失值和异常值[9];当数据中含有大量缺失值和异常值时,会严重影响模型的预测效果,盲目删除异常数据也会导致训练样本不足,而达不到预期的预测精度。但单一异常值检测方法难以检测所有类型的异常值,多项方法组合能够取得更好的结果[10]。填补缺失值一般采用均值填充、插值法和线性回归等方法[11]。

现有风电功率预测模型一般将历史功率作为输入,来预测未来风电出力;鉴于气象因素对新能源发电影响较大,许多学者将气象数据作为多特征输入,剖析多特征变量与功率之间的相关性[12]。目前,RNN、LSTM、GRU等神经网络模型具有非线性处理能力强、能够挖掘时序特征,因此常用于风电预测领域[13-14]。

本文考虑到风电数据存在较多的异常数据,以及结合自注意力机制和深度神经网络在时序问题上优秀的学习能力,提出基于DBSCAN-OIV-RF、NL、ConvLSTM算法结合的短期风电功率多步预测模型。

1 相关理论基础

1.1 DBSCAN聚类算法

DBSCAN是一种基于密度的聚类算法,不需要规定聚类数量[15]。DBSCAN算法具有2个重要参数,分别是邻域ε和邻域内最少样本数s;给定一个样本集Z,该算法定义如下。

a.邻域ε。以点p为中心,半径为ε的圆形区域内点的集合。

Nε(p)={q∈Z|d(p,q)≤ε}

(1)

d(p,q)为点p与点q之间的距离;Nε(p)为与点p距离小于等于ε的点的集合。

b.核心点。∀p∈Z,p的邻域内的点数大于等于s,则称p为核心点。

|Nε(p)≥s|

(2)

c.密度直达。对于集合Z,若点q在p的邻域内,且p为核心点,则称q从p出发密度直达,反之不成立。

d.密度可达。对于集合Z,假设有一连串样本点p1,p2,…,pi,…,pn,p=p1,q=pn,若pi从pi-1出发是密度直达的,则对象q从对象p出发密度可达。

e.密度相连。对于集合Z,存在一点o,若点o到点p和点q都是密度可达的,则p和q密度相连。

f.簇。对于一个非空集合C属于Z,满足如下条件时被称作一个簇:

①∀p∈Z,若p∈C且q从p出发密度可达,则q∈C。

②∀p,q∈C,p和q是密度相连的。

g.噪声。在集合Z中不属于任何一个簇的点定义为噪声。

如图1所示,x1是核心点;x2由x1密度直达;x3由x1密度可达;x3与x4密度相连。

1.2 最优组内方差法

最优组内方差法(optimal interclass variance,OIV)是一种能够快速有效地识别风机正常发电数据和发电偏低数据的异常值检测算法[16]。

定义:给定的功率曲线集合为U,设目标集合为V={Vn,V1},其中,Vn表示风机正常发电数据集,V1表示机组发电量偏低的数据集,即异常数据。

功率曲线集U={(x1,y1),(x2,y2),…,(xn,yn)},满足yi

(3)

按式(3)可将第t个风速区间的数据集划分为:

Un(t)={(xi,yi)|(xi,yi)∈U(t),1≤i≤λ}

(4)

U1(t)={(xi,yi)|(xi,yi)∈U(t),λ

(5)

Un(t)为第t个风速区间的正常数据集;U1(t)为第t个风速区间的异常数据集。

对2类数据集进行汇总,得到目标集合Vn、V1为:

Vn={Un(1),Un(2),…,Un(W)}

(6)

V1={U1(1),U1(2),…,U1(W)}

(7)

1.3 随机森林算法

随机森林(random forest,RF)是以决策树为基本单元,结合Bagging(bootstrap aggregating)方法和随机特征选择的集成学习方法[17]。RF训练、预测流程如图2所示,其具体步骤如下:

a.在给定训练集T的N个样本中随机有放回地采样,得到k个子训练集Ti。

b.每棵决策树输入子训练集并从M个特征中随机选择m个特征子集作为分裂特征集,在分裂特征集中以最优分裂方式分裂生成决策树。

c.重复前2个步骤,生成k棵决策树的随机森林。

d.将测试集输入生成的RF模型,得到k个决策树的回归结果,对k个回归结果求平均,求得最终预测值。

图2 随机森林算法流程

1.4 非局部神经网络

2018年,非局部(non-local,NL)神经网络是由Wang等[18]提出的捕捉序列全局依赖关系的自注意力模型。CNN和递归操作都是在局部区域进行操作的,而NL网络通过计算任意2个位置之间的交互直接捕捉远程依赖。下面给出NL网络在时空维度下的定义:

NL可看作输入信号x到输出信号y的映射,其一般模型表示为

(8)

x为输入信号;y为输出信号;i为关注的位置的索引;j为所有可能位置的索引;函数f为相似度函数,用来计算从xi和所有xj之间的相似关系;一元函数g(xj)计算输入信号在位置j的表示;C(x)为归一化函数。

在NL模型中,需要确定函数f、g、C的具体形式。g(xj)是对xj的线性映射,g(xj)=Wgxj,其中,Wg是权重系数矩阵。在本文中,输入为时空数据,Wg采用1×1×1的卷积操作。

f函数有多种形式,分别为高斯、嵌入高斯、点积和拼接。NL网络对f函数选择并不敏感,本文采用嵌入高斯函数为

f(xi,xj)=eθ(xi)Tφ(xj)

(9)

θ(xi)=Wθxi,φ(xj)=Wφxj,Wθ、Wφ为权重系数矩阵。

相应的归一化函数为

(10)

将式(8)的NL网络封装到残差模块中,定义为

zi=Wzyi+xi

(11)

Wz为权重系数矩阵,初始化为零矩阵。

1.5 ConvLSTM模型

1.5.1 ConvLSTM单元

LSTM在时序问题的处理上具有十分不错的效果;CNN适合处理空间数据,常用于挖掘数据特征信息,因此,CNN+LSTM的组合算法频繁用在解决时序问题上,并展现了它的有效性。然而,CNN+LSTM的组合方式中,LSTM在输入-状态和状态-状态的转换中使用全连接层,没有考虑信息之间的空间相关性。

2015年,Shi等[19]提出的ConvLSTM模型,将LSTM扩展为在输入-状态和状态-状态转换中都具有卷积结构的网络,比起CNN-LSTM组合方法只在输入端挖掘数据特征,ConvLSTM能在模型内部不断提取特征。ConvLSTM单元的关键方程为

(12)

·为Hadamard乘积;*为卷积运算;Xt为当前时刻的输入;Ht-1为上个时刻的隐藏层输出;Ct为当前时刻存储单元状态;it为输入门;ft为遗忘门;ot为输出门;W和b分别为权重系数和偏差。

1.5.2 编码-预测结构

本文通过堆叠ConvLSTM单元来构建编码-预测(encoding-foresasting,EF)结构增加结构深度,预测网络的初始状态是从编码网络的最后状态复制来的。EF结构如图3所示。

图3 EF结构

2 模型建立

2.1 DBSCAN-OIV-RF数据清洗

本文使用的是国内某风电场的数据。其风速-功率散点图如图4所示。第1~第4类异常点分别为风速增大但出力基本不变的横向堆积点、远离曲线的分散点、曲线周围密度大的簇状点以及风速不变但功率变化大的纵向分布堆积点[20];产生的原因分别是弃风限电[21]、传感器异常或故障、数据传输受电磁干扰[22]以及风速传感器失灵[23]。

图4 原风速-功率散点图

对于风速-功率散点图中分散点采用DBSCAN算法筛查。DBSCAN有2个重要参数分别是邻域半径ε和最小样本数s,ε的确定采用k-distance函数,步骤如下:

a.选定一个k值,假设输入特征数为h,则k=2h-1。

b.对于数据各点,计算距离该点第k个最近距离,并将全部最近邻域距离按照降序进行排序,绘制k-distance曲线,拐点位置的距离值即为ε值。

c.s一般通过人工选取,且s≥h+1。

随机采样30%的数据量以求解k值,输入特征为标准化处理的风速和风电功率,则k=3,因此得到k-distance曲线如图5所示。

图5 k-distance曲线

由图5可知,ε=0.044 3,将ε数值微调至0.047 3,s设置为20。DBSCAN的输入数据集为D={(x1,y1),(x2,y2),…,(xn,yn)},x为风速,y为功率,n为数据总数。通过DBSCAN算法可以得到聚类结果如图6所示,得到的聚类数为13个,将簇0视为正常值,其余簇视为异常值,并汇总为正常数据集Dn与异常数据集D1。

图6 DBSCAN聚类结果

图6中,圈住部分与风速-功率曲线连接部分密度较大,难以与正常值区分开,采用OIV算法处理曲线下方异常点。设定风速总区间为[12.50 m/s,16.00 m/s],风速间隔为0.25 m/s,将风速总区间划分为13个状态量,U={U(1),U(2),…,U(13)},U⊂Dn,用标准差代替方差,设置初始阈值S,按式(3)计算各点标准差值并降列排序,曲线拐点横坐标即为λ,按式(4)和式(5)划分正常数据集Un和异常数据集U1,并根据式(6)和式(7)得到总的正常数据集与异常数据集Vn、V1。OIV算法清洗后的风速区间内散点分布如图7所示。

图7 设定风速区间内OIV算法数据清洗结果

将异常数据集P1={D1,V1}作为缺失值处理,采用RF算法填补缺失值,Pn=(Dn-V1)作为训练集训练RF模型,以填补P1的功率值,RF模型中的决策树个数设为101,数据填补结果如图8所示。

图8 随机森林算法数据填补效果

2.2 NL-ConvLSTM多步预测模型

2.2.1 数据集重构

X具体形式为

(13)

N为数据总量;M为特征维度,包括风速、风向、风电功率、温度、气压、湿度;xM为风电功率序列。

将时序维度重构为时空特征维度,在ConvLSTM模型中进一步提取数据中时间与空间维度特征,重构方式如下。

a.数据集分为输入输出集,以滑动窗口的方式对输入集和输出集分别划分时间步,以输入集每个样本J个时间步预测输出集样本的未来K个时间步,J为总时间步长,K为单位时间步长,T为时间步长个数,J=T×K。输入集输出集分别为:

(14)

(15)

2.2.2 NL-ConvLSTM模型

NL操作在计算输入数据X在i位置的响应时考虑了所有位置特征的加权平均;ConvLSTM中的卷积能够提取输入到状态,和状态之间的特征。本文采用NL模型提取输入数据的全局信息,并通过ConvLSTM模型中的卷积操作进一步加深特征间关系。NL操作步骤如下。

图9 时空非局部模块

图10 本文预测模型结构

3 算例分析

算例选用国内西北某一风电场2019年实测风电功率数据和气象数据(包括风速、风向、温度、气压和湿度),装机容量为200 MW,采样时间间隔为15 min,共35 040组数据。该数据集以6∶2∶2比例划分成训练集、验证集和测试集。并对数据集进行归一化,验证集和测试集以训练集的最大值最小值实现归一化,以防止数据泄露,归一化公式为

(16)

x为原数值;xmin为最小值;xmax为最大值;xscaled为归一化后的值。

3.1 模型参数与超参数选择

本文模型输入数据包括气象数据和历史风电功率数据,共6个特征(M=6),以历史24个时间步预测未来6个时间步的数据,由此可得T=4 ,K=6,并将高H、宽W设置为1和6。

文中损失函数选用均方误差eMSE,优化器选用Adam优化算法,学习率为0.2×10-3,训练集和验证集批量大小分别为128、64,训练次数epoches为200次,编码网络和预测网络的层数都为4,ConvLSTM单元超参数设置为:卷积核大小为(1,3),步幅为1,隐含层节点数为16。eMSE计算公式为

(17)

3.2 评价指标

本文选用均方根误差eRMSE和R2作为预测评价指标。各评价指标计算公式为:

(18)

(19)

3.3 实验结果及分析

确定模型结构与参数后,以训练集训练风电多步预测模型,在验证集上得到最小均方误差的模型作为最优模型;最优模型在测试集上得到最终预测。为了验证该方法的有效性,将LSTM模型、GRU模型、CNN-LSTM模型、ConvLSTM单模型、本文的DBSCAN-OIV-RF(DOR)数据清洗与NL-ConvLSTM算法结合的多步风电功率预测进行比较。选取300个样本点绘制各模型预测值与真实值对比曲线如图11所示,预测结果如表1所示。

图11 各模型预测结果对比

表1 各预测模型评价指标对比

根据图11可以看出,LSTM和GRU模型在曲线顶峰和谷底有较大的波动,CNN-LSTM、ConvLSTM模型和本文模型曲线相对稳定,说明合适的卷积操作对模型的精度有一定提升,具有稳定梯度的作用。根据表1可知,本文模型对原始数据异常值删补和非局部神经网络的应用,对比其他模型eRMSE指标有明显的降低,R2指标有一定提升,因此,异常值的筛查和自注意力算法以及ConvLSTM模型内部卷积操作都能够增强各特征之间的相关程度,有效提升模型的稳定性。

4 结束语

本文提出一种组合数据预处理方法和NL-ConvLSTM模型的风电功率多步预测方法,针对目前风电数据在采集与传输的过程中产生大量的异常值与缺失值,数据预处理能够提高数据质量;并将与风电功率数据相关的气象数据作为输入特征,采用具有自注意力机制的以残差连接的NL模块提取输入数据全局特征;为防止长序列输入信息的遗忘,运用ConvLSTM单元的内部卷积操作,加强特征表示,提高预测模型的精度。通过实验分析,该模型与其他模型对比在稳定性和精度上都有提升。

猜你喜欢

电功率风速卷积
基于PCC-CNN-GRU的短期风电功率预测
基于3D-Winograd的快速卷积算法设计及FPGA实现
轻松上手电功率
你会计算电功率吗
基于最优TS评分和频率匹配的江苏近海风速订正
基于时间相关性的风速威布尔分布优化方法
卷积神经网络的分析与设计
从滤波器理解卷积
解读电功率
基于傅里叶域卷积表示的目标跟踪算法