APP下载

基于ACO-BP神经网络的光伏系统发电功率预测

2020-04-22陈智雨陆金桂

机械制造与自动化 2020年1期
关键词:阈值发电天气

陈智雨,陆金桂

(南京工业大学 机械与动力工程学院,江苏 南京 211816)

0 引言

光伏发电系统的出力具有不确定性和不连续性[1],其受到很多因素的影响,如太阳光照强度、光伏阵列的转换效率、安装角度、温度以及其他一些因素都会对光伏阵列的输出特性产生影响。随着光伏发电容量越来越大,为了减少并网光伏对电网的冲击,对其发电量进行预测,可以提高电网的稳定性和安全性[2-3]。

常用的预测方法有时间序列法、支持向量机、神经网络、马尔可夫链等[4]。目前常用的方法大多采用BP神经网络对光伏发电进行预测,但单纯的BP算法易陷入局部最优,无法获得最优解。本文引入相似日概念,采用ACO-BP算法对光伏发电功率建立神经网络模型,进行光伏发电功率预测。

1 光伏系统

对于具体的光伏发电系统来说,其所有的历史数据都来源于同一个发电系统,所以它发电功率的历史时间序列具有高度的自相关性[5]。因此,如果利用历史数据来预测发电功率会使得到的数据更加准确。

研究以某大学浦江宿舍光伏发电系统为例,总容量为100kW,发电供浦江宿舍片区38盏(60W/盏)LED路灯照明和太阳能-空气源热泵热水系统用电设备使用。

2 相似日搜索和训练样本的确定

首先确定预测日的天气类型、日最高温度、日最低温度以及日平均温度,在历史数据中筛选出和预测日相同天气条件的历史记录,形成样本集A。计算预测日和样本集A中历史记录的最高温度、最低温度和日平均温度的欧式距离dk,dk的计算公式见式(1)。

(1)

式中:Y1、Y2、Y3分别为预测日的最高温度、最低温度和日平均温度;Xk1、Xk2、Xk3分别为样本集A中第k条历史记录的最高温度、最低温度和日平均温度。将欧氏距离集{d1,d2,…,dn}按照值的大小升序排序,将排序的欧氏距离前k(1

3 ACO-BP算法

传统的BP 神经网络训练采用的是误差反向传播学习算法,它的优化目标函数相对复杂,较容易出现陷入局部最优、收敛速度慢等问题[6]。由于BP神经网络的训练算法实质上是对其网络权值和阈值进行迭代调整,因此用蚁群优化算法替代BP算法完成对神经网络权阈值的迭代调整,并最终完成神经网络的训练。

a) ACO-BP算法基本思路

蚁群算法解决优化问题的基本思路为: 用蚂蚁的行走路径表示待优化问题的可行解,整个蚂蚁群体的所有路径构成待优化问题的解空间。路径较短的蚂蚁释放较多的信息素。经过一定时间,信息素浓度在较短的路径上累计较高,所有选择此路径的蚂蚁也逐渐增多,最终,整个蚁群会在正反馈的作用下集中在最佳路径上,此时对应的便是待优化问题的最优解。

首先根据权值和阈值的取值范围,将值的定义域划分成S个等长区间,即每个区间的长度被作S等分,将区间的临界值或选择区间中的随机值作为候选值。确定参数个数n,包括网络中所有的权阈值。每个参数Pi(i=1,2,…,n)对应一个有S个元素的集合IPi,这些元素为Pi的可能取值。

b) 具体步骤

1) 参数初始化:将所有权值和阈值进行S等分,所有区间初始信息素0,信息素残留系数λ,信息素浓度Q,当前区间信息表为Tabu,最大迭代次数C,网络全局误差E,最大学习次数N;

2) 权值和阈值选择:蚁群m只蚂蚁,对于蚂蚁k依据概率公式(2)的寻路规则进行选择节点所在区间,蚁群迭代一次则完成一次解的构造:

(2)

式中τj(Ipi)为集合IPi中第j个元素的信息素值;

3) 蚁群寻优判断:蚁群迭代一次得到的构造解,则是当前迭代后得到误差最小的一组解,计算误差Ec,判断是否达到蚁群要求,若是则转到4),否则转到5);

4) 网络训练:将蚁群迭代得到的最优构造解,作为初始权值和阈值,选取数据集对网络进行训练,直到满足结束条件即最大学习次数,完成学习。否则,继续学习;

5) 更新信息素:根据式(3)、式(4)、式(5)对所有区间信息素全局更新,并重置信息表:

τj(IPi)(t+h)=ρτj(IPi)(t)+Δτj(IPi)

(3)

(4)

(5)

其中:Q为信息素固定值; ek为第k只蚂蚁对应的神经网络输出误差;

6) 蚁群遍历:重复步骤 2)到步骤 3)。

其算法如图1所示。

图1 ACO-BP算法流程图

4 ACO-BP预测模型设计

4.1 BP神经网络

人工神经网络(artificial neural network, ANN)被视为预测太阳辐射强度和光伏发电系统输出功率的一种有效方法。BP 神经网络能够学习、处理大量的输入-输出模式映射关系,而不需要提前明确对应的映射关系,是目前应用广泛的神经网络模型之一[7]。本文提出的光伏发电功率神经网络预测模型结构如图2所示。

