基于小波变换和季节性Holt-Winters模型的短期负荷预测方法

2021-09-25 07:34杨首晖陈传彬王雪晶李庆伟吴元林
电力需求侧管理 2021年5期
关键词:小波分量负荷

杨首晖,陈传彬,王雪晶,李庆伟,吴元林,陈 静

(1.福建电力交易中心有限公司,福州 350003;2.国网信通亿力科技有限责任公司,福州350003;3.福州大学 电气工程与自动化学院,福州 350108)

0 引言

负荷预测不仅对电网系统经济可靠的运行起着极为关键的作用[1—2],而且在电力交易市场中也占据着十分重要的地位。精准的负荷预测对发电企业来说,有利于合理安排电网运行方式以及规划电源建设,而对售电公司来说,有助于其在现货市场的电量交易中实现利润最大化,同时也可以为企业用户做好节能等增值服务[3—4]。

负荷预测从规模上可以分为电网层级的负荷预测和用户层级的负荷预测,对于售电公司,用户层级的负荷预测更为密切与重要,但相比电网层级,用户层级的负荷曲线存在多种因素的干扰,具有很大的随机性且波动剧烈,不易预测[5]。传统的负荷预测方法有很多,如回归分析法[6]、模糊预测法[7]等。回归分析法是根据历史数据和负荷影响因子建立相应的回归方程,通过确定模型参数来推断将来时刻的负荷值,该方法的原理和结构简单,预测速度快,但对复杂问题,无法描述多种影响因素,精度较低;模糊预测法可以很好地处理负荷预测存在的不确定性,但对历史数据的要求高且精度也难以满足要求。为克服这些问题,通常需要在原有算法的基础上进行改进。文献[8]提出一种改进的模糊回归分析法,通过设置自适应的权值,将回归分析法和模糊预测法进行合理的结合,有效地保留了2种方法的优点;文献[9]也在经典的差分整合移动平均自回归模型(autoregressive integrated moving average model,ARIMA)中加入了小波变换,来对负荷数据进行去噪,以此提高模型的预测精度。

相较于ARIMA模型,Holt-Winters模型的结构更加简单且模型的参数可以通过进化算法进行寻优,故本文提出了一种基于离散小波变换和粒子群优化的季节性Holt-Winters模型的负荷预测方法。考虑到Holt-Winters模型对原始时间序列的平稳性要求较高,借助小波去噪将负荷变化剧烈的部分进行平滑处理,同时采用小波离散变换(discrete wavelet transform,DWT)将波动大的负荷序列转为波动较小的小波系数。为进一步提高模型的预测精度,使用粒子群算法(particle swarm optimization,PSO)对Holt-Winters模型的参数进行寻优。为了检验模型的预测性能及适用范围,本文对企业进行日负荷短期预测,将预测值和真实值的均方根误差(root mean square error,RMSE)和平均绝对百分比误差(mean absolute percentage error,MAPE)作为模型性能的评价指标,并与ARIMA模型的预测结果进行对比,从实验结果可以看出,无论是算法耗时还是预测精度,本文所提的模型都要优于ARIMA模型。

1 预测模型与原理

1.1 负荷预测原理

基于离散小波变换和粒子群优化的季节性Holt-Winters模型的电力负荷短期预测的原理如图1所示。整个预测过程可分为3大部分。首先将原始数据进行常规的数据预处理操作,过滤异常数据后,再利用小波去噪进一步对负荷数据做平滑处理,剔除潜在的噪声干扰;然后将处理好的负荷数据进行离散小波分解,得到一个低频分量和N个高频分量,将这些分量对应的小波系数作为训练样本,配合PSO算法进行参数寻优,构建相应的Holt-Winters模型;最后根据测试集的分解序列确定模型的预测步长,以此对每个分量的小波系数进行预测,再将预测的所有小波系数进行重构就得到了预测的负荷序列。

图1 基于DWT和PSO的Holt-Winters模型的日负荷预测原理图Fig.1 The schematic diagram of daily load prediction based on Holt-Winters model of DWT and PSO

1.2 小波变换

小波变换的思想同傅里叶变换相同,只是将基函数改为小波基。小波基具有2个参数,尺度因子和伸缩因子,分别影响着时间分量和频率分量,因此,小波变换不仅能获取频率,还能定位到时间,从而在信号变换领域得到了广泛的应用。

小波变换按处理方式可分为连续小波变换和离散小波变换,离散小波变换通常使用Mallat算法,该算法分为2个阶段,第一阶段对离散信号进行分解得到对应的小波系数,分解公式如式(1)所示;第二阶段则是根据小波系数构建新的离散信号,新的离散信号相比原信号不仅保留了时间分量,还多了对频率的描述,重构公式如式(2)所示

式(2)可以简写为

式中:Wφ(j,k)为第j层的小波系数,k为位置索引;φ(t)为小波函数;x(t)为原始信号;A j(t)为原始信号在第j层的低频分量;D j(t)为第j层的高频分量。图2给出了DWT 3层分解的过程。

