APP下载

基于特征筛选的VMD-MIC-SSA-Informer短期负荷预测

2022-10-13江巧永闫群民皇金锋

陕西科技大学学报 2022年5期
关键词:负荷矩阵预测

余 帆, 王 磊,*, 江巧永, 闫群民, 皇金锋,3

(1.陕西理工大学 电气工程学院, 陕西 汉中 723001; 2.西安理工大学 计算机科学与工程学院, 陕西 西安 710048; 3.陕西理工大学 陕西省工业自动化重点实验室, 陕西 汉中 723001)

0 引言

我国“十四五规划”提出要实现“碳达峰、碳中和”的目标.调整优化产业结构、能源结构,成为新的能源发展趋势[1].准确、快速的短期负荷预测有利于保障电网的安全稳定运行,降低运营成本,提高能源利用率.因此,短期负荷预测成为智能电网发展的重要一环[2].

短期负荷序列具有波动性大、随机性强的特点,给短期负荷预测的准确性带来了巨大挑战,这是由其影响因素的多样性和复杂性决定的(例如气象因素、地理因素、电价、节假日等).特征工程可以一定程度上提高数据与模型的契合度,从而使预测模型获得更强的预测能力.目前,短期负荷预测的方法主要分为两类:统计学习方法[3]和机器学习方法[4].其中,以深度学习为前沿代表的机器学习方法,因其对高维抽象特征的刻画能力,备受行业关注[5-6].

传统循环神经网络(Recurrent Neural Network,RNN)模型虽然可以对时间序列进行准确预测,但其固有结构存在以下两个问题:(1)t时刻的输出依赖于t-1时刻的输入,模型无法并行运算,使得运行时间变长;(2)过长的循环过程导致信息在传输的过程中容易发生丢失.针对上述问题,Google提出了基于自注意力机制的Transformer模型[7].该模型通过计算序列中任意两个位置的耦合关系,巧妙地避开了循环结构,使得t时刻的输入将不再完全依赖于t-1时刻,模型可以实现并行化.同时,该模型任意两个位置的信息传递距离固定为1,使得信息不会因为序列过长而发生丢失.在此基础上,Zhou等[8]提出了基于Transformer的Informer模型.该模型有效降低了Transformer的空间和时间复杂度、内存使用率和解码器解码时间,同时提高了时间序列的预测准确度,对输入和输出之间的长程相关性耦合有更强的捕捉能力.

基于此,本文提出了一种基于特征筛选的Informer短期负荷预测模型.为了充分挖掘电力负荷数据潜藏的周期性特征(例如季节性、气候性、节假日等)[9-11],采用了变分模态分解将负荷序列分解为若干IMF;利用最大信息系数对每个IMF进行特征筛选;将经过特征筛选的IMF输入矩阵分别带入Informer模型进行预测,同时利用麻雀搜索优化算法对模型参数进行优化,最后对所有IMF预测结果进行重构,得到最终预测值.通过横向与纵向实验,验证了该模型的准确性.

1 相关工作

1.1 VMD算法原理

变分模态分解[12]是一种信号分解估计方法,主要思想是将原始信号分解为若干个平稳且不同频率的IMF.该方法通过迭代,搜索变分模型最优解来确定每个分量的频率中心和带宽,从而自适应地实现信号的频域剖分和IMF的有效分离[13].

VMD的目标是所有IMF的带宽和最小,约束条件为所有IMF之和与原始信号相等,表达式为[14]:

(1)

式(1)中:{uk}={u1,…,un}表示VMD分解之后得到的n个IMF;{ωk}={ω1,…,ωn}表示各IMF的中心频率.

引入二次惩罚因子α和Lagrange乘法算子λ(t),从而将约束变分问题转变为非约束变分问题,表达式为:

(2)

(3)

(4)

1.2 MIC算法原理

最大信息系数[15]用以衡量两个变量之间的数据关联程度,其中包括线性和非线性.

假定X、Y为数据集中的两个随机变量,其中X={x1,…,xn}、Y={y1,…,yn},n为样本数.定义X、Y之间的互信息为:

(5)

式(5)中:p(x,y)为X、Y之间的联合概率密度;p(x)和p(y)分别表示X、Y的边缘概率密度.

在变量X、Y组成的数据散点图上绘制网格,并计算各网格之间的互信息大小.使用不同的网格划分标准选取互信息的最大值,计算公式为:

(6)

式(6)中:a、b分别表示在X、Y方向上划分的网格个数,B为网格最大值.

1.3 SSA算法原理

