基于改进SSA优化BP神经网络的光伏发电量预测①
2022-08-24田义云张建秋
田义云, 张建秋
(安徽理工大学力学与光电物理学院,安徽 淮南 232001)
0 引 言
由于光伏面板光照的不稳定性、和其他环境因数,基于BP神经网络光伏发电预测存在对光伏发电系统的发电量预测误差较大的问题,崔佳豪等人将混合神经网络和注意力机制结合一起,利用其改进算法的神经网络预测模型对分布式光伏发电系统发电进行预测,通过对比实验,结果表明改进后的算法对光伏发电预测精准度有较大提升[1]。王英立等人将光伏发电中两个输入(气象因数)和输出变量(光伏发电量)利用欧式距离和Spearman相关系数方法优化利用优化BP神经网络对光伏发电预测取得了较好的结果[2]。李燕斌,万亚宁设计基于粒子群-BP神经网络预测模型。将粒子群引入BP神经网络中对其内部权重和阈值进行最优值搜索[3]。朱芳将KPCA与混合蛙跳算法相结合,进行输入量提取输入关键成分,同时发电功率输出一起构成历史数据库,然后对其训练,确定其神经网络的最佳的阈值和权值,构成综合的光伏发电的预测模型,通过误差实验度对比,该模型预测精度有较大提升[4]。近几十年,群体智能算法快速发展,涌现了众多的智能群体算法。薛建凯等人模仿麻雀寻找食物行为,设计了新的算法—麻雀搜索算法(Sparrow Search Algorithm,SSA)[5]。SSA算法具有比LSO,GWO全局探索性能好,收敛稳定性强,但也存在后期易陷入局部最优值和收敛速度较慢缺陷[6-9]。针对这些问题,根据以上文献,本文将自适应T分布[10](又称学生分布)策略引入麻雀搜索算法中。自适应T分布策略的自由度参数用麻雀算法的迭代次数表示,以此提高种群的多样性,增强算法后期全局搜索能力,然后对BP神经网络的阈值和权值进行寻优。通过对比实验,利用与实际数据值对比和误差量分析来评估改进的算法预测模型光伏发电量预测性能。
1 基于TSSA-BP神经网络模型
1.1 BP神经网络结构设计
日照强度、环境温度等是光伏发电系统输出功率主要影响。不同环境的空气分子、尘埃和云滴在大气中不同,对应的太阳辐射散射为也不同。光伏输出特性分析单位面积光伏阵列的输出功率,光伏发电的理论计算如式(1):
式(1)中η阵列的转换效率;R(t)为太阳辐射强度;T为环境温度;S为光伏阵列。功率输出为受多种因素影响,如光照强度和环境温度。环境因素的影响功率输出,光照强度为与功率输出正相关,并具有较强的相关性。BP神经网络是其中最成熟、应用最广泛的网络之一人工神经网络模型。基本BP算法包括两个方面:信号的前向传播以及错误的反向传播。实际的输出计算从输入到输出方向,从输出到输入方向是对权值的修正,以便BP神经网络的预测输出接近所需的输出。它由输入层组成,隐藏层和输出层,隐含层是一层。在针对由于数据量的不够和一些外在环境因素,在BP神经网络中输入层、输出层以及隐藏层和数据预测精度要求严格的相关性,在实际的过程中神经网络设计关键是神经数量,其中两个是光照强度R(t),温度t两个参数和4个历史预测点p1,p2,p3,p4。基于测量数据,根据实验反复测试,设计输入层和数据的特点设计6个输入神经元,隐藏层为11个神经元,输出层1个神经元,而BP神经网络是基于梯度,神经网络具有学习收敛速度慢的缺点过程中,容易陷入局部最优,对初始权重、学习率等敏感网络的参数。BP神经网络的拓扑结构如图1所示。本实验设计的参数:间隔次50,学习率0.04,动量因子0.8,训练次数400,误差精度0.01。
图1 BP神经网络的拓扑结构
1.2 麻雀搜索算法
麻雀搜索算法(SSA)是模仿麻雀寻找食物行为设计而成,然后根据各自寻食行为以及加入者三者之间的协作关系,进行自身位置更新。发现者的位置更新如式(2):
式(2)中X t+1i,j代表个体在t+1次迭代的最优位置,t为当前迭代次数,α∈(0.1]为随机数。R2(R2∈[0,1]),ST(ST∈[0.5,1]代表警告和安全参数值,Q是正态分布随机数且N(0,1),L为1×d(d=MP)矩阵且每个元素都是1,Tmax种群最大迭代次数。加入者的位置更新如式(3):
式(3)中,MP是群体总数,发现者最优位置X best,全局最差位置Xworst,A为1×d矩阵,每元素随机赋值,A+=A T(AA T)-1。β作为步长参数,服从N(0,1)正态分布随机数,X ti,j代表个体在t次迭代的全局最优位置,随机数K范围[-1,1]。f i,f g和f w分别是群体个体当前适应值、全局最佳和最差适应度。警戒者位置更新如式(4):
1.3 SSA的改进
T分布含有参数自由度n,它的曲线形态与自由度n大小有关,n值越大,曲线越陡峭,此时曲线具有中间高,曲线双侧尾部低的特点[10]。高斯分布N(0,1),柯西分布C(0,1)和T分布的对比图如图2:
图2 高斯分布、柯西分布和T分布图
针对麻雀搜索算法后期易陷入局部最优值、收敛速度较慢和寻优精度低等问题,在麻雀算法后期个体位置完全更新后,利用自适应T分布策略对随机选择的发现者、加入者、警戒者个体位置进行扰动,提高种群多样性和全局探索能力,更新其位置,不断的逼近食物位置,对比更新前后麻雀个体适应度值,如果更优则替代之前的麻雀,自适应T布随机干扰因数α1控制麻雀个体变异程度大小。公式如(5):
自适应随机干扰因数控制麻雀个体变异的程度,其范围[α1∈(0,1)],并且递减,L为最大迭代次数。自适应T分布策略公式如(6):
式(6)中X t+1ij=(x i1,x i2,...,x ij)为变异后的麻雀个体位置,x ij为第i麻雀个体位置,t(l)代表迭代次数l时的t分布用适应,在所有种群更新完后,变异开始时首先生成范围为(0,1)的随机数k,当k小于p时进行变异,t(l)·α1对麻雀个体进行扰动,反之则不变异。让麻雀个体信息得到充分利用。改进的算法提高种群多样性,增强麻雀个体跳出局部最优值的能力搜索全局最优,T分布自由度参数用群体的迭代次数来表示。算法运行前期自由度参数n较小,T分布具有柯西变异特点,麻雀搜索算法运算的前期具有较好的全局寻优能力。在运行后期n较大,算法具有高斯变异的特点算法局部搜索较强能力。而当算法运行到迭代中间,由于T分布刚好在高斯变异和柯西变异的中间,即T分布变异同时具有了高斯变异和柯西变异优点,从而提高算法局部和全局搜索能力。
1.4 基于自适应T分布策略改进的麻雀搜索算法对权值、阈值进行优化的步骤
步骤1:初始化迭代次数、捕食者和加入者的比例、计算麻雀个体适应度值、并排序。
步骤2:更新捕食者和加入者位置和警戒者位置。
步骤3:计算种群个体适应度值并根据适应度值来更新麻雀个体位置。
步骤4:如果k<p,则根据公式(5)进行自适应T分布变异。
步骤5:计算种群个体适应度值并根据适应度值来更新麻雀个体位置。
步骤6:如果达到最大迭代次数则停止输出最优解,反之,去执行步骤1-5。
TSSA-BP神经网络模型预测模型流程图如图3所示。
图3 TSSA-BP预测模型流程图
2 实验与仿真
(1)实验数据将采集安徽理工大学光伏电站一个月的功率输出数据和同时期天气预报数据,对数据的简单归一化处理,取正常实验数据1000组进行训练。BP神经网络是由非线性激活函数组成,输出在[0,1]或[-1,1]之间,由于实验的输出不在限定的区域内,为避免原始数据训练会造成神经元过负载,需对数据进行归一化处理。仿真实验在Matlab R2016b软件进行训练与预测。实验参数设置:种群个数20,迭代次数100,发现者寻找食物和侦察者进行监视一般都占群体总量MP的10%到20%。采集了2020年7月的某连续几天安徽理工大学楼顶上的50kw光伏发电系统记录的历史数据,以及天气预测信息来实验验证,为了更清楚地论证TSSA算法改进BP神经网络模型的预测精度,设计与SSA对比实验。
(2)基于TSSA-BP,SSA-BP与BP对比实验。
在实验仿真结果可知,从仿真结果可知,在图4中可知,基于TSSA的预测实验数据相比其他两种算法预测实验数据更加接近实际值。在不考虑其记录数据的误差等因数情况下,可得出结论是改进后的算法的寻优能力有较大的提高,对BP神经网络最优阈值和权值搜索的性能有了很大的改善。在图4和图5中对BP原始的BP神经网络预测数据的绝对误差百分比相比为麻雀搜索算法和基于T分布策略优化麻雀搜索算法的BP神经网络的预测精度波动范围较大。基于TSSA相比基于SSA算法的BP神经网络的预测精度绝对误差百分比要小于。在实验数据90.2%中改进的算法预测精度要更优,从综上数据和图可知,该改进的光伏发电预测模型更加准确。
图4 基于TSSA-BP、SSA-BP与BP神经网络预测对比图
图5 基于TSSA-BP、SSA-BP与BP神经网络预测误差图
3 结 语
引入基于T分布变异略优化麻雀搜索算法(SSA)。将改进的SSA对BP神经网络初始权值和阈值寻找最佳解,可以克服BP神经网络学习是收敛时间过长和易陷入局部最优解的缺点。实验结果表明基于TSSA-BP神经网络光伏发电模型与SSA-BP与BP神经网络预测相比预测精度大幅提高,泛化能力有较大提高,可以更精准预测光伏发电量,具有广泛的工程实用价值。