图2 光伏发电功率预测神经网络模型结构图

4.2 预测模型设计

1) 输入层与输出层

预测模型的输入变量为相似日6∶00-19∶00每小时的输出功率、日平均温度、日最高温度,日最低温度以及预测日的天气数据,输入层节点数为20个;输出层的变量为预测日6∶00-19∶00期间每小时的输出功率平均值,因此输出层的节点数为14个。

2) 隐含层层数及节点数

增加隐含层数可以降低神经网络训练误差,过多的隐含层数会使模型结构变得复杂化,出现“过拟合”现象,降低估算精度。本文选用一个隐含层的神经网络结构完成对光伏发电功率的预测。

神经网络隐含层节点数按目前常用经验公式进行计算,本文采用的计算公式如式(6)所示。

(6)

式中:N为隐含层节点数;m为输入层节点数;n为输出层节点数;a为在区间[0,10] 内的常数。

为进一步提高神经网络预测的准确性,本文选取5个样本日对隐含层节点数进行数值实验,计算其平均相对误差,确定最佳的隐含层节点数为9。

4.3 数据归一化处理

为了更好地对BP神经网络进行训练和验证,避免直接使用原始数据进行训练而引起神经元过饱和,在构造神经网络模型之前将训练样本数据和预测样本数据进行归一化处理。本文选择单极性Sigmoid函数作为隐含层和输出层的激活函数,归一化公式如式(7)所示。

(7)

式中Xn、Xmax、Xmin分别为原始输入数据、原始输入数据中的最大值、最小值。

5 预测结果分析

5.1 预测结果

为验证ACO-BP神经网络预测模型的准确性,将粒子群算法(PSO)也引入BP模型参数的选取中,将PSO-BP神经网络预测模型的预测结果与ACO-BP相比较,验证ACO-BP模型的优越性。

根据本文的分析,需要对日照类型进行分类。按照相似日将这些历史数据分为晴天、阴天和雨天不同组的数据,并将每日的平均温度、日最高温度和日最低温度作为输入量输入模型。研究取各种天气类型相似日中的一天(非样本数据)作为预测日,并用ACO-BP预测模型进行功率预测。为方便分析,同时采用传统BP算法和PSO-BP算法训练的模型预测,对3个预测日:2018年9月29日(晴)、2018年9月6日(阴)和2018年9月20日(雨)进行光伏发电功率预测,最终得出如图3、图4和图5所示的结果。

图3 9月29日晴

图4 9月6日阴

图5 9月20日雨

从上述功率预测图中可看出:

1) 在晴天天气类型下,3种模型的预测效果相比于其他天气类型要高。晴天天气下,太阳辐射强度较高,而其他天气因为日照类型不同、日最高最低温度和平均温度的不同等原因,增加了光伏系统发电功率预测的不确定和随机性,导致模型的预测精度降低。

2) 在3种天气类型下,ACO-BP神经网络模型预测结果与实际光伏发电功率的吻合度相比于BP神经网络和PSO-BP神经网络都要高。

5.2 不同天气类型误差比较

针对构造的预测模型,采用平均绝对百分比误差MAPE对其预测的发电结果进行分析,评估整体的预测能力,其计算式(8)如下:

(8)

式中:Pact,i为光伏阵列发电量实际值;Pfore,i为光伏阵列发电量预测值;N为预测样本数量。对图3中晴天的光伏阵列发电预测及实际值进行预测误差指标分析,其预测结果如表1所示,误差结果如表2所示。

表1 2018年9月29日预测值和实际值 单位:W

从表2中可以看出:ACO-BP预测模型比其他两种模型预测得效果要好。在晴天天气类型下,其预测精度相比于BP预测模型高34.21%,相比于PSO-BP预测模型高10.73%;在阴天天气类型下,其预测精度相比于BP预测模型高29.97%,相比于PSO-BP预测模型高12.63%;在雨天天气类型下,其预测精度相比于BP预测模型高31.04%,相比于PSO-BP预测模型高9.67%。

表2 各种天气类型下每个模型的预测误差 单位:%

6 结语

本文采用蚁群算法,利用其优秀的全局寻优能力,对神经网络初始权阈值进行了优化,在一定程度上避免了BP神经网络易陷入局部最优的问题,并将改进的ACO-BP模型用于光伏发电功率预测。从预测结果表明:结合了蚁群算法与 BP 神经网络的优点,ACO-BP神经网络模型相比于传统BP模型有更好的预测效果。通过与PSO-BP神经网络预测结果对比发现:ACO-BP神经网络光伏系统发电功率预测模型的预测性能略优于PSO-BP神经网络,验证了本模型的合理性和准确性,方便电网调度机构制定更加合理的光伏发电运行方式,加强光伏发电并网的能力。

猜你喜欢

阈值发电天气
“发电”
天气冷了,就容易抑郁吗?
柠檬亦能发电?
谁是天气之子
盛暑天气,觅得书中一味凉
小波阈值去噪在深小孔钻削声发射信号处理中的应用
基于CS-TWR的动态阈值贪婪算法成像研究
基于自适应阈值和连通域的隧道裂缝提取
Weather(天气)
摇晃发电小圆球