麻雀搜索算法[16]是一种模拟麻雀觅食和反捕食行为的优化算法.它将种群分为发现者、加入者和侦查者三类.发现者一般拥有较高适应度值,负责为加入者提供觅食区域和方向,加入者跟随发现者并争夺食物,侦察者发现捕食者之后立刻发出警报并进行反捕食行为[17].

(1)发现者的位置更新公式为:

(7)

式(7)中:t和T分别表示当前和最大迭代次数,xi,j(t)表示在第t次,第i只麻雀在第j维的位置信息.α∈(0,1]表示某一随机数,R2∈[0,1],ST∈[0.5,1]分别表示侦察者的预警值和安全值.当R2

(2)加入者的位置更新公式为:

xi,j(t+1)=

(8)

式(8)中:Xworst(t)表示全局最差位置.A+=AT(AAT)-1,其中A表示一个1行d列的以随机1或者-1填满的矩阵.当第i只加入者进入饥饿状态,随即飞向其他方向觅食.

(3)侦察者的位置更新公式为:

(9)

式(9)中:Xbest(t)表示全局最佳位置.K∈[-1,1]为β方差为1,均值为0的正态分布随机数,两者均为步长控制参数.分别fi、fg、fw表示当前适应度值、全局最优值和最差值.由于存在fi和fw相等,使得分母为0的情况,因此引入常数e.当fi>fg时,边缘位置的麻雀处于危险状态;当fi=fg时,所有麻雀向中心位置靠拢,从而减少被捕率.

2 Informe预测模型

2.1 Informer模型整体框架模型与稀疏自注意力机制

Transformer模型的整体框架由若干编码器—解码器(Encoder-Decoder)组成.输入序列被编码为一个隐藏状态表示,再将输出序列的表示进行解码,得到预测值.

基于Transformer模型,Informer提出了稀疏注意力(ProSparse Self-attention)机制,有效地降低了模型计算复杂度.Informer的模型框架如图1所示.

图1 Informer整体框架

传统的自注意力机制主要是由Query、Key和Value组成,表达式为:

(10)

式(10)中:Q∈RLQ×d,K∈RLK×d,V∈RLV×d,d是输入维度.

定义第i个注意力系数的平滑概率形式为:

(11)

由于自注意力矩阵的稀疏性,作者使用了Kullback-Leibler散度用于定义第i个Query的稀疏性评价公式为:

(12)

式(12)中:前者为qi在所有Keys上的Log-Sum-Exp值,后者为算数平均值.通过对M(qi,K)设定上下界,作者将其近似为:

(13)

基于以上理论,作者提出了一种新的自注意力机制ProbSparse self-attention,表达式为:

(14)

2.2 Informer模型蒸馏机制

为了有效节省内存开销和计算时间,作者引入蒸馏机制逐次将序列长度减半.第j层到第j+1层的蒸馏操作的表达式为:

(15)

3 短期负荷预测模型

3.1 基于VMD-MIC-SSA-Informer组合的短期负荷预测模型

负荷数据具有波动性大和随机性强的特点,这是由影响因素的复杂性所决定的.对于电力负荷而言,每个影响因素具体对于负荷的趋势走向由多大贡献,不一定能直观地在数据中得到体现.例如在夏天的时候,由于温度的升高导致制冷设备频繁使用,从而增加用电负荷,这是很直观的.但是风速、湿度、光照等其他因素就很难直接与负荷联系在一起.因此,准确找出对负荷影响较大的因素可以有效提高预测精度.

本文采用VMD对原始负荷进行分解为若干IMF.值得一提的是,用于预测模型训练的数据集通常选用存放在数据库的历史数据,而用于检测模型的数据集则选用实时采集的智能电表数据.利用MIC特征筛选方法,筛选出与各个IMF相关性最高的特征进行预测,从而提高模型预测结果精度.考虑到传统RNN类型的深度学习模型无法并行化的问题,利用前沿的精度高、运行速度快的Informer模型对各个输入矩阵进行预测,最后将结果重构,得到预测结果.短期负荷预测模型整体框架如图2所示.

图2 短期负荷预测模型框图

3.2 预测精度评价指标

(16)

(17)

(18)

4 算例分析

4.1 数据准备与实验环境搭建

本文使用的电力数据来源于西班牙传输服务运营商(TSO)收集的公共用电数据[18],其中记录了2015年1月1日至2018年12月31日的电力负荷消费情况,采集频率为1小时.天气数据来源于Kaggle开源数据,由西班牙五大城市的开放气象API中获取.将数据集按照8∶1∶1的比例划分为训练集、验证集和测试集.预测窗口长度选定96,即每次输入96小时的负荷序列矩阵,预测下一小时的电力负荷[19].

