基于Spiking神经网络的光伏发电系统功率预测
2016-08-27卢怡含刘忠辉
卢怡含,王 林,晋 飞,刘忠辉,唐 敏
(1.国网昌邑市供电公司,山东 昌邑 261300; 2.国网潍坊供电公司,山东 潍坊 261000)
基于Spiking神经网络的光伏发电系统功率预测
卢怡含1,王林2,晋飞2,刘忠辉2,唐敏2
(1.国网昌邑市供电公司,山东 昌邑 261300; 2.国网潍坊供电公司,山东 潍坊 261000)
针对光伏发电系统输出功率的随机性,提出了一种基于Spiking神经网络的光伏发电功率预测模型,它采用精确脉冲时间的编码方式,能接近真实的生物神经系统,并具有 强大的计算能力。考虑天气类型、太阳辐照强度、环境温度等主要影响因素,采用近似欧式距离 选取相似日的方法,应用实际光伏发电系统的历史发电数据和气象数据对Spiking神经网络、BP神经网络和支持向量机三种预测模型 进行测试和评估。预测结果与实测值的比较表明:Spiking神经网络模型相比于BP神经网络和支持向量机模型具有较高的预测精度和较强的适用性,可作为解决光伏发电系统功率预测可行方法之一。
光伏系统;Spiking神经网络;脉冲响应模型;Spikeprop算法;发电功率预测
光伏发电系统的输出功率受到天气类型、太阳辐照强度和环境温度等因素的影响,其功率的变化具有随机性和波动性,因此有必要对光伏发电系统的输出功率进行准确预测,有效降低大规模光伏接入对电力系统的影响,提高电力系统的安全性和稳定性[1-2]。
目前,针对光伏发电系统输出功率的随机性,国内外提出的用于发电功率预测的传统方法主要是基于数理统计理论的预测模型,如马尔可夫链(Markov Chain)模型、自回归滑动平均(Auto Regressive Moving Average, ARMA)模型,但是这些方法在考虑天气变化等不稳定因素的影响以及系统的非线性时,预测结果精度不高[3-4]。而支持向量机(Support Vector Machine, SVM)模型能较好解决小样本、非线性、高维数等问题,但是必须给定一个误差参数c,数据处理时间较长,且核函数必须满足Mercer条件[5]。人工神经网络(Artificial Neural Network, ANN)可以模仿人脑训练已有的信息,掌握不同因素间的内部规律,执行复杂的数学映射,特别适合处理光伏发电功率和外部影响因素间的非线性关系[6]。其中,反向传播人工神经网络(Back Propagation Artificial Neural Network, BP-ANN)因具有很强的学习能力、组织性、容错性和推理意识功能等优点而被广泛应用于光伏功率预测中[7],但是其在处理大量历史数据以及预测精度方面仍面临着巨大的挑战。
近些年来,研究人员发现Spiking神经元采用时间编码(Temporal encoding)方法进行信息的传递和计算,能更真实地描述实际的生物神经系统。这种基于神经元建立的神经网络被称为Spiking神经网络(Spiking Neural Network, SNN),也被称为第三代神经网络[8]。Spiking神经网络在模式识别和分类中具有优越的性能[9],特别适用于解决高维聚类和非线性分类等问题[10]。而且已经证实SNN可以完成任意前向Sigmoid神经网络的功能,逼近任意连续函数,比其他类型的神经网络具有更强的计算能力和更好的适用性。因此本文将SNN应用到光伏发电系统功率预测中,并利用实际光伏发电系统的数据对该模型进行测试,以验证SNN预测模型的可行性。
1 Spiking神经网络
1.1Spiking神经网络结构
Spiking神经网络的基本单元Spiking神经元的模型选用脉冲响应模型(Spike Response Model, SRM),模型的具体结构及工作原理参见文献[11]。SNN的连续层中任意神经元h和i间的连接结构如图1所示。
图1 第h和第i个神经元间多个有延迟突触终端的连接
SNN特有的多突触结构以及时间编码方式,使其不仅具有强大的计算能力和较好的适用性,而且特别善于处理基于时间的问题。
1.2网络训练算法
本文采用三层前向Spiking神经网络,如图2所示。
图2 三层前向Spiking神经网络
网络训练算法采用Bohte提出的含有监督学习方法-SpikeProp(Spike Propagation, SpikeProp)算法[12],算法步骤如下:
步骤1准备一个归一化到[0, 1]的初始数据集。
步骤2将权值初始化为小的随机值。初始化SNN参数,如PSP衰减时间常数τ和网络学习率η。
步骤3对三层前向Spiking神经网络中的输入层H、隐含层I和输出层J重复步骤4~步骤7‘cnt’次(cnt为迭代次数)。其中每层神经元的个数分别为n、p和q,各层中任意一个神经元分别用h∈[1,n]、i∈[1,p]和j∈[1,q]表示。
步骤4将训练样本集中的输入向量作为网络训练输入,对应期望输出向量作为网络输出。
步骤6计算网络训练误差E:
步骤7修正网络权值以最小化网络的训练误差。对训练集中的每一对输入、输出向量,重复步骤4)~7),直到整个系统的误差足够小。
2 基于SNN的光伏发电功率预测模型
2.1预测模型的相似日选取
单位面积的光伏发电系统输出功率[13]计算公式为
ps=ηSI(1-0.05(t0+25))
(1)
式中:η为光伏电池转换效率,%;S为光伏阵列面积,m2;I为太阳辐照强度,kW/m2;t0为环境温度,℃。
根据式(1)可知,影响光伏发电系统输出功率的主要因素是天气类型、太阳辐照强度、环境温度、光伏电池的转换效率和阵列面积等。对于同一光伏发电系统,转换效率和阵列面积等影响因素已经包含在历史发电数据中,不再考虑。因此预测模型输入变量的选择需考虑天气类型、太阳辐照强度和环境温度等影响因素。
不同类型天气的太阳辐照强度、云量、环境温度等影响因素不同,对应光伏发电系统的输出功率也不同,因此天气类型是影响光伏发电功率预测的一个主要因素。但是一天中的天气会出现如晴转多云、多云转小雨等多变现象,若仅将天气类型作晴天、多云、阴天、雨天等简单分类,则会对天气因素处理不够精细,导致模型失效。因此,本文在上述简单分类的基础上,通过计算和排序欧式距离的方法来确定相似日,具体步骤如下:
步骤1根据预测日的天气类型预报信息从样本库中挑选出相同日类型的历史发电日组成粗选集。粗选集是将各种天气类型大致划分为晴天、多云、阴天和雨天。
步骤2计算粗选集中每个历史发电日与预测日的最高、最低温度和太阳辐照强度的欧氏距离:
式中:t0h、t0l为预测日的最高、最低温度预报值;tih、til为粗选集中第i个历史发电日的最高、最低温度;I0为预测日太阳辐照强度预报值;Ii为粗选集中第i个历史发电日的太阳辐照强度。
步骤3将计算出的每个历史发电日的欧氏距离di,按照升序排列,并选取前a个,本文a=6。
步骤4选取这a个欧式距离对应的历史发电日组成预测日的相似日集。
2.2样本数据预处理
本文采用的是光伏发电数据采集系统数据库中的原始气象数据和历史发电数据,由于数据通道通信错误、数据整理错误等原因,量测数据中会出现一些异常数据。因此,采用解析分析法对异常数据进行剔除和补充以提高预测精度。同时,预测模型中的光伏系统历史发电功率、环境温度和太阳辐照强度等各个数据具有不同的物理意义,而且数量级也相差很大,不具有可比性。因此,在对网络进行训练之前还必须对数据进行归一化处理,将训练和测试样本数据尺度变换到区间[0,1]内,以消除原始数据形式不同所带来的不利,进而提高网络的泛化能力和预测精度。对不同量纲数据进行归一化处理的公式为
2.3预测模型的输入、输出编码
SNN是基于精确的脉冲发射时间进行信息传递和计算的,因此必须将模拟量数据转换成脉冲发射时间。本文采用Time-to-first-Spike方法[14]对SNN的输入、输出进行编码,该方法的前提条件是假设Spiking神经元只发射一个脉冲。神经元发射脉冲的时刻与模拟量的值成比例,一般模拟量的值越大,对应发射脉冲的时间越早。在经归一化到区间[0,1]内的数据中,最大值1对应的神经元将首先发射脉冲,并记该脉冲发射时间为0,而数据中最小值0对应的神经元最后发射脉冲,并记该脉冲发射时间为Tmax。将模拟量转换成脉冲发射时间的公式为
T=Tmax(1-p*)
式中:p*为归一化后的样本模拟量数据;Tmax为最大脉冲发射时间;T为神经元的脉冲发射时间,ms。
2.4预测模型结构的确定
2.4.1输入、输出层神经元个数的确定
输入层神经元的个数n对应于模型输入量的个数,本模型选取相似日08∶00~17∶00每间隔1 h的整点时刻发电功率、相似日和预测日的最高、最低温度、太阳辐照强度等6个影响因素,共16个量作为输入量,对应16个神经元。输出层神经元个数q对应于模型输出量的个数,输出是预测日08∶00~17∶00的10个整点时刻发电功率,对应10个神经元。预测模型输入、输出层神经元对应的变量如表1所示。
表1 预测模型输入、输出变量
注:表中“x”表示输入变量,“y”表示输出变量。
2.4.2隐含层神经元个数的确定
目前,关于SNN的隐含层神经元个数的选取没有明确的方法和公式可以应用,隐含层神经元个数p的确定是网络训练中的关键内容之一。本文按照确定BP-ANN隐含层神经元个数的经验公式,经过多次试验,确定SNN隐含层最佳神经元数为15。常用经验公式为
p=log2n
式中:p为隐含层神经元个数;n为输入层神经元个数;q为输出层神经元个数;a为1~10之间的整数。
综上所述,基于SNN的光伏发电功率预测方法的实现流程如图3所示。
图3 预测方法流程图
3 算例分析
以某光伏发电系统作为研究对象,选取2011年和2012年的历史发电数据和对应的气象数据,对SNN、BP-ANN和SVM三种预测模型进行仿真实验,并对三种模型的预测结果进行比较验证分析。SNN、BP-ANN和SVM的程序在MALAB2010a上运行,所用计算机的操作系统是Windows 7旗舰版32位,硬件配置是英特尔酷睿i5处理器,CPU主频3.20 GHz,RAM 4 GB。
3.1参数设置
3.1.1SNN参数设置
根据文献[15]中关于网络参数的设定,并结合光伏发电功率自身的特点,经过多次试验设置可以获得如下最佳预测结果的SNN参数。
连续层任意两个神经元之间突触子连接个数m是SNN的结构中的一个很重要的因素。本文在测试过程中对m的取值进行了探讨,发现不同的m值对训练时网络收敛性的影响。一般情况下,减少突触子连接个数m的值会导致收敛代数增加,而增加m的值使其超过16时,会大大增加网络的计算量,而网络的收敛性却没有明显改变。因此,综合选取的m值为16,相应的突触延迟dk选取从1~16 ms递增的整数值。
输入、输出编码窗口中最大脉冲时间Tmax=5 ms,则脉冲在0 ms和5 ms时从输入层H传递到隐含层I,然后再从隐含层I传递到输出层J,每两层之间有m(m=16)个突触子连接,突触延迟dk最小1 ms、最大16 ms。因此SNN的输入、输出之间有时间延迟ΔT,范围从0+2×1=2 ms到5+2×16=37 ms。
3.1.2BP-ANN及SVM参数设置
通过多次试验设置可以获得如下最佳预测结果的BP-ANN和SVM参数。
BP-ANN的参数项和SNN相似,包括以下几项:网络各层神经元数和SNN相同;网络算法采用误差反向传播(Error Back Propagation, EBP)算法;传递函数为Sigmoid函数;网络学习率η取为0.01。
SVM的参数项较少,主要包括:核函数为径向基函数(Radial Basis Function, RBF);核函数中参数用网格搜索算法寻优,其中宽度参数δ2范围为2-8~21,搜索步长为0.5;惩罚系数c范围为21~210,搜索步长为0.5。
综上,SNN、BP-ANN和SVM预测模型的主要最优结构参数设置如表2所示。
表2 SNN、BP-ANN和SVM预测模型的最优结构参数
注:表中“”表示预测模型中不存在此参数。
3.2预测结果及评估
SNN、BP-ANN和SVM预测模型对4种天气类型的光伏发电功率的预测结果分别如图4~7所示。
图4 晴天预测结果
图5 多云天预测结果
图6 阴天预测结果
图7 雨天预测结果
由图4可以看出,晴天的光伏电站的发电功率曲线波动不大,三种预测模型的预测曲线与实际曲线基本吻合。但是SNN的预测曲线更接近实际曲线,特别是在实际发电功率曲线发生微弱波动的 11∶00~13∶00时间段,SNN预测曲线的变化趋势和实际曲线的变化趋势基本保持一致,说明SNN在发电功率波动性不大的情况下有更高的预测精度。
由图5可以看出,多云天气下三种模型的预测结果误差偏大。可能是训练样本中多云天气的样本数较少、多云天气的云团厚薄和移动趋势难以预测等原因所致。然而,在实际发电功率曲线波动较大的11∶00~13∶00和14∶00~16∶00时间段,相比于BP-ANN和SVM,SNN的预测曲线和实际曲线更贴合,更能反映实际功率的变化趋势。这表明SNN的局部预测效果更好,适用性更好。
从图6可以看到,由于阴天的样本数较少,而且天气情况复杂多变,晴转阴、多云转阴,全天阴天,再加上云团的厚薄等因素都会对预测结果产生影响,三种预测模型在实际发电功率曲线波动较大的时间段如10∶00~13∶00的预测误差较大。但是通过对比可以发现,对于预测误差较大的11∶00~13∶00时间段,SNN的预测曲线更接近实际曲线,其更能反映此种天气条件下实际光伏发电功率的变化趋势,可明显降低预测误差。
由图7可以看出,实际曲线波动性较大,三种模型在波动较大的时间段预测结果误差较大。虽然在某些时间段如9∶00~10∶00,SNN的预测结果并没有BP-ANN和SVM的预测结果精确,但是在实际曲线波动较大的10∶00~13∶00时间段,SNN的预测值更接近实际值,说明SNN有更好的学习和映射能力。
针对以上三种模型的预测结果,采用平均绝对百分比误差(Mean Absolute Percent Error, MAPE)指标对三种预测模型进行比较和分析:
式中:Xr为预测日实际发电功率;Xf为预测发电功率;N为数据总数;i为数据序号。
为了更加直观而详细了解各种天气类型下三种预测模型的预测误差情况,给出了SVM、BP-ANN和SNN预测模型对各种天气类型的光伏发电系统功率预测结果的MAPE,如表3所示。
从表3中可以看出:在晴天天气类型时,三种预测模型的MAPE均小于10%,预测结果均较为准确,其中SNN预测模型预测结果的MAPE较SVM低2.37%,较BP-ANN低2.85%;在多云天、阴天、雨天等发电功率波动较大的天气类型时,三种模型的预测结果相对于晴天都有较大的误差,但是SNN的整体预测结果相比于SVM和BP-ANN明显具有更高的精度,这说明SNN预测模型更加适用于随机性和波动性较大的天气类型。
表3 SVM、BP-ANN和SNN预测模型的MAPE
4 结 语
本文提出了一种基于Spiking神经网络的光伏发电系统功率预测模型。采用比较欧式距离确定相似日的方法,应用某光伏发电系统的历史发电数据和相应的气象数据对SNN预测模型和传统的BP-ANN、SVM预测模型进行比较验证分析。测试结果表明:SNN预测模型相对于BP-ANN和SVM预测模型有更好的学习、映射能力以及更高的预测精度,对光伏系统历史发电功率与环境温度、太阳辐照强度等数据间非线性关系的处理能力和适用性也较高。
[1] 丁明, 王伟胜, 王秀丽, 等. 大规模光伏发电对电力系统影响综述[J]. 中国电机工程学报, 2014, 34(1): 2-14.
DING Ming, WANG Weisheng, WANG Xiuli, et al. A review on the effect of large-scale PV generation on power systems [J]. Proceedings of the CSEE, 2014, 34(1): 2-14.
[2] 杨海威, 谢宜宏, 熊毅, 等. 基于实测功率数据的风光输出特性分析[J]. 黑龙江电力, 2015,37(4): 343-346.
YANG Haiwei, XIE Yihong, XIONG Yi, et al. Output characteristic analysis of wind and solar hybrid generation system based on real measured power data [J]. Heilongjiang Electric Power, 2015,37(4): 343-346.
[3] 丁明, 徐宁舟. 基于马尔可夫链的光伏发电系统输出功率短期预测方法[J]. 电网技术, 2011, 35(1): 152-157.
DING Ming, XU Ningzhou. A method to forecast short-term output power of photovoltaic generation system based on markov chain[J]. Power System Technology, 2011, 35(1): 152-157.
[4] XU W. The designing of establishing modeling simulation and forecasting methods for short-term solar irradiance based on time-scale[J]. Journal of Changzhou Institute of Technology, 2009, 22(1): 41-44.
[5] SHI Jie, LEE Weijei, LIU Yongqian, et al. Forecasting power output of photovoltaic systems based on weather classification and support vector machines [J]. IEEE Transactions on Industry Applications, 2012, 48(3): 1064-1069.
[6] 王守相, 张娜. 基于灰色神经网络组合模型的光伏短期出力预测[J]. 电力系统自动化, 2012, 36(19): 37-41.
WANG Shouxiang, ZHANG Na. Short-term output power forecast of photovoltaic based on a grey and neural network hybrid model[J]. Automation of Electric Power Systems, 2012, 36(19): 37-41.
[7] 陈昌松, 段善旭, 殷进军. 基于神经网络的光伏阵列发电预测模型的设计[J]. 电工技术学报, 2009, 24(9): 153-158.
CHEN Changsong, DUAN Shanxu, YIN Jinjun. Application of recurrent neural networks to generated power forecasting for photovoltaic system[J]. Transactions of China Electrotechnical Society, 2009, 24(9): 153-158.
[8] MAASS W. Networks of spiking neurons: the third generation of neural network models[J]. Neural Networks, 1997, 10(9): 1659-1671.
[9] ROWCLIFFE P, FENG J. Training spiking neuronal networks with applications in engineering tasks[J]. IEEE Transactions on Neural Networks, 2008, 19(9): 1626-1640.
[10] BOHTE S M, POUTRE H L, KOK J N. Unsupervised clustering with spiking neurons by sparse temporal coding and multi-layer spike Neural Network[J]. IEEE Transactions on Neural Networks, 2002, 13(2): 426-435.
[11] GERSTNER W, KISTLER W M. Spiking neuron models. Single neurons, populations, plasticity[M]. NY: Cambridge University Press, 2002.
[12] BOHTE S M, KOK J N, LA POUTRE H. Error-backpropagation in temporally encoded networks of spiking neurons[J]. Neurocomputing, 2002, 48(1): 17-37.
[13] LI Y Z, NIU J. Forecast of power generation for grid-connected photovoltaic system based on Markov chain[C]//Power and Energy Engineering Conference, 2009. APPEEC 2009. Asia-Pacific. IEEE, 2009: 1-4.
[14] 崔文博, 蔺想红, 徐满意. 脉冲神经网络图像分割的编码方法[J]. 计算机工程, 2012, 38(24): 196-199.
CUI Wenbo, LIN Xianghong, XU Manyi. Coding method of image segmentation in spiking neural network[J]. Computer Engineering, 2012, 38(24): 196-199.
[15] GHOSH-DASTIDAR S, ADELI H. Improved spiking neural networks for EEG classification and epilepsy and seizure detection[J]. Integrated Computer-Aided Engineering, 2007, 14(3):187-212.
(责任编辑侯世春)
Photovoltaic system power forecasting based on Spiking neutral network
LU Yihan1, WANG Lin2, JIN Fei2, LIU Zhonghui2, TANG Min2
(1.State Grid Changyi Power Supply Company, Changyi 261300, China; 2.State Grid Weifang Power Supply Company, Weifang 261000, China)
Aiming at the randomness of photovoltaic system output power, this paper proposed the forecasting model of PV power generation based on Spiking neural network. It is a model that uses coding method with computing capability and accurate pulse time, which is closer to the real biological nerve system. Considering the main influencing factors such as weather types, sunshine intensity, temperature etc., the paper adopted the approximate Euclidean distance to select similar days, and the historical generation data and meteorological data of the practical PV system to test and evaluate three forecasting models, including Spiking neural network, BP neural network and support vector machine. The results of the comparison between the forecast and the actual measured values reveal that Spiking neural network model, compared with BP neural network model and support vector machine model, has relatively high forecast accuracy and robust applicability, and can provide an effective and feasible way to forecast the PV system power generation.
photovoltaic system(PV); Spiking neural network; pulse response model; Spikeprop algorithm; power generation forecasting
2015-10-17;
2015-11-01。
卢怡含(1989—),女,助理工程师,主要研究方向为电力系统继电保护。
TM615.2
A
2095-6843(2016)03-0263-07