APP下载

基于CEEMD-CNN-BiGRU-RF模型的短期风电功率预测

2022-02-23曾亮狄飞超兰欣王珊珊

可再生能源 2022年2期
关键词:电功率预测值修正

曾亮,狄飞超,兰欣,王珊珊

(1.湖北工业大学电气与电子工程学院,湖北 武汉 430068;2.湖北工业大学太阳能高效利用及储能运行控制湖北省重点实验室,湖北 武汉 430068)

0 引言

风能作为一种清洁能源,可以缓解能源短缺、环境污染和气候变化等问题。风能受风速、风向、气压和温度等自然条件的影响很大,因此风力具有间歇性、波动性和随机性。当风能大规模集成到电网中时,给电网的安全和稳定运行带来了巨大挑战。减少与风力发电相关的不确定性,对实现风电场风电功率的准确预测具有重大意义[1]。

风电功率的预测方法主要分为物理法和统计法[2],[3],这些方法大多基于传统模型和深度学习模型[4]。物理法是基于各种影响因素,包括风速、温度、气压等数据进行风电功率预测,统计法是根据历史风电功率数据来进行分析与预测。常用的传统模型包括支持向量机、马尔可夫过程等[5],[6]。近几年应用更为广泛的预测模型是贝叶斯神经网络、卷积神经网络、以及长短期记忆(LSTM)等深度学习模型[7]。文献[8]利用copula函数进行特征提取,将提取的特征作为LSTM的输入,建立单一的光伏功率和风电功率预测模型,但是模型预测精度较低。文献[9]提出了一种基于LSTM-Attention网络的短期风电功率预测方法,利用LSTM进行特征提取,同时引入注意力机制分析输入和输出的相关性,得到最终的预测结果,但模型的预测精度有待进一步提升。文献[10]提出了一种基于VMD-ConvLSTM的风电功率预测模型,通过叠加各分量的预测值得到最终的预测结果,然而并未对风电功率的预测误差进行进一步修正。

针对目前风电功率预测方法在预测精度和误差修正上的不足,本文提出了一种基于CEEMDCNN-BiGRU-RF模型的短期风电功率预测模型。首先,利用完全集成经验模态分解(CEEMD)对风电功率时间序列进行模态分解;其次,对分解的各个风电功率时间序列利用卷积神经网络(CNN)进行特征提取;再次,建立双向门控循环单元(BiGRU)模型对各个风电功率时间序列进行预测,叠加各个分量的预测值;最后,对误差进行进一步分析与预测,利用随机森林(RF)进行误差修正,得到最终的风电功率预测值。

1 实验原理及方法

1.1 CEEMD

CEEMD是经验模态分解(EMD)和集成经验模态分解(EEMD)的改进,是一种完整的模态分解技术,能够完整地将信号进行分解。CEEMD通过在原始信号中添加一组正负相反的白噪声,实现既能抑制EMD模态混叠,又能使得剩余噪声始终维持在很小的量级上,进而忽略不计,算法主要步骤如下。

①在原始信号x(t)中加入n组正负相反的白噪声m+和m-,构成合成信号p(t)和N(t)。

1.2 CNN

CNN本质上是一个数学模型,它通过数据转换和数据降维将原始输入映射为新的特征。与标准的全连接网络不同,CNN具有特殊的网络结构。CNN中的层间节点是本地连接的,且CNN中卷积层和池化层中的连接权重权值共享。

CNN的网络结构包括1D CNN,2D CNN和3D CNN。其中,1D CNN主要用于序列数据处理,2D CNN通常用于图像和文本识别,3D CNN主要用于医学图像和视频数据识别。1D CNN可以很好地应用于时间序列分析,也可以用于分析周期性信号数据,1D CNN的详细流程如图1所示。

图1 1D CNN流程图Fig.1 1D CNN flowchart

图1的左侧是输入时间序列数据,它是一个多维矩阵,从上到下进行卷积。使用滤波器进行卷积后,提取的特征维数为N×1,其中N与输入数据维数、滤波器大小和步长有关。假设过滤器的数量为M,则提取的特征为N×M。

1.3 BiGRU