图2 离散小波3层分解的示意图Fig.2 Schematic diagram of discrete wavelet three-layer decomposition

1.3 季节性Holt-Winters模型

因不同季节的环境温度、湿度、日照、降雨量等气象因子存在明显不同,而用电负荷又容易受到这些气象因子的影响,所以负荷数据是具有明显的季节特征的时间序列[10]。Holt-Winters模型是建立在指数平滑法的基础上,专门对具有季节性特征的时间序列进行预测的方法[11]。Holt-Winters模型不仅对历史数据进行加权求和,还对数据的趋势和季节特征进行加权求和。整个模型由3个指数平滑方程和一个预测方程组成[12],具体的公式见式(4)

式中:s i、t i、p i分别为原数据的水平特征、趋势特征以及季节特征在第i个时间点的大小;α、β、γ分别为3个分量的阻尼因子,范围在0~1之间;x i为数据在第i个时间点的实际值;h为观察点到预测点的步长大小;l为季节分量的周期。

1.4 粒子群算法

作为近几年十分流行的进化算法,粒子群算法因其原理简单,容易实现且收敛速度较快等优点,在模型参数优化领域已得到了广泛的应用[13]。粒子的位置和速度更新公式如式(5)和式(6)所示

式中:vik、x ik分别为粒子i在第k次迭代的速度和位置;d为搜索空间的维度;Pbest ik为粒子i在第k次迭代时的个体最优解;Gbest k为整个种群在第k次迭代时的全局最优解;c1和c2为学习因子;w为惯性因子;rand1和rand2为介于[0,1]之间的随机数。

本文将使用PSO算法来寻找Holt-Winters模型中季节参数l的最优值,算法的适应度函数为Holt-Winters模型的预测值与测试样本真实值的平均绝对误差,计算公式如式(7)所示

图3 PSO算法的流程图Fig.3 Flow chart of PSO algorithm

2 算法测试

2.1 数据预处理

本次实验采用的数据是某省企业2017年11月1日至2020年4月30日的电力日负荷数据,企业一天的用电数据采集频率是0.25 h/次,故每天的负荷数据共96点。由于数据库中的负荷数据是计量电能表经过多次传输后的结果,每次的传输过程都有可能出现意外因素从而影响最终数据的准确性。为减少这些数据对模型预测性能的影响,在进行实验前需要先对原始数据进行预处理操作。

本文为保证预测结果的准确性,对数据集进行了3个方面的预处理操作:①过滤96点完全相同及存在负值的数据;②针对缺失数据,根据缺失的程度,采取不同的措施,本文将缺失占比达到20%及以上定义为严重缺失,对这类数据直接进行剔除,而对缺失量未达到20%的数据,借助线性插值法进行补全;③对于突变数据,本文采用3σ原则进行识别与处理,首先需要计算出每组数据的均值和标准差,然后筛选那些与均值的偏差大小超过标准差3倍的数据点,将这些数据定义为突变数据并进行删除。经过上述的处理,可以得到企业的日负荷曲线,如图4所示。

图4 企业的日负荷曲线Fig.4 Daily load curves of enterprises

经过上面的预处理操作后,企业的负荷数据从889条降到864条,由图4可知,该企业每年的春假时段日负荷曲线的波动范围较小,但是存在显著突变的部分,说明该企业受春节放假的影响,日负荷存在明显的低谷,而其余时段则较为稳定。

根据原始数据得到的日负荷曲线比较曲折且存在较多的毛刺,为了让模型在训练时能更好地拟合输入的负荷序列,利用小波去噪剔除负荷数据中的潜在噪声。小波去噪的方式类似一个高通滤波器,因为信号的小波系数要比噪声的大,故只需过滤低于某一阈值的小波系数,就能保证信号成分的存留,从而实现去噪功能。

去噪处理中阈值的选择十分重要,只有选取一个合适的阈值才能保证在过滤噪声数据的同时,保留正常数据。不同特点的负荷数据,阈值的选择也不相同,将本文企业的去噪阈值设为0.5。经过小波去噪后的负荷曲线如图5所示。可以看到,经过小波去噪后日负荷曲线的波动幅度、频率都明显减少,这使曲线显得平滑,让曲线整体的变化趋势更加清晰,同时也留有一定程度的波动变化,保证了原数据的有效性。

图5 小波去噪后企业日负荷曲线Fig.5 Daily load curve of enterprise after wavelet denoising

2.2 模型性能评价

本文所提出的电力负荷短期预测的具体过程为:首先将原始数据分为训练样本和测试样本,对训练样本进行离散小波分解,根据分解后得到的小波系数构建预测模型,设置模型的预测步长,每次只对测试样本中前2条数据进行预测,然后将这2条实际数据归入训练样本中,再以同样的方式对后面的数据进行预测,直到预测出所有的测试样本。模型预测的效果则使用RMSE和MAPE进行评价,具体的指标计算公式见式(8)和式(9)

