基于多气象要素降维及改进型变分模态分解算法的光伏发电功率预测模型研究
2022-09-13杨凌升
杨凌升,李 伟
(南京信息工程大学 电子与信息工程学院,江苏 南京 210044)
0 引言
当可再生能源并入电网时,受太阳辐射及其他多种气象要素变化的影响,光伏发电的输出是间歇性和不可分割的,具有高度的不确定性,这可能导致功率不平衡和电力调度困难[1],[2]。因此,能够有效地预测光伏系统发电功率是非常重要的。
光伏发电输出功率数据可以看作是一个带有噪声的非线性非平稳信号序列。在发电功率预测中,噪声会对非线性变化分析产生不利影响。信号与噪声的有效分离是研究非线性变化的前提。目前常用的非线性信号去噪方法包括小波变换[3]、经验模态分解 (EMD)[4]、扩展经验模态分解(EEMD)[5]等。其 中,EMD缺 乏 严 格 的 数 学 基 础,存在模态混叠和端点效应[6],与EEMD一样可能会引入固有模态分量(IMF)中的残留噪声和杂散模式[7]。变分模态分解(VMD)是一种自适应的非递归信号分解方法,旨在克服小波变换需要预先定义,且具有非自适应性质[8]。VMD自提出以来已被广泛应用于非线性信号降噪[9]。近年来,许多学者将VMD应用于光伏发电功率的预测。文献[10]提出了基于VMD、信息论和多层感知器神经网络的预测模型。文献[11]应用VMD将光伏功率分解为不同的波动分量,并采用置信网络和自回归移动平均法对波动分量进行预测。VMD通过经验决策设置模态数和惩罚因子的参数,如果二者设置不当,将会极大地影响模型预测精度[12]。而优化后的变分模态分解(OVMD)技术则可以很好地解决这一 难 题[13]。
最小二乘法向量机 (LSSVM)是支持向量机(SVM)的一种变体,与人工神经网络相比,LSSVM不会出现过拟合或陷入局部极小值的倾向[14],近年来多应用于对非线性时间序列的预测。在LSSVM中,惩罚系数和核函数参数的选择对算法的稳定性和精度有很大的影响[15],可通过优化算法,例如麻雀搜索算法(SSA)、粒子群优化算法、bat算法、灰狼优化算法、蜻蜓算法、鲸鱼优化算法、蝗虫优化算法等对目标参数进行优化,提高预测精度。SSA的性能在各方面都远远优于其他基于生物的群体优化算法,具有很大的应用潜力[16]。SSA虽然能够快速确定模型的关键参数,但存在后期种群多样性减少等问题,这将会影响模型的预测性能,而改进后的SSA则能利用t分布很好地解决这一问题[17]。
为了提高光伏输出功率的预测精度,本文提出了一种基于OVMD-tSSA-LSSVM算法的光伏功率预测模型。以我国东南沿海某城市3a的原始光伏输出功率数据以及主成分分析(Principal Component Analysis,PCA)降维后的数据集为例,对所提出的方法进行了验证。结果表明,OVMDtSSA-LSSVM模型在预测精度和时间复杂度方面均优于其他传统模型。
1 OVMD-tSSA-LSSVM模型的搭建
1.1 改进后的麻雀搜索算法(tSSA)
SSA起源于麻雀的觅食行为和反捕食行为理论,该算法新颖、优化能力强、收敛速度快,能够快速确定模型的关键参数。本文采用基于自适应t分布的麻雀搜索算法 (tSSA),通过引入自适应t分布变异因子,使用算法的迭代次数作为自由度参数,从而增加了种群的多样性。与SSA相比,该算法的测试结果更好、精度更高,避免了算法陷入局部最优。优化后的麻雀位置为
1.2 变分模态分解的优化(OVMD)
VMD作为一种新的数据分解技术,主要将原始数据分解为多个子模态序列,并自适应地匹配每个子模态的最佳中心频率和有效解,还可以实现对IMF的提取和分离。VMD通过构造约束变分模型获得中心频率和模态带宽,解决了EMD的端点效应和模态分量混叠问题,具有更扎实的理论基础。其增广Lagrange表达式为
式中:k为模态的个数;uk为分解后第k个模态分量;wk为第k个模态的中心频率;λ为拉格朗日乘法 算 子;α为 惩 罚 因 子;∂t代 表 求 偏 导;δ(t)为 狄 拉克 函 数;j为 虚 部;*为 卷 积 符 号;f(t)为 原 始 序 列信号。
最后,通过迭代更新得到各模态函数分量uk(t)和各分量相应的中心频率wk。在这一部分中,将通过识别特征频率和互信息最大值优化VMD的模态个数和惩罚因子。假设原始信号x(t)可以通过VMD分解为一系列固有模态分量,如式(3)所 示。
式 中:Ai(t)为 每 个IMF的 振 幅;φi(t)为 其 对 应 的相位;IMFi(t)为分解后的一系列固有模态分量。
本文使用基于特征频率的方法确定模态数,首先对信号进行快速傅里叶变换(FFT),然后在整个频谱中提取特征频率,最后通过特征频率决定每个模态的带宽。特征频率的分段区域数是确定模态数的关键,能够确保一个模态中只包含一种频率分量。
VMD惩罚因子 α的设置与分解性能和重构性能有关。如果分解后的IMF包含原始数据的主要信息,则IMF与原始数据相似性更高,相似性可以通过互信息(MI)来反映。分解性能由IMF与原始数据之间的MI确定,以下是确定过程:
①设 置 α为[αstart,αend];
②利用VMD将原始数据分解为k个模态;
③通过每个IMF和原始数据获取MI;
④查找每个α下的局部最大值。
1.3 最小二乘支持向量机(LSSVM)
针对SVM中的不等式约束优化问题,本文引入了LSSVM。LSSVM将SVM中的不等式约束转化为等式约束,通过求解线性方程组实现最终目标函数。这在一定程度上降低了问题求解难度,提高了求解速度。假设有M个n维训练样本T={(xk,yk)|k=1,2,…,n},其 中:xk∈Rd,为 输 入 变量;yk∈R,为输出变量。LSSVM使用等式约束而非不等式约束,其目标函数和约束条件分别表示为
式 中:Jp(W,e)为 结 构 风 险 函 数;W为 权 值 向 量;b为常数;e为SVM中损失函数的平方;c为惩罚系数;φ(xk)为 核 函 数。
对 式(6),(7)进 行 拉 格 朗 日 变 换 得 到:
式 中:αk(k=1,2,…,M)为 拉 格 朗 日 乘 数。
通 过 求 取 式(8)中W,b,ek和 αk的 偏 导 数 并使其等于零,可以得到一组线性方程组,通过求解线性方程组,可得LSSVM的回归函数。
式 中:K(x,xk)为 核 函 数,核 函 数 的 类 型 决 定 了LSSVM算法的性能。
LSSVM算法中常用的核函数包括径向基函数(RBF)、指 数 径 向 基 函 数(ERBF)、多 项 式 核 函数和sigmoid核函数。由于RBF在LSSVM回归拟合和预测应用中表现良好,因此选择RBF作为LSSVM算法的核函数。RBF核函数为
式中:σ为核函数参数。
1.4 模型的整体搭建
LSSVM算法参数的选择是模型预测中最重要的一步。影响LSSVM学习和泛化能力的主要参数有两个:惩罚系数c和核函数参数 σ,其中:c影响模型的训练误差和泛化性能,同时,它对模型的复杂性和拟合偏差的惩罚也有很大的影响;σ能够有效地反映训练数据集的特征,并影响样本在特征空间中的分布复杂度。tSSA可将空间维度内的所有因素考虑在内,由发现者和加入者一步一步走向全局最优值,并在最优值附近迅速收敛。本模型中,tSSA主要搜索优化LSSVM中的c和σ,在得到c和σ最优值的情况下对光伏发电功率进行预测。
OVMD-tSSA-LSSVM模型预测步骤如下:
①用特征频率法确定模态分量个数,将特征频率值相近的分量确定为近似模态,确定模态个数K;
②采用OVMD方法对光伏数据(气象数据和功率数据)进行分解,得到K个模态分量{u1,u2,…,uk};
③基于tSSA优化的LSSVM算法,构建OVMDtSSA-LSSVM预测模型,输入K个模态分量,分解后得到K个预测值;
④通过对K个预测值进行叠加和重构,得到总的预测输出,并通过误差指标与其他方法的比较,分析模型的预测性能。
图1为tSSA对LSSVM光伏发电功率预测模型进行优化的流程图。
图1 tSSA优化LSSVM模型流程图Fig.1 Flow chart of LSSVM model optimized by tSSA
OVMD-tSSA-LSSVM模型整体流程图如图2所示。
图2 基于OVMD-tSSA-LSSVM的光伏发电预测模型流程图Fig.2 Flow chart of photovoltaic power generation prediction model based on OVMD-tSSA-LSSVM
2 实验与分析
2.1 数据来源及处理
本实验的数据集采自东南某沿海城市,该地气候属于湿润的亚热带气候。该城市多家企业以及家庭均安装了光伏发电系统,在实地考察了光伏系统的安装位置、安装朝向以及是否有阻碍物遮挡等因素后,本研究选取了最符合理想标准的30家单位的光伏系统进行数据采集。在这些企业及家庭提供的数据库里,光伏输出功率数据的分辨率为kW/5min。研究使用了2018年1月-2020年12月的30个屋顶光伏系统每天08:00-18:00的光伏输出功率数据,并对光伏系统数据集的连续性和完整性进行了广泛的质量评估。一些在特定时间节点不可能产生的光伏功率输出数据已经被删除,或者用临近时间节点值代替。光伏系统中的一系列气象数据来自上述单位附近的气象站,其提供的测量值分辨率为单位/1min,并在评估期间每5min取平均值,以便与光伏输出功率数据进行匹配。气象数据的采集时间与光伏输出功率时间保持一致,均为近3a。
本研究所使用的光伏系统气象数据集中一共包含8个气象要素[18],分别是光照强度、温度、气压、云量、相对湿度、风速、能见度和降雨量。
2.2 参数说明
OVMD算法主要受模态分解数K和惩罚因子α的影响。α控制数据保真度,当α值不合适时,不利于模态分量的保存;α越大,模态分量信号的带宽越窄,而模态分量信号的宽带或窄带都会影响信号序列的处理结果。不同数据集的K是不同的,本研究对采集到的光伏功率数据进行FFT变换,以确定优化K。图3显示了光伏功率数据集FFT的结果。由图3可知,频谱主要包含4种特征频率分量。因此,整个频谱分为4个部分,即优化K为4。α的搜索值一般为0.1~10。研究发现[19],表示重构效果的MI与 α呈负相关,对于分解性能来说,MI在 α=0~3内变化明显,并且MI最大值集中在 α=0.5上,这表明优化后的 α为0.5。最终,本文OVMD的K设为4,α设为0.5。
图3 光伏数据频谱图Fig.3 Spectrum of photovoltaic data
LSSVM算法的初始参数c=10,σ=100,使用RBF作为LSSVM的核函数。经过一系列试算,用于优化LSSVM的tSSA参数设置如下:初始麻雀数为20,最大迭代次数为100,发现者数量占麻雀总数的20%。通过优化tSSA获得的c=580.24,σ=1.37。
2.3 模型验证(输入数据为未降维气象变量)
为了验证模型的有效性,分别采用SVM,LSSVM,VMD-LSSVM,VMD-SSA-LSSVM和OVMD-tSSA-LSSVM模型对光伏发电输出功率的预测结果进行比较。输入数据为数据集中的所有(未降维)气象变量。图4~7显示了5个不同模型在测试集中随机抽取4d的光伏输出功率预测曲线以及误差图。
图4 2月15日5种模型的光伏发电预测结果与误差图Fig.4 Photovoltaic power generation prediction results and error diagram of five models on February15
图5 6月5日5种模型的光伏发电预测结果与误差图Fig.5 Photovoltaic power generation prediction results and error diagram of five models on June5
图6 8月3日5种模型的光伏发电预测结果与误差图Fig.6 Photovoltaic power generation prediction results and error diagram of five models on August3
图7 10月17日5种模型的光伏发电预测结果与误差图Fig.7 Photovoltaic power generation prediction results and error diagram of five models on October17
表1根据4d的预测结果列出了5种模型的决 定 系 数(R-Square)、平 均 绝 对 误 差(MAE)、均 方根误差(RMSE)和平均绝对百分比误差(MAPE)的平均值。
表1 5种模型4d预测偏差平均值Table1Averagevalueof4d prediction deviation of five models
通过比较5个模型的预测曲线和预测误差,SVM模型相比于LSSVM类模型的预测效果是最差的,这是因为在处理大规模数据时,SVM算法需要通过二次计算求解支持向量,这会涉及到大量高阶矩阵的运算,从而消耗过多的内存与时间,而且常用的SVM理论的惩罚系数c都是固定的,正负样本的两种错误所产生的损失却不一样。LSSVM模型将高阶运算转化为其对偶问题,同时引入拉格朗日乘子进行求解运算,拟合速度快,泛化能力强;对于实际功率波动较大和功率突变的天气 (图5,6),经过与变分模态分解结合后的VMD-LSSVM模型比LSSVM模型的预测功率曲线更接近于实际功率曲线。这是由于VMD分解可以避免子模态频率的混叠,VMD-LSSVM模型的预测精度(R-Square)相比于LSSVM模型提高了15.46%;SSA能够快速确定LSSVM的两个关键参数:核函数参数σ和惩罚系数c,所以VMDSSA-LSSVM模型在4个图中的拟合曲线明显更贴近实际值曲线。而基于优化过的VMD和SSA算法的OVMD-tSSA-LSSVM模型的预测效果则比其他4个模型更进一步,在实际功率值突变时,OVMD-tSSA-LSSVM模型能够更准确的进行预测,其预测精度误差MAPE和RMSE分别比VMD-SSA-LSSVM模型降低了0.3622%和0.0492,收敛速度也更快。
2.4 气象要素降维后的模型性能评估
2.4.1气象要素主成分提取
上述实验使用的光伏数据集中包含8个可能对光伏功率产生影响的气象要素,但是气象要素并不是越多越好,气象要素过多不仅会增加模型的复杂度,也会对预测的准确性造成干扰,甚至会增大预测模型的偶然性。因此,对数据集里所涉及的气象要素进行主成分分析(PCA)是十分必要的。图8为PCA方法求解气象变量主分量的流程图。
图8 气象变量主分量计算流程图Fig.8 Calculation flow chart of principal components of meteorological variables
数据集中所有的气象变量用PCA处理得出主成分后,可以发现,第一和第二主成分所占方差比分别高达81.24%,11.47%,两者相加达到92.71%,因此,本文画出主成分1和主成分2的双标图,如图9所示。
图9 主成分1和主成分2的气象变量双标图Fig.9 Double plot of meteorological variables of principal component1and principal component2
从图9中可以看出,光照强度和温度对主成分1的贡献很大,云量、气压对主成分2的贡献较大,相对湿度对PC1和PC2均有贡献。此外,温度和光照强度、云量和相对湿度成正相关,而风速和相对湿度成高度负相关。
为了进一步确定各独立气象变量对光伏输出功率的影响程度(重要度),本文采用Python的单变量线性回归测试(f_regression)函数,各输入气象变量重要度如图10所示。
从图10可以看出,光照强度、温度、相对湿度和云量属于最重要的变量,它们总占比达到了90%左右。因此,可以尝试用这4个气象变量作为数据集的主特征成分,从而达到输入降维、降低数据复杂度以及减少干扰的目的。
2.4.2模型验证(输入数据为降维气象变量)
本研究使用的数据集共有8个气象变量,经过PCA和f_regression函数综合分析后,采用光照强度、温度、相对湿度和云量作为气象数据的主特征变量。采用全气象变量输入时预测效果最好的OVMD-tSSA-LSSVM模型进行降维数据的预测。从降维后的数据集中随机抽取1d(4月20日)的光伏数据进行评估,预测结果和误差值分别如图11和表2所示。
图11 数据降维前后预测结果Fig.11 Results before and after data dimensionality reduction
从图11和表2中可以看出,当输入气象变量从8个减少到4个时,OVMD-tSSA-LSSVM模型的预测性能反而有了进一步的提升,R-Square提高了0.0055。这表明降维后预测曲线的拟合效果更好,在光伏输出功率值突变时,预测结果误差更小。这可以从图9和图10中得到解释。由图10可知,每个气象变量的重要度是有限的,有些变量的重要度占比很小(比如气压、风速),因此,考虑这些特征变量会影响预测并增加预测结果的不确定性。从图9中可以看出,有些气象变量之间存在高度的相关性,比如数据降维后被排除的风速变量和主变量相对湿度与云量之间就存在高度负相关性。通过排除相关变量,就不会因变量的多重共线性对模型预测结果造成影响。
表2 数据集降维前后误差Table2Error before and after dimension reduction of data set
3 结论
本文采用优化的OVMD技术对原始数据序列进行分解,并采用LSSVM模型对分解后的序列进行训练,在训练过程中引入基于自适应t优化的SSA确定模型的最优参数。通过仿真实验可以得出以下结论。
①LSSVM算法具有很强的时间序列建模能力。因此,对于稳定的时间序列,LSSVM预测模型比SVM模型具有更高的预测精度和相对较小的总体波动。
②由于光伏功率数据集具有一定的随机性,采用OVMD技术将原始光伏数据的时间序列分解为多个子模态,可以降低时间序列的复杂度,获得相对稳定的时间序列。
③OVMD技术将光伏功率数据的复杂波动分量分解为单个分量,避免了子模态中的频率混叠,可以获得更好的预测结果。
④引入优化后的tSSA,可以更加准确快速的确定LSSVM算法的关键参数c和σ,避免陷入局部最优,使得模型的预测值更精确、拟合效果更好。
⑤通过分析比较不同模型的曲线以及误差值,本文提出的OVMD-tSSA-LSSVM模型在预测光伏发电输出功率方面具有很好的效果,特别是在光伏发电输出功率实际值发生剧烈变化时,预测值也能较好地贴近真实值曲线,误差波动更小。
⑥光伏多气象要素数据集经过降维处理后(气象变量从8个减少到4个),OVMD-tSSALSSVM模型的预测效果得到进一步提升。