基于改进NARX神经网络算法的光伏发电功率短期预测

朱想 ,  丁云龙 ,  郭力 ,  师浩琪

武汉大学学报(理学版) ›› 2020, Vol. 66 ›› Issue (5) : 505 -511.

PDF (2377KB)
武汉大学学报(理学版) ›› 2020, Vol. 66 ›› Issue (5) : 505 -511. DOI: 10.14188/j.1671-8836.2019.0451
其他

基于改进NARX神经网络算法的光伏发电功率短期预测

作者信息 +

Short-Term Forecast for Photovoltaic Power Generation Based on Improved NARX Neural Network Algorithm

Author information +
文章历史 +
PDF (2433K)

摘要

为准确地预测光伏发电功率,节约资源,提出一种基于改进非线性自回归(nonlinear autoregressive with external input,NARX)神经网络算法的光伏发电功率短期预测模型。通过皮尔森相关分析选择影响发电功率的环境因素,利用遗传算法(GA)优化受限玻耳兹曼机(RBM)模型参数,避免陷入局部最优;利用优化后的RBM模型初始化NARX神经网络的参数。实例预测表明,改进NARX神经网络算法对光伏发电功率短期预测精度更高,收敛速度更快。

Abstract

In order to accurately predict the amount of photovoltaic power generation and save resources, we proposed a short-term forecast model for photovoltaic power generation (PVPG). This model was based on an improved NARX(nonlinear autoregressive with external input) neural network algorithm. Our study analyzed environmental factors through Pearson correlation analysis. In order to avoid falling into local optimum, our research used genetic algorithm (GA) to optimize the parameters of the restricted Boltzmann machine (RBM). The optimized RBM model used to initialize the parameters of NARX. Experiments show that that our algorithm obviously higher accuracy and the convergence time is shorter than the existing methods.

Graphical abstract

关键词

光伏发电 / 遗传算法 / 皮尔森相关分析 / 受限玻耳兹曼机 / NARX神经网络

Key words

photovoltaic power generation / genetic algorithm / Pearson correlation analysis / restricted Boltzmann machine / NARX (nonlinear autoregressive with external input) neural network

引用本文

引用格式 ▾
朱想,丁云龙,郭力,师浩琪. 基于改进NARX神经网络算法的光伏发电功率短期预测[J]. 武汉大学学报(理学版), 2020, 66(5): 505-511 DOI:10.14188/j.1671-8836.2019.0451

登录浏览全文

4963

注册一个新账户 忘记密码

0  引 言

光伏发电系统受环境影响较为明显,具体表现在波动性、不确定性和间歇性1,由于环境的变化会直接影响到光伏发电功率的多少,从而降低了光伏发电功率的预测精度。因此,建立行之有效的光伏发电功率短期预测模型对电网的安全调度和经济管理具有重要的意义。

学者们对光伏发电功率预测进行了不同层次的研究,其研究方法主要包括两种:统计预测方法和人工智能预测方法。在统计预测方法方面,文献[2]建立多元线性回归预测算法进行光伏发电功率预测,模型的输入参数为风速和历史光伏发电功率。文献[3]建立灰色神经网络组合模型,将温度和太阳能总辐射强度作为模型输入参数,预测未来24小时的光伏发电功率。在人工智能预测方法方面,文献[4]采用距离分析法将发电功率与气象因素关联起来,输入因子确定为温度和湿度,建立基于BP(back propagation)神经网络的发电功率短期预测模型。文献[5]建立基于循环神经网络(recurrent neural network, RNN)的光伏发电功率预测模型,输入参数为辐照强度、温度、压力、时间和湿度。文献[6]将不同天气类型下的辐照强度作为特征参数,建立基于支持向量机(support vector machine, SVM)的天气状态模式识别模型。文献[7]建立基于动态贝叶斯网络的光伏发电短期概率预测模型,通过分析影响光伏发电功率的多种环境因素及各因素之间的关联,再依据当前时刻的影响因素预测短期光伏发电功率的概率分布。

文献[8]提出基于NARX(nonlinear autoregressive with external input)神经网络的光伏发电功率预测方法,将太阳能总辐射和电池板温度作为光伏发电功率的影响因素。与传统BP神经网络相比,NARX神经网络增加了时间序列的学习能力,但其在一定程度上继承了广义神经网络的特征,存在收敛速度慢,容易陷入局部最优等缺点。文献[9]提出基于改进深度受限玻尔兹曼机(restricted Boltzmann machine, RBM)算法的光伏发电短期功率概率预测模型,利用遗传算法(genetic algorithm,GA)对深度RBM进行参数优化,解决了深度RBM陷入局部最优收敛速度慢等问题。本文在文献[910]的基础上,建立基于改进NARX神经网络(GARBM-NARX)的光伏发电功率短期预测模型,以一个月的历史数据作为模型的样本数据,每隔15分钟预测一次光伏发电功率的值。

