吴长林, 陈 玉, 高文根,2
(1.高端装备先进感知与智能控制教育部重点实验室(安徽工程大学), 安徽 芜湖 241000;2.安徽工程大学电气工程学院, 安徽 芜湖 241000)
由于太阳能辐照、云量、温度和相对湿度等气象因子的影响,会导致光伏发电具有随机性和波动性。大量的光伏并网时,大电网的稳定性和安全性将受到威胁。因此短期的光伏发电预测是光伏并网的主要技术之一,可以用于光伏电站能量调度,提高电网的稳定性,有利于光伏电站智能发展[1-3]。文献[4-5]考虑了有湿度、温度和其他气象因素影响,建立了基于BP神经网络短期光伏发电预测模型。但是BP神经网络对初始权重敏感,容易使算法收敛于局部最优。文献[6-7]基于支持向量机(SVM)建立了光伏输出模型,考虑了影响光伏输出的因素。然而模型参数的选择对预测效果影响很大,仅使用单个模型预测不同天气类型的方法也会降低预测精度。目前,光伏发电的主要预测方法为神经网络[8]、支持向量机[9]、马尔科夫链[10]、遗传算法[11]等智能算法以及各种组合的智能算法。文献[12]提出了基于混沌分析及PSO-LS-SVM的短期光伏功率预测方法,该方法预测精度高,但是需要大量的历史光伏数据。文献[13]提出了一种基于EMD分解的AR模型的光伏发电量预测方法。该模型简单,容易在工程上应用,但其所做实验较少,无法判断其他天气情况下预测精度。文献[14]提出一种组合预测模型,用K均值聚类算法确定各输入变量的模糊子集的隶属度函数中心和宽度,并采用GA算法对网络权值参数进行全局搜索优化,预测精度高。但是对于阴雨天光伏功率变化较大的情况下预测精度较差。文献[15]提出了一种HHT和改进的经验模态分解来处理原始数据,然后运用特征选择与支持向量机结合的算法预测光伏发电,其预测精度高,但是改进的经验模态分解存在模态混叠问题。
随机森林是一种新兴集成算法并融合了特征选择,防止过度拟合,可以处理连续变量和随机变量,并且在处理高维数据可以快速高效的运行而被广泛的应用到预测中。文献[16]介绍了许多太阳辐射预测的方法,其中随机森林表现出精准的预测效果。文献[17]证明随机森林回归(Random Forest Regression,RFR)相比与其他几种智能算法在光伏发电预测中预测精度更高。但是随机森林中存在超参数:树木个数ntree和分支个数mtry。这两个参数的适合度会直接影响预测模型的精准度。
综上所述,本文用组合预测方法。先用灰色关联度系数法(GRA)选取相似的历史发电数据,再用变分模态分解(Variational Mode Decomposition,VMD)把相似日的功率数据分解成一系列相对稳定的子信号,突出数据的局部特征信息,VMD 采用非递归形式、变分模态分解处理原始数据,提高了模型的抗干扰能力和鲁棒性。相较于其他的分解模型(EMD和EEMD),VMD分解只要选取合适的收敛函数,就能把原数据分解为较少的子数据,从而降低建模的复杂性。然后用改进的粒子群算法(IPSO)优化随机森林回归(RFR)的预测模型对VMD分解的各个分量进行预测,针对粒子群收敛精度低,容易进入局部最优等缺点提出改进自适应的惯性因子和学习因子,又因为随机森林在回归预测中,模型中产生的树木个数ntree和分候选特征子集mtry对于算法的回归预测有较高的影响。在随机森林回归预测模型中,采用改进的粒子群算法对两个超参数进行优化,使得模型的预测精度更高。
本文对不同日期的温度、辐照度、风速、湿度、气压和每隔10 min的光伏功率数据进行记录,采用皮尔逊相关系数法研究各个气象因子与光伏发电之间的关系。方法如下:
记录两组数据X:{X1,X2,…Xn}和Y:{Y1,Y2,…YN},则两组数据的相似度量为
(1)
其中:E(X)与E(Y)分别为两组数据的均值。得出相关系数,见表1。选取相关度较高的辐照度、温度和湿度作为模型的输入变量。
表1 光伏发电功率与气象因子的相关系数表
本文用灰色关联系数法[18]选取历史相似日。根据关联度系数的大小,选取与待测日关联度高的历史功率数据作为预测模型的输入。选用辐照度、温度和湿度的最大和最小值为每天的气象特征。定义气象特征的向量为:
xi=[Fmax,Fmin,Wmax,Wmin,Hmax,Hmin]
(2)
式中:Fmax和Fmin分别为每天辐照度最大值和最小值;Wmax和Wmin为每天温度的最大值和最小值;Hmax和Hmin为每天湿度的最大值和最小值。用辐照度,温度,适度作为气象特征向量,并使用灰色关联度系数算法选取相似度较高的10天光伏发电功率数据作为模型的输入变量。
变分模态分解VMD是一种新颖的非平稳信号自适应分解技术,目的是将原始的复杂信号数据f分解为一系列中心角频率为wk的有限带宽模态信号{uk(t)},k=1,2,…k。VMD通过迭代搜寻变分模型的最优解,每个模态都是具中心频率的有限带宽,经过初始化有限带宽参数α和中心角频率获取K个估算的中心角频率wk,采用二次惩罚和拉格朗日乘数将约束问题转换为非约束问题,并用交替方向乘子法求解非约束问题,通过迭代更新最终得到分解信号的所有模态。可以有效降低非线性强、复杂度高的时间序列非平稳性。VMD的核心思想是构造和求解变分问题,具体算法参照文献[19-20]。如图1所示,运用VMD算法对相似的11天原始光伏功率进行分解。
图1 VMD分解原始光伏数据图
图1中第一个图形是趋势分量,反映原始光伏发电量的整体变化趋势;IMF1是细节分量,反映了原始光伏发电量序列的在不同细节上的变化趋势;IMF2~IMF5为随机分量,反映了原始光伏发电量的随机性。从图1可以看出,这六个分量均非常稳定,分量值均匀分布在零两侧,这些分量在预测时,预测误差将会非常小。
粒子群算法常用于非线性问题优化处理,在实际工程和理论中都有非常多的应用。但是标准粒子群算法也存在着后期搜索速度慢和不易找到全局最优解等缺点。标准的粒子群状态更新公式如下:
(3)
(4)
其中:d=(1,2,…D);i=(1,2,…N)。k为迭代次数,w为惯性因子;c1、c2为学习因子,是非负常数;r1、r2是0到1之间随机数;
分别为变量的群体极值最优位置、速度、位置和个体极值最优位置。
为了提升粒子群算法性能。文献[21]在探讨了多种惯性因子和学习因子取值之后,发现惯性因子呈现为凸函数时算法的收敛性高,并且,c1呈现递减和c2呈现递增可以提高算法在前期找到个体极值最优以及后期群体的极值最优。因此本文对惯性因子及学习因子的改进如下:
(5)
(6)
(7)
其中:wmax、wmin分别为惯性因子最大值、最小值,分别取值为 0.9、0.4;k为当前的迭代次数;kmax为最大的迭代次数。C1,C2,C3,C4为常数,分别取值为C1=1.4,C2=0.6,C3=2.5,C4=0.5。
随机森林回归(RFR)[21-22]作为一种集成学习算法,其基础学习机是决策树,并且各棵决策树之间没有关联,随机森林预测的最终输出由各棵决策树结果重构得到。随机森林回归模型的算法具体可分为3步:
Step1:基于原始样本集合S,用bootstrap方法进行抽样,产生K个数据集。bootstrap为有放回抽样,因此存在未被采样的样本,叫做每个数据集袋外的样本OOB。
Step2:在各个训练样本集中,通过下面过程产生不剪枝CART树:
(1) 在训练样本过程中,对数的每个节点切分的规则都是从所有属性M中随机抽取mtry个属性,并且保持mtry不变。
(2) 从mtry个属性中按照Gini指标选择最优的切分点对分叉的树枝进行切分。
(3) 通过上面步骤可以产生多棵CART树(c1,c2,…ck),各棵树成长的过程不进行剪切。
在此过程可以看出,随机森林中决策树数量ntree和属性mtry的个数都是可调节的参数,两个参数的大小将直接影响到预测的精度。当决策树的棵数太多的时候,算法模型的复杂度增大,训练的时间增大,当决策树数量太少的时候,模型的训练程度不够,分类的效果就会变差;同样,mtry设置过大,会让决策树的相似度变高从而产生过拟合,mtry设置过小会使模型的预测效果变差。
针对随机森林回归预测结果易受森林中树的数量ntree、候选特征子集mtry参数的影响,在保证预测误差最小的情况下,对森林中树的数量ntree、候选特征子集mtry参数的自适应选取,其适应度得函数为:
(8)
式中:Yi为第i个样本点的实际值,Xi为第i样本点的光伏预测值。基于IPSO-RFR的预测算法流程如下:
Step1:将数据分为训练样本和测试样本,训练样本用作RFR模型的建立,测试样本则用作验证RFR模型的效果。
Step2:IPSO算法参数的初始化:种群的规模N,最大迭代次数Tmax,学习因子c1和c2,惯性因子w,控制系数k1和k2;候选特征子集mtry、森林中树的数量ntree参数范围的初始化。
Step3:输入训练样本,把RBR算法森林中树的数量ntree和候选特征子集mtry赋值形成对应的粒子,计算出每个粒子的适应度值,根据适应度值选出个体最优位置和群体最优位置。根据适应度的函数计算出每个粒子的适应度。
Step4:按改进的算法对粒子进行更新,计算更新后粒子的适应度值,与上次的个体最优位置和群体最优位置比较,挑选出适应度最优粒子。
Step5:判断当前迭代次数不是达到了最大迭代次数Tmax或者适应度函数是否达到了预定的期望值。若符合条件,则迭代终止,反之转向Step3继续迭代寻优。
Step6:输出RFR模型的最优参数:森林中树的数量ntree、候选特征子集mtry。
Step7:把IPSO算法优化的森林中树的数量ntree、候选特征子集mtry代入到RFR模型对预测样本进行预测。
选用上海T2交通中心250 kW光伏电站8-10月的历史光伏功率数据进行了仿真预测。就2019年8月1日—10月31日共92天的全站光伏发电功率数据进行具体分析,该数据记录了每天的全站光伏发电的功率。采用皮尔逊相关系数确定模型输入气象因子数据,分别以10月29日的温度、湿度和辐照强度作为参考数据,使用灰色关联度系数法,取与预测日气候相似度较高的日期光伏发电数据。将相似度最高的11天作为样本数据,本文取采样时间周期为10 min,由于晚间的光伏发电功率均为0,所以每天取6:00—18:00的数据,共有803个采样,所得光伏功率时间序列如图2所示,把取的相似日采样点作为模型的输入。
图2 实际光伏发电量
采用VMD对原始的光伏数据序列进行分解(图1)。经反复实验,将VMD的惩罚参数、模态函数个数、初始的中心频率、收敛判据分别设定为α=1000、K=5、w=0、r=10-7。将VMD分解的各分量数据集分为训练集和测试集,作为预测模型的输入。本文所建立的整体VMD-IPSO-RFR模型流程图如图3所示。
图3 VMD-IPSO-RFR光伏功率预测流程图
为了进一步验证预测模型的精确性,分别利用VMD-IPSO-RFR,VMD-IPSO-BP和VMD-RFR预测模型对10月29日的光伏发电功率进行预测,预测结果如图4所示。
图4 不同模型的光伏功率预测结果
为了验证模型的预测效果,选择平均绝对误差(MAE)、均方根误差(RMSE)和平均绝对百分比误差(MAPE)来评价预测的结果,其表达式为:
(9)
(10)
(11)
式中:N为预测的样本数,Pi和P′分别为实际和预测值。
图5为不同模型的预测误差。根据图5所示的预测误差计算出了不同的预测模型平均绝对误差(MAE)、均方根误差(RMSE)和平均绝对百分比误差(MAPE),见表2。
图5 不同模型的预测误差图
表2 三种模型预测精度
由仿真曲线(图5)和误差分析表(表2)可看出:在预测精度上VMD-IPSO-RFR>VMD-IPSO-BP> VMD-RFR。为了更好地验证VMD-IPSO-RFR的预测高精度,选取了2019年10月26日(阴雨天)、2019年10月20日(晴天)作为待测日验证预测结果,如图6与图7所示。
图6 阴雨天预测结果
图7 晴天预测结果
图8与图9为不同模型的预测误差。预测模型平均绝对误差(MAE)、均方根误差(RMSE)和平均绝对百分比误差(MAPE),分别见表3和表4。
图8 阴雨天预测误差
图9 晴天预测误差
表3 阴雨天三种模型预测精度
表4 晴天三种模型预测精度
分析表2~表4的预测结果可知:
(1) 在光伏发电功率波动小的情况(10月20日6∶00—18∶00)下,3种模型都能够稳定地预测光伏输出功率。但是就预测的精度来说,VMD-IPSO-RFR模型预测的整体平均精度达到5.4%,相比较其他2中预测模型,精度更高。一方面说明光伏功率变化规律的情况下,更能取得较好的预测效果;另一方面也说明VMD-IPSO-RFR模型在数据变化平稳时候的拟合能力较强。
(2) 在光伏功率波动较大的情况(10月29日和10月26日6∶00—18∶00)下,预测值相较于实际值偏离较大,3种模型预测精度都有所下降。但是经VMD-IPSO-RFR模型预测的平均绝对百分比误差(9.48%和5.42%)比两外两模型的平均绝对百分比误差都小。说明VMD-IPSO-RFR模型在数据变化较大的时候的拟合能力也相对较强。
针对光伏序列的随机性与波动性,首先用VMD将光伏数据分解为一系稳定的子模态,降低了光伏功率数据的复杂度,提高了光伏预测的精度。针对粒子群以陷入局部最优的问题,提出自适应惯性因子与学习因子,完善粒子群算法。采用改进的粒子群算法优化随机森林回归中的超参数,进而提高了模型的预测精度。下一步工作将在不同场景下建立光伏发电功率预测模型,以期对模型中的参数进一步修改,并通过实际的工程应用来验证本文模型的应用性能。