岳有军, 刘金林, 赵 辉, 王红君
(天津理工大学 电气工程与自动化学院 天津市复杂系统控制理论及应用重点实验室, 天津 300384)
光伏发电作为重要的清洁可再生能源,近年来得到迅速发展,世界范围内制定了许多法规和激励措施来提高光伏发电量[1].由于光伏发电受到天气因素的影响,其输出功率具有随机性、波动性和间歇性的特点,大规模并网会对电网的稳定性造成很大的冲击[2,3].因此,准确而有效的光伏发电功率预测信息能够为电网安全稳定的调度提供保障[4].
光伏发电功率预测方法可分为物理法和统计法两类[5,7].物理法根据光伏电站的地理位置,综合分析光伏电池板、逆变器等多种设备的特性,得到光伏发电输出功率与数值天气预报的物理关系,对光伏发电输出功率进行预测.物理法虽然不需要历史数据的支持,但其对光伏电站地理信息以及气象数据可靠性要求较高,且易受外界条件的影响,抗干扰能力差,因此应用较少[8].统计法主要包括时间序列法[9]、支持向量机[10]、人工神经网络[11]、组合预测法[12]等.针对光伏数据随机性、波动性较强的特点,为提高预测的准确性,许多学者会对原始数据进行特征提取.文献[13]通过一个一维CNN网络对多个关键气象变量进行特性转换,然后构造双向LSTM进行预测.文献[14]使用两个并行的CNN网络进行特征提取,然后将提取的特征融合后送入LSTM中进行光伏功率预测,实验结果表明进行特征提取可以有效提高预测精度.
支持向量机(Support Vector Machines,SVM)是一种基于监督学习的用于数据二元分类的广义线性分类器,可以有效地解决传统神经网络结果容易陷入局部极小值以及过拟合等问题.最小二乘支持向量机是在SVM基础上的改进,降低了求解难度,提高了运行速度.文献[15]使用改进蝙蝠算法优化LSSVM,有效的提高了预测精度,但没有考虑输入特征对预测效果的影响.文献[16]采用集合经验模态分解(Ensemble Empirical Mode Decomposition,EEMD)将历史功率序列分解,然后将不同频率的分量放入LSSVM进行预测,采用集合经验模态分解可以有效降低光伏功率序列的非平稳性,但没有对LSSVM的参数进行寻优,会影响预测的精度.文献[17]采用互补式集合模态分解将负荷序列分解,然后采用SSA算法对LSSVM模型参数进行寻优,实验结果表明可以有效提高负荷预测的精度,但SSA算法迭代后期容易陷入局部最优,影响寻优的效果.
综合上述分析,本文提出一种基于CNN-LSTM-ISSA-LSSVM短期功率预测的组合模型.首先,为更好的提取数据中的隐藏特征和长期依赖性特征,结合了CNN和LSTM的优点构成CNN-LSTM特征提取模型;然后将提取出的特征向量输入到LSSVM模型中进行预测;对SSA算法的不足进行了改进,并采用ISSA算法对LSSVM的参数进行寻优;最后通过与CNN、LSTM、CNN-LSTM、SSA-LSSVM、CNN-LSTM-LSSVM、CNN-LSTM-SSA-LSSVM模型的预测结果进行对比,验证了CNN-LSTM-ISSA-LSSVM模型的有效性和优越性.
CNN主要由输入层、卷积层、池化层、全连接层和输出层组成,被广泛应用于图像处理、视频处理等领域.其中输入层主要对输入的数据进行预处理,包括去均值、归一化等.卷积层是CNN中最重要的一层,包括局部感知、参数共享机制、窗口滑动、卷积计算等.池化层主要对数据进行压缩,可以降低维度,在一定程度上防止过拟合的发生.全连接层对前面的输出进行重新组合.由于CNN使用局部感知和参数共享机制,所以它对较大的数据集处理能力较高,对高维的数据处理也没有压力.其结构如图1所示.
图1 CNN结构
LSTM在RNN的基础上加入了门控结构,解决了RNN容易出现梯度消失和梯度爆炸的缺点,可以适用于长期依赖性问题,并广泛应用于股票预测、功率预测等场景.LSTM单个细胞结构如图2所示,主要由遗忘门ft、输入门it和输出门ot组成[18].遗忘门决定上一时刻单元状态的遗忘程度,输入门决定让多少新信息加入到细胞状态中,输出门将基于细胞状态确定输出值.LSTM的主要计算公式如下所示:
ft=σ(Wf·[ht-1,xf]+bf)
(1)
it=σ(Wi·[ht-1,xt]+bi)
(2)
(3)
(4)
ot=σ(Wo·[ht-1,xt]+bo)
(5)
ht=ot·tanh(ct)
(6)
式(1)~(6)中:Wf、Wt、Wo分别为ft、it、ot的权重矩阵;bf、bi、bo分别为ft、it、ot的偏置;σ为sigmoid激活函数.
图2 LSTM细胞结构
CNN虽在数据特征提取方面具有明显的优势,但在处理具有长期依赖性数据时具有不足,而LSTM擅长处理长期依赖性数据,因此本文将结合CNN与LSTM的优点构成CNN-LSTM特征提取模型,然后将提取出来的特征向量输入到LSSVM模型中进行训练与预测,不仅能提升训练速度,而且能提高预测精度.CNN-LSTM特征提取模型如图3所示.输入数据首先经过两个CNN层提取隐藏特征,其次经过展平层对数据进行展平化处理,然后经过两层LSTM层提取数据中的长期依赖性特征,最后经过全连接层输出预测结果.将LSTM第二层输出的向量作为CNN-LSTM模型提取出的具有隐藏特征和长期依赖性特征的特征向量.
图3 CNN-LSTM特征提取模型
LSSVM采用最小二乘线性系统作为损失函数,用等式约束代替了SVM的不等式约束,将原问题转变为解线性方程组问题,降低了求解难度,提高了运行速度[19].LSSVM的优化问题可以转变为:
(7)
式(7)中:ω为权向量;C为惩罚因子;ξi为松弛变量;b为偏置.
引入拉格朗日函数将上述优化问题转化为对参数α求极值问题:
(8)
对式(8)中的ω,b,ξ,a求偏导,并令四个偏导数等于0,消除ω和ξi,可以得到:
(9)
式(9)中:E=[1,1,…,1]T;Ω为核映射矩阵,Ωij=φ(xi)Tφ(xj);I为单位矩阵;y=[y1,y2,…,yn]T.
最终得到LSSVM分类函数为:
(10)
LSSVM的回归性能受到核函数类型及其参数的影响,本文选择径向基核函数(radial basis function,RBF),其表达式为:
(11)
式(11)中:σ为RBF核函数参数.从LSSVM建模过程可知,惩罚因子C和核函数参数σ对预测结果有较大的影响,因此本文选择用ISSA搜索算法对两个参数进行优化.
2.2.1 麻雀搜索算法
SSA是一种新提出的群体智能算法,相较于传统的粒子群等优化算法,该算法的收敛速度更快,寻优精度更高.SSA算法受到麻雀捕食与反捕食过程的启发,将麻雀个体分为发现者、加入者和警戒者.
设麻雀初始种群位置为Xij=(xi1,xi2,…,xiD),其中D表示D维搜索空间,Xij表示第i只麻雀在第j维的位置.
SSA算法将容易找到食物的个体称为发现者,其本身具有较高的适应度值,主要负责确定觅食方向.发现者的位置关系可以表示为:
(12)
式(12)中:t为当前迭代次数;Tmax为最大迭代次数;α∈[0,1]为一个随机数;Q为一个服从高斯分布的随机数;L为元素均为1的1×d的矩阵;R2和ST分别为麻雀种群的预警值和安全值;当R2 SSA算法中加入者主要跟随发现者进行觅食,从而不断提高自身的适应度.当加入者监视发现者找到食物时,他们会离开当前位置去争夺食物.加入者的位置更新可以表示为: (13) 麻雀种群中存在一定比例的警戒者,当意识到危险时将做出反捕行为.警戒者的位置更新可以表示为: (14) 式(14)中:Xbest为麻雀种群最佳位置,β为服从正态分布的随机数,用于步长控制;K∈[-1,1]的一个随机数;ε为避免分母为0的最小常数;fi为当前麻雀适应度值;fb和fw分别为当前最佳和最差的适应度值.当fi>fb时,表示麻雀个体处于种群的边缘位置,极易受到捕食者的捕食;当fi=fb时,表示麻雀中的个体感知到了危险的存在,需要靠近其他麻雀来提高自身的安全性. 2.2.2 麻雀搜索算法的改进 (1)Circle混沌初始化策略 基础麻雀算法采用随机生成的方式对种群进行初始化,这种方式会导致种群分布不均匀,影响后期的迭代寻优.而Circle映射具有随机性和遍历性的特点,可以用于提高种群的多样性.Circle映射表达式如下: (15) 式(15)中:i为维度. (2)樽海鞘群优化策略 基础麻雀算法中,由发现者位置更新公式可知,当R2≤ST时,个体以向零点靠近的方式收敛于最优解,在每次迭代后个体的位置都在变小,而在零点附近有较强的局部搜索能力.这样就导致麻雀算法在前期搜索能力不足,全局搜索能力下降.为解决上述问题,可以借鉴樽海鞘群算法的领导者位置更新策略.樽海鞘群算法的领导者位置更新策略如下: (16) 将樽海鞘群算法中的领导者位置更新策略引入到麻雀算法的发现者位置更新策略中,可以提高麻雀算法迭代前期的搜索范围和全局搜索能力,同时也可以提高迭代后期的收敛速度和局部开发的能力.改进后的发现者位置更新策略可以表示为: (17) (3)柯西-高斯变异策略 在基础麻雀算法的迭代后期,麻雀种群的多样性降低,容易出现局部最优的情况.为解决上述问题,引入柯西-高斯变异策略,选择当前适应度最好的个体进行变异,然后比较变异前后的位置,选择较优的位置代入下一次迭代.柯西-高斯变异策略可以表示为: (18) (19) LSSVM中的惩罚因子C和核函数参数σ对模型的预测结果有决定性的作用,因此用ISSA算法对其参数进行寻优.流程图如图4所示,具体步骤如下: 图4 ISSA-LSSVM流程 (1)初始化参数.包括种群数量、最大迭代次数、发现者和警戒者比例等; (2)利用Circle混沌映射初始化种群; (3)计算麻雀种群的初始适应度值并排序,并根据适应度值选取出最优个体和其对应的位置以及最差个体和其对应的位置; (4)按照发现者比例选取适应度值高的个体作为发现者,根据式(17)更新位置; (5)剩余个体作为加入者,根据式(13)更新位置; (6)按照警戒者比例随机选择警戒者,根据式(14)更新位置; (7)计算更新后麻雀种群的适应度值,并选取最优个体对其进行柯西-高斯变异; (8)判断变异个体是否优于原个体,若是则用变异个体替代原个体,否则保持原个体不变; (9)判断是否达到最大迭代次数,若是则输出最优参数,否则返回(3); (10)将最优参数输入到LSSVM. 综合上述分析,本文提出了一种基于CNN-LSTM-ISSA-LSSVM的光伏功率短期预测方法,其模型如图5所示.本文模型的预测步骤如下: (1)数据预处理.对收集到的原始数据进行异常值检测与修正,同时划分训练集与测试集. (2)对功率历史数据与天气因素进行Pearson相关性分析,确定天气输入特征. (3)将训练集输入到CNN-LSTM网络进行训练并提取特征向量. (4)将提取出的特征向量输入到经过ISSA优化的LSSVM模型中进行训练. (5)将测试集输入到训练好的模型中进行预测,得到最终预测结果. (6)采用平均绝对误差(Mean Absolute Error,MAE)和均方根误差(Root Mean Square Error,RMSE)来评价预测模型的准确性. 图5 CNN-LSTM-ISSA-LSSVM预测流程 采用澳大利亚爱丽丝泉光伏研究中心2017年6、7、8月份的光伏历史发电功率和气象数据.数据采样间隔为15 min,每天采样96组数据.分为两组进行训练与预测,第一组采用6月1日~8月29日的光伏发电功率和气象数据作为训练集,对8月30日的光伏发电功率进行预测;第二组采用8月1日~8月25日的光伏发电功率和气象数据作为训练集,对8月26日~8月30日的光伏发电功率进行预测. 本文采用Pearson相关系数来衡量各影响因素与光伏发电输出功率之间的相关性大小.其表达式为: (20) 表1 光伏发电功率与气象因素相关性系数 由表1可知,光伏发电功率与辐照度呈极强相关性,与温度、相对湿度呈中等相关性,与风速呈弱相关性,与风向呈极弱相关性.因此选择辐照度、温度、相对湿度、风速4种天气因素作为天气输入特征. 归一化可以将有量纲的数值转化为无量纲的数值,通常将数据转换到[0,1]区间内,可以加快模型训练速度.其表达式为: (21) 式(21)中:xnorm为归一化后的数据;x为原始数据;xmax和xmin分别为数据中的最大值和最小值. 为了更好的评价模型的预测精度,本文选取了平均绝对误差(MAE)和均方根误差(RMSE)作为预测模型的评价指标.它们的计算公式为: (22) (23) 在MATLAB平台上进行仿真实验,由于光伏出力具有间歇性,因此选取6:30-18:30的预测结果进行展示.为验证本文提出的基于CNN-LSTM-ISSA-LSSVM光伏功率预测模型的优越性以及使用CNN-LSTM进行特征向量提取的必要性和ISSA优化LSSVM的有用性,从而说明本文所提出的光伏功率预测模型的准确性有显著的提升,分别采用SSA-LSSVM、CNN-LSTM-LSSVM、CNN-LSTM-SSA-LSSVM和CNN-LSTM-ISSA-LSSVM模型进行预测,同时与单一的CNN和LSTM模型以及CNN-LSTM组合模型的预测结果进行比较. 经过多次实验,CNN-LSTM模型参数设置如下:第一个CNN层的卷积核大小为3×1,数量为8,第二个CNN层的卷积核大小为2×1,数量为16;LSTM第一层隐含层节点数为50,第二层隐含层节点数为10.SSA和ISSA中最大迭代次数Tmax=50,种群数量N=30.第一组中CNN、LSTM、CNN-LSTM的迭代损失曲线对比如图6所示,损失值即为模型的预测值与真实值之间的差值,损失值越低,模型性能越好.CNN-LSTM-SSA-LSSVM中的SSA迭代收敛曲线和CNN-LSTM-ISSA-LSSVM中的ISSA的迭代收敛曲线对比如图7所示,以训练集预测值与真实值误差的绝对值之和作为适应度函数值,适应度值越低,说明预测模型精度越高.第一组7种模型的预测结果如图8所示.第二组7种模型的预测结果对比如图9所示. 由图6三种模型的迭代损失曲线对比图可知,CNN-LSTM模型的损失值最低,其损失值为0.001 1,说明CNN-LSTM模型的效果最好. 图6 迭代损失曲线 由图7两种算法的迭代收敛曲线可知,SSA算法迭代到第7次达到最优解,而改进后的ISSA算法迭代到第2次就达到最优解,并且ISSA算法的最优适应度值低于SSA算法,说明对SSA算法的改进具有很好的效果. 图7 迭代收敛曲线 由图8可知,CNN-LSTM相较于单一的CNN、LSTM模型预测精度有所提升,说明组合模型相较于单一的模型具有优势.进行特征提取的CNN-LSTM-SSA-LSSVM模型预测效果比不进行特征提取的SSA-LSTM模型预测效果有所提升,而且在模型训练时,CNN-LSTM-SSA-LSSVM模型的训练速度要明显快于SSA-LSTM模型,说明进行特征提取不仅能提高预测的精度,而且能加快模型的训练速度.利用SSA算法进行优化的CNN-LSTM-SSA-LSSVM模型以及利用ISSA算法进行优化的CNN-LSTM-ISSA-LSSVM模型的预测精度要高于CNN-LSTM-LSSVM模型,说明进行参数寻优可以有效提高模型的性能. 图8 第一组不同模型预测结果对比 由图9可知,减少训练集的数量,增加测试集的数量后,虽然各模型也能较好的预测出光伏功率输出,但是相较于第一组各模型的预测精度均有所下降. 图9 第二组不同模型预测结果对比 为进一步验证本文所提模型的优越性,将本文模型与其他模型的评价指标和建模时间进行对比,如表2所示. 表2 不同模型评价指标与建模时间对比 由表2可知,第一组和第二组中本文模型的MAE和RMSE均低于其他模型,说明本文模型具有较高的预测精度.但相比之下,第二组各模型的MAE、RMSE均高于第一组模型,建模时间有所减少,说明减少训练集的数量,增加测试集的数量后,虽然可以减少建模的时间,但是预测精度也会有所下降.第一组和第二组中组合模型的MAE和RMSE均低于单一模型,说明组合模型可以有效提升预测精度.CNN-LSTM-SSA-LSSVM模型相较于SSA-LSSVM模型在第一组中和第二组中MAE分别下降了32.55%、32.30%,RMSE分别下降了33.36%、37.66%,建模时间分别下降了905.45 s、74.94 s.说明进行特征提取不仅可以获得更好的预测性能而且可以减少建模的时间.CNN-LSTM-SSA-LSSVM模型相较于CNN-LSTM-LSSVM模型在第一组中和第二组中MAE分别下降了16.29%、20.41%,RMSE分别下降了8.22%、27.62%,说明经过特征提取后,利用SSA优化的LSSVM模型预测精度更高.而CNN-LSTM-ISSA-LSSVM模型相较于CNN-LSTM-SSA-LSSVM模型在第一组中和第二组中MAE分别下降了6.48%、9.64%,RMSE分别下降了5.16%、8.86%,建模时间分别下降了1 380.09 s、69 358 s,说明ISSA相较于SSA具有更强的寻优能力以及更快的寻优速度,能够更有效的提高LSSVM的预测性能,也说明本文提出模型具有更高的预测精度. 为提高光伏功率预测的精度,本文提出一种基于CNN-LSTM-ISSA-LSSVM的短期光伏功率预测模型,得到以下结论: (1)针对传统光伏功率预测因特征提取不足导致预测精度不高的问题,提出了一种CNN-LSTM特征提取方法,该方法结合了CNN和LSTM的优点,可以有效的提取数据中的隐藏特征和长期依赖性特征. (2)针对LSSVM模型因参数选择不当而导致预测精度不高的问题,对SSA算法进行了改进,并利用ISSA对LSSVM模型参数进行寻优.结果表明,ISSA算法相较于SSA算法具有更强的寻优能力,能为LSSVM模型寻得更优的参数,且能有效的提高模型的预测性能. (3)实验结果表明,CNN-LSTM-ISSA-LSSVM模型能有效的预测光伏发电短期功率,且模型预测精度以及评价指标均优于其他对比模型.2.3 改进麻雀搜索算法优化最小二乘支持向量机
4.1 相关性分析
4.2 数据预处理
4.3 误差评价指标
4.4 仿真实验
扩展阅读文章
推荐阅读文章
老骥秘书网 https://www.round-online.com
Copyright © 2002-2018 . 老骥秘书网 版权所有