1  影响光伏发电功率的因素

影响光伏发电功率的因素主要体现在环境因素上,包括总辐射、温度、风速、风向、湿度和散射。由于这些环境因素对光伏发电功率的影响程度各有不同,因此选取合适的环境因素作为预测模型的参数尤为重要。本文采用皮尔森相关系数分析发电功率与各影响因素之间的相关性,其公式如下

r̂=i=1n(ai-a¯)(bi-b¯)i=1n(ai-a¯)2i=1n(bi-b¯)2

其中,a表示环境因素,b表示光伏发电功率(kW),a¯=i=1nain,b¯=i=1nbin

r̂的取值区间为[-1,1],若r̂大于0,则说明ab是正相关关系,否则为负相关关系。各环境因素的皮尔森相关系数计算结果如表1所示。

表1得出的结果可知,总辐射、温度和风速与光伏发电功率表现出较强的相关性,其余影响因素的相关性较弱,因此本文将这三种因素作为所建立的预测模型输入参数,并且将求得的相关系数与样本数据进行归一化处理。

2  预测模型的算法设计

2.1 原始数据预处理

由于参数总辐射、温度和风速在数量级上存在一定差异,因此需要对数据进行预处理,本文采用归一化的数据预处理方式。归一化公式为

Zn=Z-ZminZmax-Zmin

其中ZZminZmax分别表示原始输入数据、原始输入数据最小和最大值。

对原始数据归一化后,通过预测模型输出的值需要进行反归一化,反归一化公式如下

Z=Zn(Zmax-Zmin)+Zmin

2.2 遗传算法优化受限玻耳兹曼机

文献[9]建立GA优化深度RBM概率预测模型,利用GA来优化深度RBM的初始参数值。本文采用GA优化RBM(GA-RBM)的初始参数。

GA是一种随机化的全局寻优算法。其借鉴生物进化的思想,通过遗传算子的操作对种群进行连续迭代,直至达到最优解。

RBM是两层神经网络,一个可见层,一个隐藏层。它具有层内神经元间无连接,层间神经元全连接的特性10。其结构如图1所示。

可见层节点作为RBM模型的输入,隐藏层节点用于挖掘数据集中的抽象特征。vi为可见层中第i个神经元的状态,hj为隐藏层中第j个神经元的状态,对于可见层的vi和隐藏层的hjvi{0,1},hj{0,1})。输入归一化的数据后,RBM通过对条件概率P(hj/vi)的计算,求出隐藏层的输出hj,再根据隐藏层hj和条件概率P(vi/hj)计算可见层的vi,将其与原始数据集生成的可见层向量相比较,再不断调整参数直到最新的可见层向量与原始数据集生成的可见层向量不断靠近,进而达到误差最小化11

RBM是基于能量模型的算法,对于给定状态的(v,h),能量模型定义如下

Eθ(v,h)=-(i=1nvaivi+j=1nhbjhj+ i=1nvj=1nhhjwijvi)

其中,wij为第i个可见层单元和第j个隐藏层单元之间连接权重,ai为可见层单元的偏置值,bj为隐藏层单元的偏置值。当确定了RBM模型的网络参数后,就可以依据能量函数计算矢量(v,h)的联合概率分布pθ(v,h),具体公式如下

pθ(v,h)=e-Eθ(v,h)Zθ

其中,Zθ为归一化因子,Zθ=v,he-Eθ(v,h)

根据RBM模型层内神经元间无连接,层间神经元全连接的特性,当可见层单元的状态为固定值时,第j个隐藏层单元的激活状态概率值为

p(hj|v)=sigmoid(iwijvi+bj)

其中,sigmoid(x)=11+exp(-x)

同理可求出从隐藏层神经元到可见层神经元的概率

p(vi|h)=sigmoid(jwijhj+ai)

训练RBM的首要目的就是要找到一组参数θ={wij,ai,bj},使其能够更精确的拟合训练数据集。假设训练数据集集合为S={v1,v2,,vn},其中vi=(v1i,v2i,,vnei)T,i=1,2,,nei为训练样本数目。

RBM模型采用对数损失函数的方法求参数θ,损失函数为L,公式如下

