蔡君懿,李琪林,严 平
(国网四川省电力公司计量中心,四川 成都 610045)
随着以新能源作为主要供给的新型电力系统不断发展,为确保多元化新能源的高效消纳利用并发挥主体电源的电力支撑作用,需提升电力系统灵活调节能力。准确的电力负荷预测可以在保障电网的安全前提下,经济合理地安排电网内部发电机组的启停、安排机组检修计划,为电力系统灵活调节、供需平衡提供基础。因此,电力负荷预测对于整个电力系统的运营决策和控制至关重要[1]。根据时间尺度划分,电力负荷预测一般包括3种:1)中长期负荷预测(以年度为单位给出预测结果);2)短期负荷预测(从次日到第8天的预测);3)超短期负荷预测(15 min以下的电力负荷预测)[2]。其中,短期负荷预期是电力系统运行和控制所需的,所受关注最高。
短期负荷预测技术主要有统计学方法和机器学习方法两类[3]。统计学方法包括自回归滑动平均(auto-regressive moving average,ARMA)[4]、差分自回归滑动平均(auto-regressive integrated moving average,ARIMA)[5]、卡尔曼滤波[6]、多元线性回归(multiple linear regression,MLR)[7]等算法。由于基于时间序列的实际电力负荷数据存在非线性与非平稳,若单独采用统计学方法进行负荷预测,则可能会对其非线性部分或非平稳部分预测造成缺失。为了改善此情况,基于机器学习的负荷预测方法得到了发展与应用。其中,支持向量机[8-9]、神经网络[10-11]以及它们的拓展算法[12-15]是最常见的用于短期负荷预测的机器学习算法。为了优化机器学习的效果,学者们使用了一些结合方法来提高预测精度,如:使用注意力机制、引入门控循环单元和时间认知分别对神经网络进行优化[16-18];基于小波去噪强化神经网络来提升短期负荷预测需求[19];使用变分模态分解负荷时间序列再进行支持向量机预测[20];使用主成分分析法对负荷序列进行降维处理,提升聚类效果[21]等。总的来说,机器学习算法的非线性拟合能力较强,其短期负荷预测准确度普遍优于统计学方法[3]。
由于电力系统中负荷数量多且短期负荷特征受天气、时间等诸多因素的影响,单一预测模型可能难以满足预测的准确性要求。因此提出了一种预测短期电力负荷的联合模型方法,该方法基于ARIMA模型和长短期记忆(long short-term memory,LSTM)神经网络模型的集成,以考虑两种技术的优势来提升预测精度。首先,描述了ARIMA和LSTM基础模型;然后,提出了基于混合粒子群优化算法的联合模型;最后,通过实际负荷数据对比、分析来验证所提方法。
不同于自回归滑动平均(ARMA)模型只能处理平稳序列,差分自回归滑动平均(ARIMA)模型是一种可用于非平稳时间序列的模型。ARIMA模型最为关键的3个参数是自回归阶次n、差分阶次d以及滑动平均阶次m,因此一般表示为ARIMA(n,d,m),是ARMA(n,m)模型的扩展。
对于一个非平稳的时间序列x,对第T个元素进行一阶差分的公式为
∇xT=xT-xT-1=(1-B)xT
(1)
式中,B为延迟算子。
d阶差分后的时间序列y为
yT=∇dxT=(1-B)dxT
(2)
在ARIMA(n,d,m)模型中,若差分阶次d为0,则ARIMA(n,0,m)就变为ARMA(n,m)模型。因此,非平稳时间序列经过若干次的差分后会变得平稳化,从而可构建相应的ARMA模型。ARMA(n,m)的第T个元素如式(3)所示[22]。
(3)
式中:εT为服从均值为0正态分布的白噪声序列ε的第T个元素;φI为第I个自回归系数;θJ为第J个移动平均系数。
在实际运用时,由于1阶差分之后信号通常可变得平稳,因此差分阶次d可取1。当信号平稳以后,对信号进行偏自相关计算,根据偏自相关函数的截断项确定自回归阶次n;对信号进行自相关计算,根据自相关函数的截断项确定滑动平均阶次m。
长短期记忆(LSTM)神经网络模型的核心思想是通过加入遗忘门、输入门和输出门组成的高效结构,使传统循环神经网络具备了学习长期信息的能力,从而解决了传统循环神经网络存在的梯度消失或梯度爆炸的问题[23],其细胞结构如图1所示。
图1 LSTM细胞结构
3个逻辑门中的主要功能[24]分别为:
1)遗忘门:决定保留或删除t-1刻输出ht-1的信息,并将输入门处理后得到的状态信息与当前处理结果相加,生成更新后的记忆单元状态。σ( )为sigmoid函数,用于在0~1之间产生一个权值,其表达式为
(4)
式中,xin为函数输入。
在遗忘门中t时刻的输出为
ft=σ[Wf(ht-1,xin,t)+bf]
(5)
式中:xin,t为t时刻的网络输入;Wf、bf分别为遗忘门sigmoid函数的权值和偏置。
2)输入门:通过调整新信息的权重,从而更新细胞状态。输入门sigmoid函数t时刻的输出为
it=σ[Wi(ht-1,xin,t)+bi]
(6)
式中,Wi和bi分别为输入门sigmoid函数的权值和偏置。
tanh函数的作用是将值归一化到-1~1之间,其表达式为
(7)
输入门tanh函数t时刻的输出为
(8)
式中,Wc和bc分别为输入门tanh函数的权值和偏置。利用遗忘门和输入门的输出即可对细胞t时刻的状态Ct进行更新,如式(9)所示。
(9)
3)输出门:控制LSTM记忆模块的输出,其依赖于上一个记忆单元的输出和当前遗忘门的状态。输出门sigmoid函数t时刻的输出为
Ot=σ[Wo(ht-1,xin,t)+bo]
(10)
式中,Wo和bo分别为输出门sigmoid函数的权值和偏置。
该LSTM细胞结构的最终输出为
ht=OttanhCt
(11)
LSTM模型用于预测分析时,可有两种方式:1)每次预测时,使用前一次预测结果作为函数的输入,即使用预测值进行预测;2)对新序列进行预测时进行网络状态重置,即使用观测值进行预测。
LSTM算法最关键的参数为隐藏层神经元数量和学习率。由于LSTM模型中的3个门是全连接层,在算法执行的过程中,会存在用隐藏层来做矩阵相乘运算。通常,细胞数量和各隐藏层神经元数量相同,若隐藏层神经元太少将导致欠拟合,而隐藏层神经元太多可能会导致过拟合并增加训练时间。隐藏层神经元数量一般根据问题的复杂度和可用的计算资源进行经验调节确定。学习率是对LSTM模型进行调整的幅度。学习率越大,模型更新的幅度也越大,模型的训练速度也会提高使模型不稳定,甚至无法收敛;学习率过小则会使模型训练速度缓慢,也会导致无法收敛。一般而言,初始学习率可以设置为较小的值,然后如果模型的损失函数下降缓慢,则可以适当增大学习率;如果模型的损失函数出现不稳定或震荡,则可以适当减小学习率。
在模型训练中,若ARIMA模型得到的负荷序列为a、LSTM模型得到的负荷序列为b、相应的实际负荷序列为s,各有n个采样点。对LSTM模型负荷序列和ARIMA负荷序列分别赋予权重ω1和ω2,且ω1+ω2=1,则训练过程中联合预测模型的误差为
ε=s-ω1a-ω2b=s-ω1b-(1-ω1)b
(12)
以联合预测模型误差最小化作为优化目标求解权重,得到
ω1*=arg min|ε|=arg min[|s-ω1b-(1-ω1)b|]
(13)
为寻求最优联合模型权重,通过随机优化搜索算法进行寻找。设置目标函数为
(14)
设置权重搜索范围为
0≤ω1≤1
(15)
粒子群优化算法(particle swarm optimization,PSO)是目前常用的随机搜索算法,具有参数少、收敛快等优点,其迭代公式[25]为:
vq(k+1)=Wvq(k)+c1rand(0,1)[pqbest(k)-
pq(k)]+c2rand(0,1)[pgbest(k)-
pq(k)]
(16)
xq(k+1)=xq(k)+vq(k+1)
(17)
式中:vq和xq分别为第q个个体的速度和位置;rand(0,1)为0~1之间的随机数;k为迭代次数;pqbest为第q个粒子的最佳位置;pgbest为所有个体的最佳位置;c1和c2为学习因子;W为惯性权重。
由于粒子群优化算法的种群多样性易损失,导致其易发生早期收敛性。为此,使用混合粒子群优化算法增加收敛精度,该混合粒子群优化算法使用差分进化(differential evolution,DE)算法的变异、交叉操作来提高粒子群优化算法的种群多样性,从而提高搜索准确度。变异操作是基于3个随机个体Ar1、Ar2、Ar3进行的,第q个个体的第k次迭代表达式[26]为
Vq(k)=Ar1(k)+F×(Ar2(k)-Ar3(k))
(18)
式中,F为缩放因子。
交叉操作是将有N维分量的第q个个体的第u分量进行交叉,其规则为
(19)
式中,C为交叉率,其值在0~1之间。
通过寻找式(19)的最小值,即可得到最优联合模型权重。
联合模型预测方法的流程如图2所示。首先,分别使用ARIMA模型和LSTM模型得到单一模型的预测结果;然后,基于混合粒子群算法求出最优的联合模型权重,从而对单一模型预测结果进行合成,得到联合模型的预测结果。
图2 联合模型预测方法流程
选用某地2014年12月份31天的负荷数据作为案例进行分析验证[27]。负荷数据每小时检测一次,一天共有24个数据,波形曲线如图3所示。
图3 案例负荷数据波形
利用最大谱峰搜索对负荷数据序列进行周期分解[28],得到周期分量和剩余非周期分量如图4所示。可以看出其中周期分量幅值较小,所占比例较少,大部分为非周期分量。因此无法直接判断下一周期内的电力负荷,须使用预测模型与算法进行预测。
图4 案例负荷数据周期分量
为分析不同预测模型的实际效果,分别利用前10天、前20天和前30天的数据预测第11天、第21天和第31天的负荷序列,此3天的日内负荷曲线如图5所示。
图5 第11天、第21天和第31天负荷曲线
负荷数据自相关与偏自相关在6阶时系数为0或接近于0,且后续阶数基本落在2倍标准差范围,如图6所示,所以n与m皆取6,从而建立模型ARIMA(6,1,6)。根据模型参数进行程序编制,输入进行训练的负荷数据,得到使用ARIMA模型预测不同日期的电力负荷序列结果如图7所示。从图中可以看出ARIMA模型能够对电力负荷趋势进行一定的预测,但是幅值上存在明显的偏移,最大的预测误差绝对值达到了287 MW,这是由于原始负荷数据中存在较多的非周期成分,导致ARIMA模型的适用性下降造成的。
图6 负荷数据自相关与偏自相关分析
图7 ARIMA模型预测结果
通过调节,确定所使用的LSTM模型的隐藏层神经元数量为200,学习率为0.005。使用LSTM模型预测不同日期的电力负荷序列结果如图8所示。可以看出LSTM模型均能对电力负荷进行一定的预测,其中有重置网络的LSTM模型预测结果相较于无重置网络的LSTM模型预测结果更贴近于实际曲线。无重置网络的LSTM模型预测结果的最大预测误差绝对值为503 MW,而有重置网络的LSTM模型预测结果的最大预测误差绝对值仅为159 MW。进一步以均方根误差(root mean square error,RMSE)作为预测评价指标,表达式为
图8 LSTM模型预测结果
(20)
有无重置网络LSTM模型预测性能对比结果如表1所示。结果显示,有重置网络的LSTM模型的预测结果RMSE比无重置网络的LSTM模型的预测结果RMSE至少减少了50.73%,这表明当LSTM模型随预测结果进行重置网络后可以大幅有效地提升预测结果性能,这是因为重置网络状态可防止先前的预测影响对新数据的预测。因此,后续使用有重置网络的LSTM模型进行联合模型预测。
表1 有无重置网络LSTM模型预测性能对比
使用混合粒子群算法,以第11天ARIMA模型和有重置网络的LSTM模型预测结果进行联合模型权重系数寻优,得到ω1=0.908 1,ω2=0.091 9。进一步得到第11天、第21天、第31天的联合模型预测结果,如图9所示。可以看出联合模型的预测结果与实际曲线非常接近,各日期下预测误差均较小。
图9 联合模型预测结果
除了所使用的ARIMA和LSTM这两种单一模型以外,还将常用于预测分析的BP神经网络(back propagation neural network,BPNN)[28]与联合模型的结果进行对比,如图10所示。图10显示ARIMA模型的预测曲线与真实曲线的偏差较大,而LSTM模型、BPNN模型和联合模型的预测曲线与真实曲线较为相似。
图10 单一模型与联合模型预测结果对比
单一模型与联合模型预测性能对比如表2所示。从表中可以看出,LSTM模型和BPNN模型的预测效果优于ARIMA模型预测效果,这是因此负荷序列存在非平稳、非线性部分,机器学习方法更为适用;而联合模型相较于单一模型取得了更好的预测精度,这是因为联合模型可以消除单一模型在不同方向上的误差,从而提升预测性能。综上所述,ARIMA-LSTIM联合模型的预测精度最优,可以较准确地对短期电力负荷进行预测。
表2 单一模型与联合模型预测性能对比
为进一步提高短期电力负荷预测的准确度,上面提出了基于ARIMA和LSTM的联合模型,实现对电力系统短期负荷进行精准预测。实验验证结果表明:
1)混合粒子群算法可以准确计算出联合模型中各单一模型的最优权重,实现基于ARIMA和LSTM单一模型的联合优化;
2)相较于单一预测模型,ARIMA-LSTM联合模型可以消除单一模型在不同方向上的误差,使短期电力负荷预测精度提升,具有较高的工程实用价值。
所提方法为多种负荷预测算法的联合使用提供了一种思路,除所使用的ARIMA和LSTM算法以外,所提出的算法联合使用计算方法,也望应用于其他算法来提高短期电力负荷预测精度。