基于改进猎人猎物算法的VMD-KELM短期负荷预测*
2024-01-15鲁英达
鲁英达 张 菁
(上海工程技术大学电子电气工程学院 上海 201620)
1 引言
近代社会在工业革命后对电力能源的需求不断增加,为了制订更加理想的电力能源供应计划,电力负荷预测是目前研究常用的方法。电力负荷预测按周期可以分成短期、中期、长期。短期电力负荷预测是确保电网系统平稳高效运行的重要内容之一,是电力供需平衡的基础,在提高国家电力行业的经济效益和社会稳定发展等方面扮演着十分重要的角色[1]。
目前,关于提高短期负荷预测精度的研究已经在国内外成为热点,其主要方法是传统数学统计学方法和基于机器学习的预测方法。参考各个文献分析,当前机器学习的方法包含单一模型算法与组合模型算法,单一模型例如:人工神经网络、随机森林、支持向量机和极限学习机等,由于单一模型的预测性能低下,所以考虑采用多种模型组合来提高短期负荷预测精度[2-5]。首先,考虑到电力负荷具有随机性、非平稳的特性,采用信号降噪分解对原始数据进行预处理。常见的分解方法有经验模态分解(Empirical mode decomposition,EMD)、小波变换和变分模态分解(Variational mode decomposition,VMD)等[6-8]。文献[6]和文献[7]分别使用EMD 和小波变换对实际负荷序列进行分解,分解后得到的子序列分别建模预测得到最终的结果,获得了较高的预测精度。但EMD 分解存在明显模态混叠的现象,在一定程度上会影响模型的预测性能。小波变换仅适用于平稳的时间序列,针对实际负荷序列没有适应性。VMD 是一种完全非递归自适应的分解方法,在测量噪声和避免模态混叠现象方面具有明显优势[8]。
核极限学习机(Kernel extreme learning machine,KELM)是一种新型人工智能预测模型,它是在极限学习机(Extreme learning machine,ELM)的基础上引入了核函数思想,进而有效克服了ELM因随机生成初始权值和阈值导致输出稳定性低下的问题,提高了输出稳定性,但其预测性能通常受参数选择的影响[9]。进而研究人员发现采用启发式算法优化模型参数对模型的预测能力有明显提升。人们通过研究如灰狼、蚂蚁、麻雀等生物的生活习性,提出了许多启发式优化算法,常见的启发式算法有粒子群算法[10]、灰狼算法[11]和麻雀算法[12]等。其中2022 年提出的猎人猎物算法(Hunter-prey optimizer, HPO)是较为新型的智能优化算法,对解决单峰问题和多峰问题具有足够的探索和开发能力,与其他优化算法相比,HPO 算法的性能更优越[13],但其存在易陷入局部最优解和不同求解变量初始值边界相同的缺点。
针对上述方法存在的不足,本文采用VMD 对实际负荷序列分解处理,再加入灰色关联分析,对模型的输入输出变量进行关联度分析,增加数据的关联度,在KLEM 模型的基础上使用改进的猎人猎物算法对其参数寻优。研究表明,本文所提模型相对于其他传统模型预测精度有所提高,更符合负荷短期预测的实际需要。
2 预测模型相关原理
2.1 核极限学习机
KELM 模型是在ELM 的基础上延伸建立的,ELM 模型中的随机映射被替换成了核映射,通过把低维问题转换到完整的内积空间里解决,可以极大地减少网络的复杂性,与ELM 相比具备更强的学习泛化能力和稳定性。
ELM 算法采用随机生成各个神经元连接权值和阈值,这会导致算法的波动和不稳定,所以在ELM 算法中当映射函数h(x)为未知时,引入核函数,KELM 的数学描述如下
式中,H表示隐含层输出矩阵;K(xi,xj)表示核函数,本文采用RBF 核函数,即
式中,g为核参数。可以得到KELM 的输出函数表达式为
式中,β为输出权值矩阵;T为目标输出矩阵;I为单位矩阵;C为正则化系数。
综上,KELM 的核参数g和正则化系数C是影响预测性能的重要因素。
2.2 变分模态分解
电力负荷序列是一种随机的非平稳信号,经过VMD 分解,可以获得具有不同频率特征的趋势成分和波动成分。因此本文选取此方法将历史负荷数据分解为多个不同频率相对稳定的子序列,从而有效降低负荷序列复杂度高和非线性强的非平稳性[14]。
各个功率模态分量uk的频谱通过希尔伯特转换被传送至基带,并将其与一个指标对应的估计中心频率ωk相对应,最终通过解调信号高斯平滑度来估算该带宽,从而将该约束的变分问题表达为
式中,uk代表第k个功率模态分量;ωk代表功率模态分量的中心频率;δ(t)代表单位冲击函数。同时,采用二次惩罚算子及拉格朗日乘子达到排除以上因素限制的目的,将式(4)的最小化问题转变为式(5)的无约束优化问题。
式中,α代表惩罚算子,在时间序列信号中混有噪声可保证其重构后的精度;λ代表拉格朗日乘子;⊗表示卷积算子。
随后更新功率模态分量uk,即
式中,i和n都是代表不同参数取得的任意值;ω表示信号从时间域向t频率域变换的符号;、和是傅里叶变换后的u、f(ω)、λ(ω)。
最终,以式(6)同样的方式更新与,即
式中,τ表示噪声容限的参数。
当满足特定的判别精度δ后,终止循环迭代。
式中,ε表示收敛进度。最终,将原功率序列分解为k个窄频段IMF。
2.3 猎人猎物算法及其改进
2.3.1 猎人猎物算法
猎人猎物优化算法(HPO)是2022 年提出的一种新的基于种群的优化算法。该方法的基本假定如下:当猎人们在搜寻猎物时,因为猎物经常是成群的,所以猎人很有可能会从最远的地方(远离平均群体位置)中挑选一只猎物。猎人找到想要的猎物后,就会追逐猎物。与此同时,猎物也在寻找食物,并在猎人的追逐攻击中逃脱,到达一个安全的地方,这两个过程中即伴随着猎人位置与猎物位置的更新。最后根据适应度函数,将该安全区域(即目标搜索点)作为最优猎物的区域,以此为基础,完成了整个搜寻。猎人猎物算法的数学描述如下。
猎人与猎物位置初始化
式中,xi表示猎人或者猎物;rand(1,d)是[0,1]之间的随机数;d表示寻优变量的个数;ub、lb表示成员活动区域的边界,即表示寻优变量大小的上界和下界。群体中每个成员的初始位置由式(10)在指定搜索空间中随机生成。
式(11)表示猎人猎物搜索算法的机制。猎人追逐猎物
式中,x(t)表示猎人当前时刻的位置;x(t+1)表示猎人下一时刻的位置;P是猎物的位置;μ是猎人与猎物所有位置距离的平均值;Z是算法的自适应参数;R1和R3是两个随机向量,范围在[0,1];R2是0~1 内的随机数;C是探索和求解之间的平衡参数,它的值在迭代过程中从1 减小至(1-n),M代表迭代的最大值;IDX 代表满足条件(P==0)的向量的索引值。
猎人与猎物的位置更新
式(13)为所有猎人猎物的平均距离μ的计算公式,在欧氏距离计算公式的基础上,利用式(14)计算出每个搜索代理与平均位置的距离,与位置均值距离最大的搜索代理认为是要被猎杀的猎物。
如果每次迭代都考虑与平均位置μ距离最大的搜索代理,则该方法的收敛速度会很慢。按照捕猎的情况,如果猎人捕捉到了猎物,就代表着猎物已经死去,而下一次,猎人会转移到新的猎物位置。为解决此问题,猎人猎物算法提出了一个递减机制,即
式中,N表示搜索代理的数量;round 是四舍五入函数。在算法开始时,kbest的值等于N,最后一个距离搜索个体平均位置最远的搜索个体被选择为猎物,并被猎人捕获。假定最好的安全地点就是最佳全局位置,因为它会给猎物更大的存活概率,而猎人可能会选择另一个猎物。式(16)用于更新猎物位置,即
式中,x(t)表示猎物当前位置;x(t+1)表示猎物下一时刻的位置;T表示全局搜索的最优位置;cos 函数及其输入参数允许下一个猎物位置定位在全局最优的不同半径和不同角度上。在猎人猎物算法如何选择猎人和猎物这个问题上,结合式(11)和式(16)提出式(17)和式(18)进行判断,即
式中,R5为[0,1]内的随机数,如果R5值大于0.1,则认为搜索代理为猎物,根据式(17)更新搜索代理的下一个位置。否则,搜索种群将被视为猎人,根据式(18)更新下一个位置。
2.3.2 引入初始化种群混沌策略
在搜索空间中均匀地分配初始种群,可以有效地提高算法的全局搜索能力和优化效率。标准HPO算法中种群位置是随机初始化的,可能会出现种群多样性低的风险,且可能会发生一个问题的所有变量都是相同的上下界。而混沌映射生成的混沌序列,具有非线性和不可预测性等特征。本文采用Singer映射初始化HPO 种群。作为混沌映射的典型形式,Singer 映射具有参数简单、分布均匀等优点,它的数学描述如下
式中,φ∈ (0.9,1.08)。
生成序列Ti∈ (1,0),用于初始化HPO 种群位置,即更新式(10)为
2.3.3 引入莱维飞行策略
针对猎人猎物优化算法后期易陷入局部最优的缺点引入莱维飞行策略。莱维飞行可以增强算法的全局搜索能力,提高群体搜索的多样性,使搜索算法跳出局部最优的情况变为可能,其特征是搜索范围远近交替的随机飞行[15]。其位置更新的数学描述如下
式中,l表示控制步长的权重;Levy表示服从莱维分布的路径,步长计算公式如下
式中,u和v满足正态分布,u~N(0,),v~N(0,σv2)。σu和σv定义如下
式中,η取值为1.5。
虽然莱维飞行策略可以实现位置的更新,但并不能保证新解的适应度优于原解,因此使用贪心机制来比较原解和新解的适应度,以保留适应度更好的解。
式中,X(t)表示最终解;fit(x′(t))表示由莱维飞行得到的新解;fit(x(t))为猎人猎物算法计算的解。
2.3.4 改进前后算法性能对比
选取3 个基准函数测试改进后的猎人猎物算法性能,采用单峰函数f1、多峰函数f2及固定多维函数f3分别评估算法局部搜索能力、全局搜索能力和跳出局部最优解的能力。测试时设置种群数目均为30,维度为30,最大迭代次数为300,每个函数独立运行10 次求其均值与标准差。函数表达式及改进前后性能比较结果分别如表1 及表2 所示。不同函数测试结果如图1~3 所示。
图1 f1 函数寻优过程
图2 f2 函数寻优过程
图3 f3 函数寻优过程
表1 基准测试函数
表2 算法性能比较
由表2 可以看出,在精确度与鲁棒性方面LHPO算法效果更佳。图1~3 可以更为直观地对比两者收敛过程中的具体表现。在处理单峰函数上,LHPO算法在保证收敛速度的同时具有很强的跳出局部最优解的能力;在处理多峰函数上,LHPO 算法的收敛速度虽不及HPO 算法,但其搜索结果更接近全局最优;在处理固定多维函数上,LHPO 算法获得最优解需要的迭代次数更少。
3 建立预测模型
3.1 改进猎人猎物算法优化核极限学习机
KELM 预测性能受核参数g和正则化系数C的影响。在KELM 训练学习过程中,核参数g具有调节经验风险比例和置信区间的作用,而正则化系数C用于控制训练误差所占比例的范围,假若核参数和正则化系数选择不当,则会使KELM 的泛化能力大大减弱,从而导致网络输出不稳定,因此对KELM核参数和正则化系数进行优化十分必要[16-17]。
本文采用LHPO 算法对KELM 参数进行寻优,详细优化步骤如下所示。
(1) 根据需要设置种群数量、最大迭代数和搜索范围。
(2) 根据式(20)使用混沌策略初始化种群位置。
(3) 根据式(7)和莱维飞行策略式(21)计算适应度值,并记录最佳位置。
(4) 根据式(12)更新平衡参数C和自适应参数Z。
(5) 根据R5的值更新位置,若R5>0.1,根据式(17)更新猎物位置,否则根据式(18)更新猎人位置。
(6) 根据式(24)对比算法得到的原解和莱维飞行寻找的新解,并输出最佳解。
(7) 更新个体的位置和适应度值,判断是否达到最大迭代次数,若是则输出最优解,否则返回步骤(3)。
(8) 将得到的寻优结果代入KELM。
3.2 构建VMD-LHPO-KELM 预测模型
VMD-LHPO-KELM 模型的预测流程如图4 所示。具体步骤如下所示。
图4 VMD-LHPO-KELM 负荷预测流程图
(1) 对历史负荷数据进行预处理,对异常值进行更改。
(2) 对环境因素和负荷序列进行灰色关联分析,将关联系数高的因素作为输入因素,剔除较为不相关的因素,重新构建数据集,并且确定训练集和测试集。
(3) 采用VMD 对负荷序列分解为k个子序列[IMF1, IMF2, …, IMFk]。
(4) 对每个子序列分别建立KELM 模型。
(5) 利用LHPO 算法对KELM 模型的参数进行优化,建立LHPO-KELM 模型。
(6) 将各个子序列预测结果进行叠加重构,得到最终结果。
(7) 对模型预测的结果进行评估。
4 实际案例仿真
4.1 试验评估指标
为了使预测结果更为直观,评估模型输出的预测值与实际电力负荷值准确度,本文建立如下指标。
式中,均方根误差(Root mean squared error,RMSE)数值越小越好;平均绝对百分比误差(Mean absolute percent error,MAPE)数值越小越好;平均绝对误差(Mean absolute error,MAE)数值越小越好;si表示实际值;表示预测值;n表示电力负荷数据的数量。
4.2 数据描述及数据预处理
本文仿真选取2008 年3 月1 日至6 月1 日澳大利亚某城市共93 天的历史电力负荷数据。数据采集间隔为30 min,一天可分为48 个样本点,共计4 464条数据。2008 年3 月1 日至5 月28 日的数据为训练数据,2008 年5 月29 日至6 月1 日的数据为测试数据,测试集作为最后的模型评估不会参与到训练过程中。预测出2008 年5 月31 日至6 月1 日的电力负荷情况,最后进行结果比较和误差分析。
本文采用的数据集特征向量包括实际负荷、实时电价、露点温度、湿度、湿球温度和干球温度,6个维度的数据采样间隔均为30 min,特征参数如表3 所示。
表3 特征参数
工作日与周末的电力负荷数据有较大的不同,在试验时需要区别对待,因此对于日期类型的影响则采用数字进行规范化处理,如表4 所示。
表4 日期类型表
由于负荷数据庞大的数据量包含许多冗余项,数据集的复杂程度大大影响着电力负荷预测的效果,所以本文决定对数据集进行预处理,使用灰色关联对负荷数据和环境因素以及经济因素进行相关性分析。
灰色关联分析方法(Grey relation analysis,GRA),是根据因素之间发展趋势的相似相异程度,为衡量因素间关联程度提供了量化的度量[18-19]。本文对4 464 个样本点的输入特征与实际负荷数据进行灰色关联分析。其比较序列与目标序列之间的关联系数如下
式中,P表示负荷数据与影响因素的关联系数;β为灰色分辨系数,取值范围在0~1,本文选取β=0.5。如图5 所示为实际电力负荷和环境因素经GRA 分析后生成的热力图。表5 为计算所得影响因素与负荷之间的灰色关联系数,系数越接近1 说明相关性越强。
表5 灰色关联度
由表5 可知,干球温度和电价与电力负荷的关联系数分别为0.78 和0.83,具有强相关性,紧随其后的是湿球温度,相关系数为0.73。而相对露点温度和湿度为弱相关特征,因此将干球温度、湿球温度和电价三个相关性较强的因素作为输入特征。
为了验证GRA 算法的重要性,分别使用KELM以及经过GRA 算法处理的KELM,对测试样本中2008 年5 月29 至30 日的数据进行预测。最后将上述2 种模型的结果与真实值进行比较,并进行误差分析。
如图6 所示为比较引入GRA 算法前后KELM预测结果与实际负荷值变化趋势,对于未优化的KELM 模型,核参数g=1 000,正则化系数C=100,可以发现经过GRA 处理的模型比未经过处理的模型更接近实际值。如表6 所示为GRA 算法处理的KELM 的MAPE、MAE 和RMSE 的值分别为0.297、231.65 和295.71,意味着经GRA 处理的KELM 具有更高的预测精度,表明了GRA 算法预处理的有效性。但单一模型KELM 的预测性能有限,在负荷变化较大的峰谷周围,单一模型负荷预测误差大,其预测精度并不能满足实际短期负荷预测的要求。因此,需要采用多模型组合进一步提高预测精度。
图6 灰色关系算法预处理前后KELM 与实际值对比
表6 灰色关系算法预处理前后KELM 误差分析
4.3 试验结果分析
本文采用滑动窗口[20-21]的方式来进行训练和预测,窗口长度为两天,即以前96 个时间点的数据作为“特征”,下一个时间点为“标签”。将“特征”数据代入模型中获取下一时刻负荷预测值,同时,窗口向前滑动一个时间点,将预测值加入这一窗口,生成相同序列长度的新窗口,当窗口中的数据全为预测值时,用真实数据覆盖重置窗口,重新启动该过程。
考虑到电力负荷是非平稳且波动的时间序列,对训练集里89 天的原始负荷数据采用VMD 将其分解为K个不同的模态,降低序列的复杂程度。分解个数K对分解效果影响较大,本文选取求取模态分量的中心频率ω的方法来判定K的值。当VMD 的惩罚因子α=1 000,收敛准则容忍度τ=1×10-7,试验得到K的取值与中心频率的关系,如表7 所示。
表7 不同K 值下模态的中心频率
当K值一定时,如果模态之间的中心频率增长幅度不大,则认定这两个模态相似。从表7 可以得到,当K=5 时,模态4 和模态5 的中心频率由16.680至19.880 增加了19.18%,此刻中心频率相似,故本文选取K=4 对原始数据分解,分解过后的数据如图7 所示。
图7 VMD 分解
由图7 可以看出,IMF1具有非平稳性,振幅波动较大;IMF2具备良好的周期性,但整体振幅过大;IMF4分量振幅较小,易把握其变化规律。
为充分体现改进猎人猎物算法的优越性,用LHPO 算法、HPO 算法、麻雀算法(Sparrow search algorithm,SSA)、鲸鱼算法(Whale optimization algorithm,WOA)和哈里斯鹰算法(Harris hawks optimization,HHO)分别对KELM 模型的参数进行寻优,并对测试集进行仿真。对LHPO 算法参数设置为最大迭代数30,种群规模30,其余算法参数设置与LHPO 一致。选用式(25)作为适应度函数,5种算法的适应度变化曲线如图8 所示。
图8 各算法适应度曲线
如图8所示,相较于SSA与HHO,HPO和LHPO收敛速度明显提升,LHPO 算法在5~7 代之间收敛,HPO 算法和WOA 算法在7~10 代之间收敛,HHO算法在15~17 代之间收敛,SSA 算法在20~35 代之间收敛。LHPO 算法使用了种群混沌与莱维飞行策略,使之能跳出局部最优,如图7 所示,也可以看出LHPO 算法相比HPO 算法和SSA 算法等具有更高的收敛精度。因此,可以得出LHPO 有更好的收敛精度,相比一般的算法具有较快的收敛速度。
为了验证本文所提VMD-LHPO-KELM 模型的预测准确度,对测试集中最后两天5 月31 日至6月1 日进行预测,对相同的输入数据另外建立4 种组合模型,分别为VMD-HPO-KELM、VMD-SSAKELM、VMD-WOA-KELM 和LHPO-KELM。对比LHPO 算法、HPO 算法和WOA 算法以及SSA 算法,种群规模N=50,最大迭代次数Tmax=100,维度d=2,核参数g和正则化系数C的搜索范围为[10-2,103],得到各个模型预测的效果如图9 所示。再建立传统测模型SVR、LSTM 与本文所提模型进行对比,预测的效果如图10 所示。
图9 组合模型预测结果对比
图10 单一模型预测结果对比
如图9 所示,本文所提VMD-LHPO-KELM 与LHPO-KELM、VMD-HPO-KELM、VMD-WOAKELM 和VMD-SSA-KELM,这5 个预测模型整体的预测曲线走势与实际负荷曲线几乎相同。但仔细观察后,可发现本文所提VMD-LHPO-KELM 模型预测效果更好,其预测值与实际值更加接近。当仅采用SVR 和LSTM 方法预测时,由于历史数据的复杂程度高,预测的误差整体偏大,如图10 所示,SVR 和LSTM 的预测曲线在电力负荷剧烈变化时,预测曲线很难跟上实际负荷曲线。
为了使预测结果更为直观,采用RMSE、MAPE和MAE 这3 个指标对预测模型进行评估,结果如表8 所示。从最终计算结果看,VMD-LHPO-KELM比LHPO-KELM 效果更好,MAPE 从2.610%下降至0.665%,这说明了VMD 分解削弱负荷序列的非平稳性,降低预测复杂程度具有改善KELM 模型预测能力的实用性。VMD-HPO-KELM 中的HPO 算法的寻优能力比VMD-WOA-KELM 和VMD-SSAKELM 中的WOA 与SSA 算法表现更好,各项误差指标都有明显下降。说明HPO 的寻优能力要优于WOA 和SSA,反映在预测结果上就是具有更高的精度。而改进后的LHPO 寻优能力进一步提高,VMD-LHPO-KELM 的预测精确度也进一步提升,相比VMD-HPO-KELM 模型,本文提出的VMDLHPO-KELM 在 MAPE、RMSE 和 MAE 比VMD-HPO-KELM 分别下降了0.665%、57.46 kW 和55.23 kW。如图11~13 所示,在预测性能表现上,VMD-LHPO-KELM是几个预测模型中效果最好的,证明了本文所提预测模型的有效性及可以满足短期负荷预测的需要。
图11 模型预测误差RMSE 对比
图12 模型预测误差MAE 对比
图13 模型预测误差MAPE 对比
表8 各模型预测结果对比
5 结论
本文采用种群混沌策略和莱维飞行策略对HPO 算法进行改进,并将LHPO 与VMD、KELM组合,设计出一种基于VMD-LHPO-KELM 短期负荷预测模型,同时将本文所提模型与其他预测模型进行对比,仿真试验得出以下结论。
(1) 针对历史电力负荷序列随机性、非平稳性的特征,采用VMD 方法对其进行平稳化处理,分解得到若干个子序列,分解的子序列相对稳定,与LHPO-KELM 模型相结合可以有效提高预测的准确性。
(2) 对KELM 模型因参数人为选择不恰当造成预测能力差的问题,采用LHPO 算法用于优化KELM 参数。结果表明,LHPO 可以为KELM 寻得更优参数解,有效提高模型预测能力。与HPO、WOA 和SSA 相比,LHPO 算法优化过后的KELM模型对电力负荷预测效果最好,说明本文提出的LHPO 算法寻优能力更强。
(3) 本文所提模型将历史负荷数据预处理、预测模型参数优化以及预测误差评估相结合,进行短期电力负荷预测的研究,有利于取得较好的预测效果。