L(θ)=L(W,a,b)=-i=1nln(p(Vi))

由于i=1nln(p(Vi))的计算过程较为繁琐,RBM模型中可采用k步对比散度CD-k(contrastive divergence-k steps)算法简化计算,具体过程如下:对vS,从样本v0开始,进行k步Gibbs采样。其中第ii=1,2,,k)步Gibbs采样过程如图2所示。

i步中vihi的计算公式为

hi~p(h|vi-1)
vi~p(v|hi-1)

得到样本vi后,再用(11)~(13)式计算参数θ={wij,ai,bj}的值

w=lnp(v)wijp(hi=1|v0)vj0-p(hi=1|vk)vjk
a=lnp(v)aivi0-vik
b=lnp(v)bip(hi=1|v0)-p(hi=1|vk)

通过CD-k算法计算出w,a,b的近似值后,再利用下式更新参数θ

wk+1=wk+φwak+1=ak+φabk+1=bk+φb

在整个迭代计算过程中,RBM模型不断更新参数θ={wij,ai,bj}的值,使得目标函数在迭代范围内取得最大值。

2.3 NARX神经网络

NARX神经网络是循环神经网络(RNN)中的一类,是一种具有记忆功能的网络12。与BP神经网络不同,NARX神经网络包含了多步输入输出的时延,这使NARX神经网络对历史数据敏感,具有动态存储功能,其网络模型定义为

yn+1=f[yn,yn-1,,yn-dn+1;un,un-1,,un-dn+1]

其中,yn+1为网络的输出变量,f为非线性函数,un为模型的输入变量;yn,yn-1,,yn-dn+1为模型的历史输出,un,un-1,,un-dn+1为模型时延后的输入变量。NARX神经网络结构如图3所示。

NARX神经网络采用三层网络模型结构13,即输入层、隐含层和输出层。输入层向量为总辐射、温度和风速;输出层向量为有功功率。令wi,j'为输入层第i个神经元到隐含层第j个元素的权重,ai,j'为隐含层神经元的偏置值,wi,j为隐含层到输出层权重,bi,j'为输出神经元的偏置值。NARX神经网络的目标就是通过多次训练样本数据以求出ψ={w',w,a',b'}最优权值系数。

2.4 GARBM-NARX算法设计

GARBM-NARX算法采用GA优化深度RBM,主要有以下两个优点,一是利用GA为RBM选择训练数据的维数;二是利用GA来设定RBM的隐单元个数11。采用优化后的RBM模型初始化NARX神经网络的权值和阈值,可以提高模型精度和训练速度。算法流程图如图4所示。

1) 编码方式的选择

遗传算法的编码方式有二进制编码、实数编码以及浮点数编码。根据RBM模型参数的特性可知,参数θ={wij,ai,bj}的计算是一个连续且复杂的非线性优化问题。因此本文在优化RBM参数上选择采用浮点数编码方式,相比二进制编码它可以降低参数θ的计算复杂性,提高计算效率。

2) 适应度函数的选择

针对RBM模型的个体适应度函数的设计需考虑以下两个因素:RBM模型对训练样本的似然程度和可见层单元维数对RBM的训练作用。对于第一个因素,用重构误差的方法来评价训练样本的似然程度,第j次迭代的重构误差如下

Error(j)=m=1Mi=1N| Pm,i-Pm,i' |

其中,M,N分别是训练样本的个数和可见层的维数,Pm,i为测试数据集中第m个样本第i维的数据值,Pm,i'为训练迭代后计算得到的第m个样本第i维的数据值。

对于第二个因素,可见层单元维数会影响整个模型的效率和精度,主要体现在以下两个方面:

① 过多的可见单元会影响RBM训练效率;

② 过少的可见单元难以确保训练数据涵盖特征信息量。

因此可将第k个个体的适应度函数定义如下

F(k)=min(ErrorK/(M×N))

其中,ErrorK为该个体经过第次CD-k算法迭代以后的重构误差,是训练样本的个数,是可见层的维数。

3) RBM参数优化

利用GA,通过选择、交叉和变异三个操作不断更新RBM模型参数θ={wij,ai,bj},使其达到最优。

4) NARX参数初始化