门控循环单元(GRU)是循环神经网络的一种,是循环神网络(RNN)和LSTM的改进。GRU的主要结构为更新门和重置门,简化了模型结构和模型参数,在一定程度上抑制过拟合。GRU模型的结构如图2所示。

图2 GRU模型的结构图Fig.2 GRU model structure diagram

式中:tanh为双曲正切激活函数;ot为重置门计算的隐藏状态。

本文对GRU模型进行改进,提出BiGRU模型。BiGRU模型包括前向GRU和反向GRU。前向GRU用于获得输入特征向量的上信息,并从左到右生成前向隐式状态序列;反向GRU则获得输入特征向量的下信息,并从右到左生成反向隐式状态序列。最后,组合获得的前向隐式状态序列和反向隐式状态序列,获得最后的特征信息。BiGRU模型的具体结构如图3所示。

图3 BiGRU模型的结构图Fig.3 BiGRU model structure diagram

图中,{h1→h2→hn}为前向GRU生成的隐式状态序列,{hn→h2→h1}为反向GRU生成的隐式状态序列。

1.4 RF

RF是集成模型的一种,属于Bagging集成方式,与单一模型相比,RF的预测效果更为精确。

2 基于CEEMD-CNN-BiGRU-RF的短期风电功率预测建模

2.1 CNN-BiGRU混合模型

将CNN与BiGRU相结合构建混合CNNBiGRU模型,以提高风电功率的预测精度。该模型以多维时间序列数据作为输入,以多步或单步时间序列数据作为输出。

利用CNN进行特征提取,构造了两个一维卷积层和两个池化层。过拟合是深度神经网络(DNN)中的常见现象,利用Dropout层,可以有效抑制过拟合现象。Dropout是在DNN的训练过程中,按照一定的概率丢失一定的神经元个数。为了避免过拟合,在BiGRU层后添加了一个Dropout层进行预测,最后连接全连接层(FC),获得最后的预测结果。CNN-BiGRU混合模型的结构如图4所示。

图4 CNN-BiGRU混合模型的结构图Fig.4 CNN-BiGRU hybrid model structure diagram

2.2 预测模型的建立

建立预测模型进行风电功率的预测,具体步骤如下:

①对风电功率数据集进行数据预处理,包括缺失值的补齐、异常点的剔除以及数据归一化;

②对风电功率数据集进行CEEMD分解,分解成多个IMF分量和一个残余分量(Rest);

③对各个IMF分量建立CNN-BiGRU预测模型,获得各个分量的预测值,将预测值进行叠加,获得预测结果;

④对误差进行分析,对误差建立RF模型,预测获得测试集的误差,将预测误差与预测结果组合,获得最终的风电功率预测值。

预测模型的流程如图5所示。

图5 CEEMD-CNN-BiGRU-RF预测模型流程图Fig.5 CEEMD-CNN-BiGRU-RF prediction model flowchart

2.3 评价指标

本文选用的预测模型评价指标为平均绝对百分比误差MAPE和R-Square。

式中:yi为第i个时刻风电功率实际值;y^i为第i个时刻风电功率预测值;y¯为m个风电功率值的平均值。

3 算例仿真分析

本文选用我国西北地区一个风电场的数据进行短期风电功率预测,选取该风电场2019年10月1日0时-11日0时共960个风电功率数据点进行实验,实验数据点之间的采样间隔为15 min,得到的风电功率时间序列如图6所示。其中,前9 d的数据作为训练集,后1 d数据点作为测试集,以前1 h风电功率数据预测下一时刻的风电功率,实现风电功率的滚动预测。

图6 风电功率时间序列图Fig.6 Time series diagram of wind power

由图6可知,风电功率时间序列具有波动性和非平稳性。对原始风电功率数据集进行CEEMD分解,得到的分解结果如图7所示。

图7 CEEMD分解结果图Fig.7 CEEMD decomposition result diagram

由图7可知,CEEMD分解风电功率时间序列的效果较好,且Rest始终维持在很小的量级上,因此Rest在预测时可以忽略不计。