本文的所有实验均在Pyhton 3.8环境中运行,深度学习模型使用Pytorch和Tensorflow第三方库.实验硬件CPU部分利用Intel Core i5-9300H处理器,GPU部分利用NVIDIA GeForce RTX 2060显卡,内存为16 GB.

在原始数据处理部分,使用了线性插值法处理异常值与缺失值;使用了归一化降低计算复杂度;使用了独热编码(One-hot)对文本数据进行了编码.此处不展开介绍.

使用VMD对原始信号进行分解.经过反复实验,当IMF分解个数K大于5时,中心频率最为接近,因此K取5;惩罚因子α=2 700;中心极限频率ω=0.原始用电负荷与分解后的各IMF如图3所示.

从图3可以看出,模态函数IMF1永不过零,包含了原始负荷的趋势走向.模态函数IMF2和IMF3过零率较低且规律性强,包含了更多周期性信息.模态函数IMF4和IMF5过零率较高且规律性低,包含的非周期性信息更多.

图3 原始用电数据与VMD分解序列

4.2 特征筛选

为了更好地描述经过VMD分解之后的IMF所包含的信息,利用MIC对特征进行选择,增强预测能力,并降低由于VMD分解带来的信息损失[20,21].图4对MIC系数矩阵进行了热力图可视化.从图4可以看出,每个IMF的影响特征各不相同.我们选取相关性最高的3到6个特征,建立输入矩阵,特征筛选结果如表1所示.

图4 MIC系数热力图

表1 IMF的特征筛选

4.3 预测结果分析

为了验证模型的准确度,设置了两组实验并对结果进行分析,两组实验均使用SSA优化模型参数(学习率).数据测试集长度为3 504,实验数据展示24 h预测结果.

本文选取VMD-Informer、MIC-Informer和Informer模型作为基准模型进行纵向实验,也称消融实验.该实验的目的是为了验证复杂的组合模型相比于简单的组合模型以及单一模型,预测精度是否得到提升.实验结果如图5、表2所示.

图5 纵向实验的预测曲线与实际曲线对比

表2 纵向实验对比结果

本文选取150 h的预测数据与真实数据进行展示.宏观地看,五种负荷曲线贴合得很好,几乎看不出差别,对于短期负荷预测都有很好的应用价值.对两处拐点进行放大后可以发现,本文所提模型与真实曲线贴合得更加紧密,即相对于未进行VMD-MIC特征筛选的模型,本文所提模型的精度有所提升,提升幅度为0.76%.同时,经过消融实验后发现,VMD和MIC单独使用时,对预测精度也是有益的.这意味着虽然短期负荷序列随机性强、波动性大,但依然有迹可循,相关性分析可以有效地找出潜藏在时间序列数据中的规律.

此外,本文还进行了模型的横向实验,选取了经典的深度学习模型GRU、LSTM和MLP作为基准模型.该实验的目的是为了验证与不同的深度模型之间的契合度.实验结果如图6、表3所示.

图6 横向实验的预测曲线与实际曲线对比

表3 横向实验对比结果

同样选取150 h的预测数据与真实数据进行展示.四种深度学习模型预测的负荷曲线都非常接近真实值.放大两处拐点后发现,Informer模型精度更高,即相较于其他传统深度学习模型,在VMD-MIC特征筛选方法上表现最好,精度比GRU模型高出0.75%.并且,根据图5与图6的负荷曲线对比,可以看出预测值在单调递增或单调递减的部分表现较好,而在拐点处容易产生误差,在未来的研究中或许可以成为一个新的改进点.

综上,本文提出的模型对短期负荷预测具有一定的实用价值和应用前景.

5 结论

利用VMD-MIC模型挖掘数据特征,增强输入输出相关性,弥补了分解过程中信息损失.对每个IMF输入矩阵,建立SSA-Informer模型进行准确预测,重构得到的最终预测值,在横向与纵向实验对比上都取得了最优性能.

在未来的工作中,将进一步深入在大数据背景下,更大时空尺度下的数据驱动综合能源系统负荷预测研究.

猜你喜欢

负荷矩阵预测
无可预测
人造革合成革拉伸负荷测量不确定度评定
选修2-2期中考试预测卷(A卷)
选修2-2期中考试预测卷(B卷)
3项标准中维持热负荷要求对比分析
选修2—2期中考试预测卷(A卷)
Opening flexible resources by integrating energy systems: A review of flexibility for the modern power system
多项式理论在矩阵求逆中的应用
矩阵
矩阵