将优化后的参数θ={wij,ai,bj}与样本数据一起进行RBM训练,从而求得NARX神经网络参数ψ={w',w,a',b'}的初始值。具体操作过程为:

步骤1 确定RBM训练样本集合S、训练周期J、学习率η和CD-k算法参数k,初始参数θ确定为经GA优化后的值。

步骤2 调用CD-k算法生成wab,并利用(14)式进行参数θ={wij,ai,bj}的更新,在训练周期内确定最优参数θ

步骤3 选择一组样本数据经过RBM训练,将其预测结果作为NARX神经网络的输入,从而生成NARX初始参数ψ={w',w,a',b'}

5) NARX神经网络训练

通过遗传算法和受限玻耳兹曼机优化得到NARX初始参数ψ后,再进行NARX神经网络训练。其中,NARX输入层到隐含层的激活函数采用tanh函数,隐含层到输出层的激活函数采用purelin函数,即线性函数f(x)=x。利用莱文伯格-马夸特(Levenberg-Marquardt,LM)12学习算法进行模型训练,在误差范围内不断更新参数,最终输出最优解。

3  案 例

本文采用某光伏发电站2019年1月的实测数据及相关天气预报数据作为样本数据,对已建立的光伏发电预测模型进行有效性验证。共计样本数据8 264组,并将样本数据划分为10个互斥子集,且各子集容量接近,使用10折交叉验证法进行参数寻优,将其中的9个子集作为训练集,剩下的1个子集作为测试集,循环测试10次,将10次预测结果的均值作为模型的最终输出结果,以防止模型产生过拟合的风险。

采用本文提出的GARBM-NARX光伏发电功率短期预测模型,以历史光伏发电功率和环境因素中的总辐射、温度和风速作为模型的输入参数,输出为预测的光伏发电功率。模型分别在晴天、雨天和多云三种不同天气类型下进行预测,采样时间段取09:00~20:00,每隔15 min预测一次光伏发电功率。模型参数初始值详见表2

图5为GA操作过程中种群适应度的变化曲线。从图5可以看出,随着迭代次数的增加,种群中个体适应度和最优适应度均有减小的趋势,且两者在数值上的差异逐渐减小。这表明随着迭代次数的增加,种群之间的个体差异越来越小,RBM结构趋于最优化,进一步说明了GA优化RBM的正确性和可行性。

为验证GARBM-NARX的优越性,我们做了两个对比实验:1) 将GARBM-NARX与基于NARX神经网络算法模型进行对比,验证GARBM-NARX预测模型在训练速度上的提升;2) 将GARBM-NARX预测模型与GA-RBM预测模型的预测结果进行对比,验证GARBM-NARX预测模型在预测精度上的提升。

图6为GARBM-NARX和NARX模型同实际发电功率的结果对比图,图7为两种模型分别与实际发电功率的误差比较图。从图6和7中可以看出,优化后的NARX模型精度更高。根据统计,NARX耗时为13.131 s,GARBM-NARX耗时为7.153 s。这表明用GA和RBM去优化NARX神经网络有效地缩小了NARX参数寻优的范围,提高了预测模型的精度和效率。

GARBM-NARX与GA-RBM模型在晴天、多云和雨天天气类型下对发电功率预测的结果如图8~10所示。从结果中可以看出,GARBM-NARX在不同天气类型下都表现出较高的预测精确度,进一步验证了模型的可靠性。

表3显示了三种不同天气类型下的误差评价指标,分别是均方误差(MSE)、平均绝对误差(MAE)和平均绝对百分误差(MAPE)14。从表3中可以看出,在不同天气类型下,GARBM-NARX预测模型的各项指标均优于GA-RBM预测模型,性能提升的原因在于NARX神经网络在训练时考虑了数据的时序性,并将历史输出数据也作为输入数据带入模型中进行训练,得到的结果比GA优化RBM的预测模型精度更高。本文用GA和RBM去优化NARX神经网络,避免其陷入局部最小值,使得NARX神经网络更好的去拟合输入数据,提高了预测模型的精确性。

4  结 语

为准确地预测光伏发电功率,本文建立了基于改进NARX神经网络算法的光伏发电功率短期预测模型GARBM-NARX,相比基于NARX神经网络预测模型,GARBM-NARX的训练耗时更短,收敛速度更快,预测精度更高,并且针对不同的天气类型,该模型都表现出较高的预测精度,案例分析验证了模型的正确性和可行性。

参考文献

[1]

丁明,王伟胜,王秀丽,.大规模光伏发电对电力系统影响综述[J].中国电机工程学报201434(1):1-14.DOI:10.13334/j.0258-8013.pcsee.2014.01.001.

[2]

DING MWANG W SWANG X Let al. Review on the effect of large-scale PV generation on power systems [J].Proceedings of the CSEE201434(1):1-14. DOI:10.13334/j.0258-8013.pcsee.2014.01.001(Ch).

[3]