对各个分量分别建立CNN-BiGRU预测模型,通过网格搜索等调参方法进行模型参数寻优。网格搜索是为每个需要寻优的参数预先设置一个可选范围,然后进行训练,最后输出参数的最优取值。具体地,将CNN层和BiGRU层的神经元个数范围设置为常用的[32,64,128],步长范围为[0,1,2],padding可选范围为[same,valid],激活函数可选范围为[relu,tanh,sigmoid],Dropout范围为(0,1)。通过不断地参数调整、组合与寻优,得到各个最优参数分别为CNN层的神经元个数为32,步长为1,padding为same,激活函数为relu函数,BiGRU层的神经元个数设置为64,Dropout设置为0.1,训练时最小批量大小设置为32,优化器设置为Adam,对各个分量的预测值进行累加,得到风电功率预测值。

在进行误差修正时,采用同样的调参方法,最终确定RF模型中,决策树个数为400,最大深度为5。

为验证模型的有效性和预测的高精度,本文采用了6种模型进行比较和验证。模型1采用支持向量机(SVR)进行预测,模型2采用CNN进行预测,模型3建立CEEMD-CNN模型对风电功率进行预测,模型4采用CEEMD-CNN-BiLSTM模型进行预测,模型5采用CEEMD-CNN-BiGRU模型进行预测,模型6采用CEEMD-CNN-Bi-GRU-RF模型进行预测,同时对误差进行修正,得到最终的风电功率预测值。

为验证误差修正的作用,对误差修正前后的曲线进行作图,真实值与模型5的结果如图8所示。

图8 误差修正前后的曲线图Fig.8 Curves before and after error correction

由图8可知,在进行误差修正后,风电功率的预测值和实际值的拟合效果更好。

表1列出了2019年10月10-11日6种不同预测模型的评价指标。

表1 6种不同预测模型的评价指标Table 1 Evaluation indicators of 6 different prediction models

图9为6种模型预测结果与真实值的曲线图,图10为6种模型预测误差绝对值的分布图。

图10 6种模型预测误差绝对值分布Fig.10 The distribution of the absolute value of the prediction errors of the six models

根据表1和图9的预测结果,可以得出:

图9 6种模型预测结果的曲线图Fig.9 Curves of prediction results of 6 models

①深层网络模型在风电功率预测中的效果比传统模型好;

②对于非平稳性和波动性的时间序列,对其进行分解,使得时间序列趋于平稳,能够有效提升模型的预测精度,模型的评价指标MAPE下降到了4.761%,R-Square提升到了0.908;

③利用CNN进行深层特征提取,作为模型的输入,CEEMD-CNN-BiGRU模型能够有效提高模型的预测精度;

④当进一步对误差进行修正时,模型的预测效果得到进一步提升,其中,MAPE为2.090%,RSquare提升到了0.982。

根据图10,箱线图中直线为预测误差绝对值的中位数,三角为均值,可以看出本文提出的模型的预测误差绝对值整体比较集中,中位数和均值最小。

与其他模型相比,本文提出的CEEMDCNN-BiGRU-RF预测模型能够较好地预测短期风功率的变化趋势,模型预测的精度得到了有效提升,验证了本文提出方法的可行性和有效性。

4 结论

本文针对时间序列的风电功率预测,提出了一种基于CEEMD-CNN-BiGRU-RF的短期风电功率预测模型,得出以下结论。

①通过对非平稳时间序列采用信号分解技术,可以调高模型的预测精度和预测效率。

②深度学习模型在时间序列上的预测效果较优,混合模型CNN-BiGRU的预测效果比单一的深度学习模型更好。

③当发现预测误差呈现一定的规律性后,可以采用适当的模型对误差进行训练与修正,这能够进一步提高模型的预测精度。

猜你喜欢

电功率预测值修正
基于PCC-CNN-GRU的短期风电功率预测
修正这一天
AI讲座:ML的分类方法
18.2电功率(教学设计)
自体荧光内镜对消化道肿瘤诊断临床应用分析
对微扰论波函数的非正交修正
季节模型在某医院月门诊量预测中的研究与应用
第11讲 电能与电功率专题复习
修正2015生态主题摄影月赛
谈谈电功率