2.3 模型预测结果

模型的预测首先需要对经过小波去噪后的负荷数据进行离散小波分解。本文采取Daubechies8小波(简称db8)作为母小波,选择分解的层数为3,图6给出了经过分解后的企业小波系数,可以看到企业低频分量的变化相较于原始负荷序列都相对平缓,企业的高频信号随着层数的增加,分量逐渐减少。

图6 企业的各层小波系数Fig.6 Wavelet coefficients of each layer of enterprise

将分解后的各层小波系数作为训练样本构建Holt-Winters模型,本文在模型的训练过程中使用PSO算法来对模型的参数进行优化,其中PSO算法的参数设置为:学习因子c1和c2都为2;权重w为0.8;种群规模N为40;算法的最大迭代次数Tmax为30。图7给出了模型训练过程中PSO算法的迭代曲线。

图7 企业PSO算法的迭代曲线Fig.7 Iteration curve of enterprise in PSO algorithm

Holt-Winters模型根据输入的预测步长输出相应预测时刻的小波系数,将这些小波系数进行重构,得到预测的负荷曲线。本文选取2017年11月1日至2020年3月31日的负荷数据作为训练集,把2020年4月的负荷数据作为测试集进行滚动预测。图8给出模型的预测结果与实际负荷曲线的对比,从图可以看出预测曲线可以很好贴合实际曲线中平缓的部分,而对于突变的部分,则会存在一定的偏离。根据式(8)和式(9)可分别计算出企业的RMSE值为178.76,MAPE值为2.55。

图8 企业的负荷预测结果Fig.8 Load forecasting results of enterprise

2.4 不同分解层数对比实验

本文所提的模型性能主要受2个因素的影响,第一个是Holt-Winters模型的参数,即3个平滑参数α、β、γ以及季节分量的周期l,其中平滑参数可在训练Holt-Winters模型时采取自动优化来确定,而季节周期l,本文则是通过PSO算法来寻找最佳值。另一个因素是小波变换的分解层数,对于初始时间序列,选用3层的小波分解能进行更加精确的分析,本文在此基础上对日负荷数据做了小波2层、3层、4层分解的对比实验,以预测结果的RMSE值和MAPE值来确定企业的最佳分解层数,实验结果如图9所示。表1给出了对应的预测性能指标,根据表1的结果,可以看出当小波分解的层数为3时,模型的预测精度最好。

图9 企业不同分解层数的预测对比Fig.9 Comparison of prediction of different decomposition layers of enterprise

表1 不同分解层数下企业的预测性能指标Table 1 The predictive performance indexes of enterprise under different decomposition layers

2.5 算法对比

为检验PSO算法对Holt-winters模型的优化效果,用未结合PSO算法的Holt-Winters模型对同一数据进行预测,同时增加了在负荷短期预测算法中常用的ARMIA模型和二次指数平滑法作为对比算法。不同算法的预测结果如图10所示,可以看到DWT+Holt-Winters算法和DWT+PSO+Holt-Winters算法的预测结果比较贴合实际曲线,尤其是经过PSO算法优化的模型从一开始就紧紧跟随着实际曲线的变化趋势,而相比之下,ARIMA算法和DWT+Holt算法的预测曲线则不能很好地跟随实际负荷曲线的变化趋势。表2给出了4种算法对同一测试数据所预测的性能指标,可以看出ARIMA模型的RMSE值和MAPE值最高,同时耗时也比DWT+Holt-Winters算法长,而DWT+PSO+Holt-Winters模型的RMSE值和MAPE值要明显低于另外3种算法,虽然粒子群算法的寻优过程增加了模型训练的用时,但以算法耗时较长换取模型的预测精度提高,这在实际的电力负荷中是值得的。

表2 不同算法预测下的性能指标Table 2 Performance indexes predicted by different algorithms

图10 不同算法的企业负荷预测对比Fig.10 Comparison of load forecasting of enterprise with different algorithms

3 结束语

针对企业用户日负荷具有波动剧烈、难以预测的问题,本文提出了一种基于离散小波变换和季节性Holt-Winters模型。根据离散小波变换中经典的Mallat算法将负荷序列进行分解与重构,将预测对象从负荷序列转为小波系数,再借助结合粒子群算法的Holt-Winters模型对小波系数进行预测。根据实验结果可以看出该模型的预测值具有与实际负荷相同的变化特征,说明该模型能对输入的历史数据信息进行特征提取,从而保证对未来时刻的负荷进行准确预测。D

猜你喜欢
小波分量负荷
构造Daubechies小波的一些注记
帽子的分量
基于MATLAB的小波降噪研究
一物千斤
论《哈姆雷特》中良心的分量
基于改进的G-SVS LMS 与冗余提升小波的滚动轴承故障诊断
防止过负荷时距离保护误动新判据
主动降负荷才是正经事
负荷跟踪运行下反应堆一回路控制系统仿真与验证
基于瞬时对称分量法的三相四线制D-STATCOM控制研究