张晓波,张保会,吴雄.风光预测后微电网的优化运行[J]. 电力自动化设备201636(3):21-25.

[4]

ZHANG X BZHANG B HWU X. Optimized operation of microgrid after wind and weather forecast [J]. Electric Power Automation Equipment201636(3):21-25 (Ch).

[5]

王守相,张娜. 基于灰色神经网络组合模型的光伏短期出力预测[J]. 电力系统自动化201236(19):37-41.

[6]

WANG S XZHANG N. Prediction of short-term photovoltaic output based on grey neural network combined model [J]. Automation of Electric Power Systems201236(19):37-41 (Ch).

[7]

代倩,段善旭,蔡涛,. 基于天气类型聚类识别的光伏系统短期无辐照度发电预测模型研究[J]. 中国电机工程学报201131(34):28-35.

[8]

DAI QDUAN S XCAI Tet al. Short-term PV generation system forecasting model without irradiation based on weather type clustering[J]. Proceedings of the CSEE201131(34):28-35 (Ch).

[9]

YONA ASENJYU TFUNABASHI T. Application of recurrent neural network to short-term-ahead generating power forecasting for photovoltaic system [C]//IEEE Power Engineering Society General Meeting. Piscataway:IEEE, 2007. DOI:10.1109/PES.2007.386072 .

[10]

王飞,米增强,甄钊,.基于天气状态模式识别的光伏电站发电功率分类预测方法[J].中国电机工程学报201333(34):75-82.

[11]

WANG FMI Z QZHEN Zet al. A classified forecasting approach of power generation for photovoltaic plants based on weather condition pattern recognition [J]. Proceedings of the CSEE201333(34):75-82 (Ch).

[12]

董雷,周文萍,张沛,.基于动态贝叶斯网络的光伏发电短期概率预测[J].中国电机工程学报201333():38-45.

[13]

DONG LZHOU W PZHANG Pet al. Short-term photovoltaic output forecast based on dynamic bayesian network theory [J]. Proceedings of the CSEE2013,33(add 1):38-45(Ch).

[14]

付青,单英浩,朱昌亚.基于NARX神经网络的光伏发电 功率预测研究[J].电气传动201646(4):42-45.

[15]

FU QSHAN Y HZHU C Y. Generated power forecasting for photovoltaic system based on NARX neural network [J].Electric Drive201646(4):42-45 (Ch).

[16]

王继东,冉冉,宋智林.基于改进深度受限玻尔兹曼机算法的光伏发电短期功率概率预测[J].电力自动化设备201838(5):43-49.DOI:10.16081/j.issn.1006-6047.2018.05.006 .

[17]

WANG J DRAN RSONG Z L. Probability prediction of short-term power of photovoltaic power generation based on improved depth-limited Boltzmann machine algorithm [J]. Electric Power Automation Equipment201838(5):43-49.DOI:10.16081/j.issn.1006-6047.2018.05.006(Ch ).

[18]

陆萍,陈志峰,施连敏.RBM学习方法对比[J].计算机时代201411:10-13.

[19]

LU PCHEN Z FSHI L M. RBM learning method comparison [J]. Computer Era2014,11:10-13(Ch).

[20]

刘凯,张立民,孙永威.基于遗传算法的RBM优化设计[J].微电子学与计算机201532(6):2-3.

[21]

LIU KZHANG L MSUN Y W. RBM optimization based on genetic algorithms[J]. Microelectronics & Computer201532(6):2-3 (Ch).

[22]

CORUH SGEYIKCI FKILIC Eet al. The use of NARX neural network for modeling of adsorption of zinc ions using activated almond shell as a potential biosorbent[J]. Bioresource Technology,2014151(1):406-410.

[23]

潘丽莎,程晓卿,秦勇,. 基于NARX神经网络的轮重减载率预测[J].铁道车辆201250(9):4-7.

[24]

PAN L SCHENG X QQIN Yet al. Prediction of wheel load shedding rate based on NARX neural network [J]. Railway Vehicles201250(9):4-7 (Ch).

[25]

MUHAMMAD J,ALI S M, BILAL Ket al. Genretic algorithm-based non-linear auto-regressive with exogenous inputs neural network short-term and medium-term uncertainty modelling and prediction for electrical load and wind speed [J].The Journal of Engineering2018(8):721-729. DOI:10.1049/joe.2017.0873 .

基金资助

国家自然科学基金(51907140)

AI Summary AI Mindmap
PDF (2377KB)

0

访问

0

被引

详细

导航
相关文章

AI思维导图

/