CEEMDAN组合DISPSO-LSTM的短期电力负荷预测*
2021-10-15肖秦琨
张 雪,肖秦琨
(西安工业大学 电子信息工程学院,西安 710021)
短期电力负荷预测是通过研究历史数据间的内在规律进行建模以预测下一天用电量的过程,其精确预测为电网安全运行和电能供需平衡提供了重要保障。电力负荷序列在多种因素的影响下,具有较强的非线性非平稳性和时序性,加大预测难度。因此,研究出较高精度的负荷预测算法是至关重要的[1-3]。
目前,国内外针对短期电力负荷预测的研究方法,主要分为三种方法:传统方法、机器学习方法和混合方法。传统方法包括线性回归分析[4]和时间序列法[5]等,该类方法建模简单,但其非线性映射能力差,不适合预测随机性较强的负荷序列。机器学习方法主要以支持向量机和RNN为代表[6-7],具有较强的非线性学习能力,但在利用海量数据进行训练预测时,该类算法忽略了样本数据的时序性特征。文献[8-9]发现长短期记忆(Long Short Term Memory,LSTM)网络相较于RNN网络,可有效处理电力负荷序列的非线性和时序性,但存在LSTM网络参数由经验值确定影响预测性能的现象。上述单一预测模型无法满足负荷精度要求,因此,将各算法进行组合的混合方法广泛应用于负荷预测领域。文献[10-11]将粒子群算法结合神经网络进行负荷预测,实验证明该混合方法有效改善传统单一模型的预测性能,解决了神经网络参数随机化问题。表明粒子群算法具有较好的优化性能,但容易陷入局部最优问题。文献[12-13]通过对粒子群算法的控制参数进行改进,以实现对LSTM网络参数的优化,构建了改进的粒子群算法和LSTM网络的混合预测模型。与其他算法相比,该混合模型可精准预测短期电力负荷序列,但改进算法增加了算法本身的复杂度,延长了收敛时间,因此,在求解LSTM网络参数最优值的前提下,对粒子群算法的改进有待进一步研究。为进一步提高预测精度,文献[14-15]提出了以经验模式分解(Empirical Mode Decomposition,EMD)和集成经验模式分解(Ensemble Empirical Mode Decomposition,EEMD)为代表的信号分解算法,将随机性较强的负荷序列分解为有限个平稳子序列。通过改善LSTM网络输入变量的质量,从而提高了LSTM网络的预测效果。但在该混合算法中,EMD和EEMD分别存在模态混叠和噪声干扰问题,表明LSTM网络难以处理非平稳性负荷序列的问题仍未得到合理解决。
基于以上分析,本文构建了CEEMDAN-DISPSO-LSTM短期电力负荷混合预测模型,分析了负荷数据结构具有非线性、非平稳性和时序性特征,采用自适应噪声的完全集成经验模式分解(Complete Ensemble Empirical Mode Decomposition with Adaptive Noise,CEEMDAN)算法对负荷序列进行平稳化处理,研究了改进的动态个体-群体粒子群算法(Dynamic Individual-Social Particle Swarm Optimization Algorithm,DISPSO),通过实验仿真验证模型和算法的有效性。
1 CEEMDAN-DISPSO-LSTM模型的构建
文中构建的CEEMDAN-DISPSO-LSTM模型是对非线性非平稳性的短期电力负荷进行预测。对LSTM网络的优化可抽象成对网络多个参数的优化问题,为避免粒子群算法在求解优化过程中粒子容易陷入局部最优,将动态个体-群体学习参数引入粒子群算法中,提出了动态个体-群体粒子群算法(DISPSO),以搜寻LSTM网络参数的最优解,提高参数寻优的准确度。对输入到LSTM网络的非线性非平稳性电力负荷序列,采用CEEMDAN算法将其分解为平稳的负荷序列,改善输入变量的质量,以实现LSTM高精度的负荷预测。
1.1 CEEMDAN分解算法
CEEMDAN是一种带有自适应噪声技术的完整集成经验模式的分解算法,对非线性非平稳性序列具有较强的处理能力[16]。不同于EEMD添加噪声的方式,CEEMDAN是在分解过程中专门向每个本征模态函数(Intrinsic Mode Functions,IMF)添加特定的的噪声,而不是添加在提取每个IMF之后使用唯一剩余分量获得的白高斯噪声,更好的解决了EEMD的残留噪声和EMD存在的模态混叠问题。
LSTM网络的输入变量为非线性非平稳性的电力负荷序列,采用CEEMDAN将其分解为平稳的负荷序列,提高输入变量的质量,降低负荷预测难度。CEEMDAN算法的计算步骤如下:
① 构建新的电力负荷序列xi(t):
xi(t)=x(t)+β0wi(t)
(1)
式中:wi(t)为高斯白噪声;β0为高斯白噪声的标准偏差;x(t)为原始电力负荷序列。
②xi(t)经EMD分解求得2个电力负荷新序列IMF1(t)和ri(t)分别为第1个模态分量和剩余分量:
(2)
r1(t)=x(t)-IMF1(t)
(3)
式中:I为实验次数
③ 以r1(t)为原序列,利用EMD算法对新构建的r1(t)+β1M1(wi(t))序列分解,得到第2个模态分量IMF2(t)和剩余分量r2(t):
(4)
r1(t)=x(t)-IMF2(t)
(5)
其中M1(·)为EMD分解的第1个模态分量的算子。
④ 重复步骤③,得到第k+1个模态分量IMFk+1(t)和第k个剩余分量rk(t):
(6)
rk(t)=rk-1(t)-IMFk(t)
(7)
⑤ 当满足EMD的终止条件时,则分解结束;否则,继续分解。原电力负荷序列x(t)最终分解为:
(8)
1.2 粒子群算法的改进
粒子群算法[17]是一种迭代算法,用于搜寻LSTM网络最优参数值的优化算法。通过在搜索范围内不停更新速度vi(·)和位置xi(·)来寻找最优解,更新公式如下:
vi(t+1)=w·vi(t)+r1c1(t)(pi(t)-xi(t))+r2c2(t)(pg(t)-xi(t))
(9)
xi(t+1)=vi(t+1)+xi(t)
(10)
式中:t为迭代次数;c1和c2为学习参数;w为惯性权重,r1和r2取[0,1]的随机数;vi(t)和xi(t)分别为迭代t次第i个粒子的速度和位置变量;pi(t)为第i个粒子的个体最优值;pg(t)为粒子群的全局最优值。
针对在搜寻LSTM网络参数最优值的过程中,粒子群算法容易出现过早收敛和陷入局部最优值的问题,本文提出了一种全新的粒子群改进算法,即动态个体-群体粒子群算法(DISPSO)。通过向粒子群算法中引入最优动态个体和群体学习参数c1(t)和c2(t),不考虑惯性权重,进行全局最小值搜索,实现粒子在整个搜索空间中局部搜索和全局搜索的平衡。在每次迭代中系统地控制每个粒子的速度,以避免局部最优问题。从而加速LSTM网络参数最优值的求解速度,提高LSTM的电力负荷预测精度。
① 动态个体-群体学习参数
不同于粒子群算法中固定值的学习参数c1(t)和c2(t),本文提出了动态个体-群体学习参数,采用跳跃策略,引进新的个体-群体学习参数c1(t)和c2(t),向c1(t)引入对数函数,如数学算式(11)~式(12)定义:
c1(t)=a(t)α(xmax-xmin)·log(‖pi(t)-xi(t)‖+ε)
(11)
c2(t)=(κπ)α(xmax-xmin)
(12)
式中:ε为非常小的正值;a(t)为动态个体参数;[xmin,xmax]为粒子受限范围;k为收缩系数,α(xmax-xmin)为动态调节器指数,κ和α(xmax-xmin)分别定义为
(13)
(14)
当粒子每次被卡在局部最小值时,其速度接近于零,粒子就可以使用对数函数进行引导,从而跳过可能的局部最优为了在迭代开始时允许较大的飞跃以探索整个搜索空间,而在特定的解空间区域进行细化以允许较小的飞跃,采用线性递减的个体学习参数,其中动态阻尼系数d(t)和阻尼系数k被引进,表达式如下;
a(t+1)=d(t)·a(t)
(15)
d(t+1)=k·d(t)
(16)
其中令初始值a(0)=e,d(0)=0.999 5,k=0.999 99。
② 速度和位置更新
在DISPSO算法中,速度随着动态学习参数的改变而自适应改变,能够避免粒子陷入局部最优问题,使得粒子快速可靠地向全局最小收敛。速度vi(·)和位置xi(·)的更新公式如下:
(17)
xi(t+1)=vi(t+1)+xi(t)
(18)
其中速度范围[vmin,vmax]和h(t)分别定义为:
(19)
h(t)=r1c1(t)(pi(t)-xi(t))+
r2c2(t)(pg(t)-xi(t))
(20)
③ 最优值比较更新
(21)
(22)
根据式(21)~式(22)比较更新粒子的个体最优值pi(t)和全局最优值pg(t)。
1.3 LSTM网络
长期短期记忆(LSTM)网络[18]是RNN的一种变体,避免了长期依赖的问题,解决了RNN存在的梯度消失或梯度爆炸问题。与RNN不同,LSTM添加了细胞状态,通过门结构整合长时间序列信息,分别为遗忘门、输入门和输出门。其中,遗忘门决定了上一时刻的单元状态保留到当前时刻的比例;输入门决定当前的时刻网络的输入传入当前单元状态的比例;输出门控制单元状态传入当前隐层状态的比例。文中LSTM网络采用两层LSTM层、一层概率为0.5的Dropout层和一层全连接层构成。两层LSTM层用来更好的学习负荷序列特征,Dropout层防止过拟合,全连接层作为负荷预测值的输出层,以实现高精度的负荷预测。
1.4 混合模型的结构及预测流程
基于LSTM网络进行的负荷预测,本文构建了CEEMDAN-DISPSO-LSTM混合预测模型,其结构如图1所示。
图1 CEEMDAN-DISPSO-LSTM模型结构框图
对LSTM的输入变量非线性非平稳性的电力负荷序列,采用CEEMDAN算法将其分解为n个平稳负荷序列,包括n-1个模态分量IMF和一个剩余分量Res,提高输入变量的质量;其次将动态个体和群体学习参数引入粒子群算法中,提出了动态个体-群体粒子群算法(DISPSO),以LSTM的网络隐藏层单元的节点数、迭代次数和学习率为优化对象。根据参数最优值构建LSTM网络,利用n个平稳分解分量分别进行训练和预测。将所有分解分量的预测值叠加作为最终的负荷预测结果。
文中所构建CEEMDAN-DISPSO-LSTM模型的预测流程如下:
① 采用CEEMDAN将非线性非平稳性电力负荷序列分解为n-1个模态分量IMF和剩余分量Res,充分降低负荷序列的非平稳性,提高输入变量的质量;
② 将n-1个模态分量IMF和剩余分量Res按照一定的比列划分为训练集和测试集;
③ DISPSO算法以LSTM网络隐藏层单元的节点数、迭代次数和学习率为优化对象,确定优化对象的初始值。初始化DISPSO算法的相关控制参数,设置最大迭代次数;
④ 以均方误差MSE作为适应度函数,计算每个粒子适应度值,MSE的表达式为:
(23)
⑤ 据式(21)~式(22)更新粒子个体最优值和全局最优值;
⑥ 据式(17)~式(18)更新粒子本身的速度和位置;
⑦ 当满足DISPSO的终止条件时,则输出LSTM的最优参数值,否则,则返回④继续迭代;
⑧ 根据最优参数值构建LSTM网络,使用分解分量进行训练和预测。利用训练好的LSTM对各分解分量进行预测,将分解分量的预测值叠加得到最终的负荷预测结果。
2 仿真结果与分析
2.1 数据预处理分析
文中选自奥地利地区(AT)2015-01-01至2015-03-31时间段内的历史负荷值作为实验数据集,以1h为间隔进行采样,一天有24个负荷值,总计2160个负荷值。将2015-01-01至2015-03-26共85天的负荷值和2015-03-27至2015-03-30共4天的负荷值分别作为预测模型的训练集和测试集。以一天的采样间隔为滑动窗口,即以24组数据为时间特征,预测下一个时间特征。预测2015-03-31的负荷值,文中所有预测模型均在Matlab中实现,AT的原始电力负荷序列如图2所示。
图2 AT的原始电力负荷序列
采用均方根误差(RMSE)、平均绝对误差(MAE)和平均绝对百分比误差(MAPE)作为评价指标,来评价预测模型的准确性,数学表达式如下:
(24)
(25)
(26)
2.2 CEEMDAN分解结果分析
为充分降低LSTM输入变量电力负荷序列的非线性非平稳性,采用CEEMDAN算法将其平稳化。当分解次数为10时,各分解分量具有较好的平稳性,得到频率由高到低依次排列的模态分量(IMF1~IMF9)和剩余分量(Res),分解结果如图3所示。实验中,CEEMDAN的信噪比(Nstd)、实验次数(NR)和最大迭代次数(MaxIter)分别设为0.2,500和5 000。
图3 基于CEEMDAN的分解图
2.3 DISPSO优化性能分析
为证明本文提出的粒子群改进算法DISPSO具有更好的优化能力,在规定种群个数为100,维数为10,最大迭代次数为1 000的条件下,采用Sphere测试函数对DISPSO、IPSO[12]和PSO[10]的收敛时间T(s)和平均适应度值fbest进行计算,测试结果见表1,其中,Sphere函数的理论最优值为0。
Sphere函数的表达式为
(27)
由表1可得,与PSO和IPSO相比,DISPSO算法取得了较小的平均适应度值fbest,更接近Sphere函数的理论最优值0,但其收敛时间T(s)均大于PSO和IPSO[10,12]。仿真结果证明,DISPSO算法以牺牲收敛时间为代价换取更好的优化性能,从而提高参数寻优的精确度。
2.4 LSTM网络参数最优值分析
为提高LSTM网络的负荷预测精度,采用本文提出的改进算法动态个体-群体粒子群算法(DISPSO)进行参数优化。以LSTM网络两个隐藏层单元的节点数、迭代次数和学习率作为DISPSO优化对象。将前三个参数初始化为[16,500]的随机整数,学习率初始化为[0.0001,0.01]的随机值。由DISPSO算法求解LSTM网络的参数最优值见表2。
表2 LSTM网络的参数最优值
2.5 不同预测模型对比分析
为验证文中构建的CEEMDAN-DISPSO-LSTM模型具有较高的负荷预测精度,在相同的数据集上,将其分别与LSTM[8]、IPSO-LSTM[12]、DISPSO-LSTM和CEEMDAN-LSTM[16]模型的预测结果进行比较分析。表3为不同模型的评价指标值,图4为不同模型预测误差直方图,子图(a)、(b)和(c)分别为不同模型的平均绝对误差(MAE)、不同模型的均方根误差(RMSE)和不同模型的平均绝对百分比误差(MAPE)。图5为不同模型的预测结果。
从表3可得,CEEMDAN-DISPSO-LSTM模型的预测误差值均小于其他4种模型,误差评价指标RMSE、MAE和MAPE分别为43.71 MW、28.53 MW和0.81%,仿真结果证明CEEMDAN-DISPSO-LSTM模型具有较高的负荷预测精度。与LSTM[8]、IPSO-LSTM[12]、DISPSO-LSTM和CEEMDAN-LSTM[19]4种模型相比,CEEMDAN-DISPSO-LSTM模型的均方根误差(RMSE)分别降低了142.52,84.63,74.45和46.94 MW,平均绝对误差(MAE)分别降低了141.34,82.06,69.23和43.92 MW,平均绝对百分比误差(MAPE)分别降低了1.72%,0.93%,0.80%和0.54%,结果表明CEEMDAN-DISPSO-LSTM模型的预测性能明显优于其他预测模型。LSTM两种优化算法IPSO-LSTM和DISPSO-LSTM的预测误差值均小于LSTM的预测误差评价指标值RMSE(186.23 MW)、MAE(169.87 MW)和MAPE(2.53%),证明了优化算法的有效性。与IPSO-LSTM相比,DISPSO-LSTM的预测误差评价指标值RMSE、MAE和MAPE分别下降了10.18 MW、12.83 MW和0.13%,结果表明提出的粒子群改进算法DISPSO有效提高了LSTM参数寻优的精确度,优化性能更好。与未分解模型(LSTM、IPSO-LSTM、DISPSO-LSTM)相比,基于CEEMDAN预测模型的预测误差评价指标值RMSE、MAE和MAPE至少降低了23.28%,25.88%和16.14%。结果证明CEEMDAN分解算法能够有效提高预测精度。
表3 不同模型的评价指标值
从图5不同模型的预测结果可得,CEEMDAN-DISPSO-LSTM模型的预测曲线拟合效果最好,更好的显示实际负荷序列变化。从图4的子图(a)、(b)和(c)直观看出,CEEMDAN-DISPSO-LSTM具有较小的预测误差值,仿真结果进一步证明CEEMDAN-DISPSO-LSTM模型有效提高了电力负荷预测的准确性,是切实可行的电力负荷预测方法。
图4 不同模型的预测误差直方图
图5 不同模型的预测结果
3 结 论
为了降低负荷序列的非平稳性,提高预测精度,本文构建了CEEMDAN-DISPSO-LSTM的混合预测模型。通过分解算法的平稳化,网络参数的寻优化,能够获得较高精度的负荷预测。
1) 分析了电力负荷特性,采用CEEMDAN算法对非平稳性的负荷序列进行预处理的预测模型,其预测精度至少提高了15.52%,该分解算法能够有效减小负荷序列的非平稳性影响。
2) 为了提高网络参数寻优的精确度,提出了粒子群的改进算法DISPSO。与PSO和IPSO相比,该算法具有较小的平均适应度值fbest为1.83E-07,明显提高了算法的优化性能。与LSTM和IPSO-LSTM相比,DISPSO-LSTM的预测精度至少提高了36.36%和7.47%,DISPSO算法进一步提高了预测精度。
3) 与其他4种模型相比,CEEMDAN-DISPSO-LSTM模型具有较低的预测误差值RMSE、MAE和MAPE分别为43.71 MW、28.53 MW和0.81%,实现了更准确的负荷预测。