卢文博, 黄云峰, 李 峥, 王 欣
(上海电力大学 自动化工程学院, 上海 200090)
蒸汽是综合能源系统的重要能源之一,广泛应用于企业生产和日常生活中[1]。对蒸汽管网流量(以下简称“蒸汽流量”)和压力进行合理有效预测,有助于维持整个系统能源资源平衡,减少能源浪费[2]。蒸汽管网具有能源设备多、流量变化快等特点[3],难以根据其机理建立蒸汽流量预测模型。随着自动化和数据库技术的进步,实现了对历史实时数据的及时采集,使得建立数据驱动的蒸汽流量预测模型成为可能[4]。目前,应用最广泛的预测方法是BP(Back Propagation)神经网络。但传统的BP算法存在局部最优陷阱问题,泛化能力一般[5]。循环神经网络(Recurrent Neural Network,RNN)在深度学习中可以适应连续时间步骤之间的依赖关系[6],但容易出现梯度消失或爆炸问题。长短期记忆网络(Long Short-Term Memory,LSTM)通过引入门控单元来解决梯度问题,提高了预测模型的效率和稳定性[7-8]。文献[9-10]分析了基于LSTM模型在短期电力负荷预测方面的性能。然而,在某些应用场景中,需要利用大量历史时间序列数据进行长期预测。由于传统LSTM只能通过逐步递归的方式获取全局信息,很难捕捉到长期依赖关系,因此LSTM模型的效果可能会受到限制[11]。
Transformer模型作为一种深度学习模型[12],在自然语言处理和计算机视觉领域取得了广泛的应用。但其存在时间复杂度高、内存利用率高以及在时间序列预测中会出现预测率骤降等问题,无法直接应用于时间序列预测,因此研究人员对其进行了一些改进。文献[13]考虑了注意力矩阵的稀疏分解。文献[14]提出了一种新的自注意力机制,以降低时空复杂度。文献[15]提出了Transformer的变体Informer,并在4个大规模数据集上进行了测试,验证了其出色的性能。这些研究为时间序列预测问题提供了一种不同的解决方案。文献[16]将Informer模型应用于电机轴承震动时间序列预测任务中,得到了令人满意的预测结果。文献[17]将Informer模型成功应用于风力发电预测领域。文献[18]将Informer模型与卷积神经网络模型相结合,成功应用于锂离子电池充电桩的电荷状态估计领域。
综上所述,Informer被认为是目前较为先进的时间序列预测模型。为了研究Informer在蒸汽流量预测中的性能,本文选择上海闵行区某供热管网采集的蒸汽管网数据作为研究对象,并以日期、温度、天气数据、历史蒸汽压力和历史蒸汽流量作为输入特征,将Informer模型应用于蒸汽流量预测任务。通过引入3种算法,对Informer模型进行改进,并最终提出了Informer_BEST模型。
作为一种革命性的序列建模方法,Trans-former模型采用了编码器-解码器结构。通过自注意力机制的运用,Transformer模型在各种任务中展现出了卓越的性能。
自注意力机制是通过3个权重矩阵将序列中每个元素转化为3个不同功能的矩阵,分别为查询矩阵Q、键矩阵K和值矩阵V。其中,Q∈RLQ×d,K∈RLK×d,V∈RLV×d,d为输入维度,LQ、LK、LV分别为Q、K、V的行维度。通过计算K与Q的相似度,为每个查询矩阵赋予相应的重要性分数,并利用这些分数对V进行加权,从而实现对上下文信息特征的有效融合。
自注意力机制的公式为
(1)
式中:O——自注意力机制输出;A(·)——自注意力计算函数;S(·)——Softmax计算函数。
自注意力机制的具体计算流程如图1所示。其中,b1为经过自注意力机制计算后的输出序列列向量,ax为输入序列x列的列向量,qx、kx、vx分别为输入序列x列对应的查询向量、键向量和值向量,αx,y为ax和ay的相关性分数。
图1 自注意力机制计算流程
编码器由多个相同的自注意力模块堆叠而成,每个自注意力模块包含自注意力层和前馈神经网络2个子层。解码器也由多个自注意力模块堆叠而成,与编码器略有不同,每个解码器的自注意力模块包含自注意力层、编码器-解码器注意力层和前馈神经网络3个子层。
Informer模型是一种基于Transformer模型的时间序列预测模型。为了提高在长序列时间预测(Long Sequence Time Series Forecasting,LSTF)问题中的预测能力,相较于传统Transformer模型,Informer模型进行了如下改进:提出了ProbSparse自注意力算法,只允许关注重要查询矩阵,以提高运算效率;在编码器内设计了自注意力蒸馏结构,该结构利用卷积网络来连接两个自注意力模块,可实现输出长度下采样,并进一步提高运算效率;针对传统解码器在推理阶段中误差的累计传播问题,Informer提出了生成式推理解码器,该解码器通过一个前向过程即可生成完整的长序列预测结果。
Informer编码器中的自注意力蒸馏结构如图2所示,其中L为输入序列长度。
图2 Informer编码器中的自注意力蒸馏结构
从j层到j+1层的蒸馏过程公式为
Lj+1=M(E(C([Lj]AB)))
(2)
式中:Lj、Lj+1——第j层和第j+1层自注意力模块输入;
M(·)——最大池化层函数;
E(·)——激活函数;
C(·)——卷积网络函数;
[·]AB——自注意力模块。
Informer模型结构如图3所示。
图3 Informer模型结构
本文引入以下3种算法,对Informer模型进行改进:第1种为扩展的因果卷积扩展的因果卷积(Dilated Causal Convolutional Network,DCCN)网络,取代了Informer蒸馏结构中的正则卷积网络,模型记为Informer_DCC;第2种为相对位置编码方法,将其与季节特征编码相结合,作为Informer模型的编码输入特征,模型记为Informer_REL;第3种为梯度中心化(Gradient Centralization,GC)技术,将其嵌入到Adam优化器中,以改进模型的训练过程,模型记为Informer_GC。
正则卷积层在时间序列预测中存在两个主要缺陷:一是在网络深度增加时只能回顾有限的历史数据,在处理极长序列时效果有限;二是正则卷积层没有考虑时间视角,这可能导致未来信息的泄露。基于DCCN在时间序列预测任务中的优点[19-20],本文采用DCCN替代传统的正则卷积,以应对时间序列预测中正则卷积网络存在的缺陷。DCCN在时间序列预测中具有独特的优势。它通过扩大卷积核的接受域,使得模型可以更好地捕捉长期的依赖关系。同时,因果卷积保持了时间维度上的因果性,避免了未来信息泄露的问题,确保了模型在时间序列预测任务中的有效性和可靠性。
蒸馏结构通过在每两个自注意力模块之间插入卷积层和最大池化层来修剪输入长度,为后一个自注意力模块提供更紧凑的特征映射。为了进一步提升模型的性能和预测准确性,本文对蒸馏结构中的输出下采样进了压缩处理,将其压缩为输入序列长度的1/3。蒸馏结构自注意力层中Q和K的相关性热力图如图4所示。
图4 蒸馏结构自注意力层中Q和K的相关性热力图
图4(a)~(c)显示了传统蒸馏结构下每一层自注意力模块中Q和K的相关性,而图4(d)~(f)显示了使用输出下采样压缩处理方法后的Q和K相关性。通过对比可以清晰地观察到,压缩处理后蒸馏结构的效果更好、效率更高,保持了大部分特征的完整性,而且所提取的特征更加明显和集中。
2.2.1 相对位置编码
为了将自注意力机制无法捕捉的序列顺序信息纳入模型,传统Informer模型采用位置编码作为模型的输入特征之一。位置编码公式为
(3)
(4)
式中:PE——二维向量,用于保存位置编码信息;pS——元素在输入序列中的位置,pS=0,1,2,…,L-1;
i——在输入序列维度d上的索引。
将位置编码加入到自注意力机制,计算公式为
(5)
式中:Ai,j——加入位置编码信息的自注意力机制计算量;
Wq、Wk——Q和K的权重矩阵;
xi、xj——权重矩阵中第i个和第j个位置的元素;
Exi、Exj——xi和xj的数据嵌入向量;
Ui、Uj——第i个和第j个位置的位置嵌入向量。
因式分解后得到:
(6)
(7)
式中:Wk,E、Wk,R——键矩阵k基于数据和基于位置分离的键向量;
Ri-j——第i个和第j个位置的相对位置信息嵌入向量;
u、v——不包含位置信息的可学习参数向量,u∈Rd,v∈Rd。
2.2.2 季节特征编码
时间序列预测问题中,是否充分挖掘时间信息特征,对于预测结果的影响十分重大。因此,本文将时间数据分解为年、月、日、周、季节、节假日,采用Trigonometric编码方式进行特征编码,并融合相对位置编码共同作为模型的输入特征编码。
Adam优化器在深度学习领域被广泛应用。它能够根据梯度的变化情况动态调整学习率的大小,但缺点是过度依赖学习率调整和对小批量样本的不稳定性等。为了解决这些问题,本文引入了GC技术来改进Adam优化器。GC技术最初由YONG H W等人[23]于2020年提出,核心思想是将梯度集中到均值为零的位置,以避免梯度分布的不稳定性。通过对梯度的中心化处理,GC技术能够消除不同参数之间的相关性,使得训练过程更加平稳,并减少过拟合的风险。
假设梯度是通过反向传播得到,则对于梯度为∇wiZ(i=1,2,3,…,l)的权重向量wi,GC的作用过程可用ΦGC表示。其公式为
ΦGC(∇wiZ)=∇wiZ-μ∇wiZ
(8)
(9)
式中:Z——目标函数;wi——权重矩阵W∈Rm×n的第i列权重向量。
因此,只需要计算权重矩阵列向量的均值,然后去除每个列向量的均值。
实验数据来自上海闵行区某供热管网采集系统,包含2019年10月1日至2020年9月15日各用户信息。流量预测对象为系统中的某化工公司,采样间隔设为2 min,数据总数为18万。该化工公司的历史蒸汽流量如图5所示。
图5 某化工公司的历史蒸汽流量
蒸汽流量预测模型的实验框架如图6所示。其中,Informer_BEST模型为同时应用3种改进算法的模型。
图6 蒸汽流量预测模型的实验框架
在实验框架中,首先进行了数据预处理。由于数据采集可能受多种因素的影响,本文采用箱线图法来检测和排除历史蒸汽流量及特征中的异常值,并使用线性插值来填充缺失值。特征之间的数值范围差异较大,因此对数据进行了零均值归一化处理。通过数据预处理和相关性分析可以获得5个特征变量,包括日期、温度、天气、蒸汽压力和瞬时蒸汽流量。其中,日期列可作为时间信息输入到目标模型中。将数据分割成训练集、验证集和测试集时,采用传统的7∶1.5∶1.5的数据分割比例。在模型训练阶段,使用传统的Informer模型以及经过优化的Informer模型,在相同数据集上采用相同的超参数进行训练,并将预测结果进行记录和保存。
在模型验证阶段,采用误差评价方法对各个模型的预测结果进行对比分析,以确定性能最佳的模型。误差评价方法包括平均绝对误差EMA、均方误差EMS和均方根误差ERMS等指标,具体公式为
(10)
(11)
(12)
式中:N——预测总数,即预测序列长度;tn——实际流量值;yn——预测流量值。
在相同的数据集上,本文将传统的Informer模型与优化后的Informer模型进行了对比实验。其中对3种改进方法进行了消融实验,实验中,为5种模型设置了相同的超参数,如表1所示。
表1 模型超参数
各个模型在同一数据集上的评价结果如表2所示。其中,将最佳结果用粗体字标识。
由表2可以看出,3种方法对Informer模型的性能都有不同程度的提升。其中,引入相对位置和季节特征编码的方法对模型性能的提升效果最为显著,融合了3种改进方法的Informer_BEST模型在性能方面的总体表现最为出色。
5种模型的预测曲线如图7所示。
图7 5种模型的预测曲线
由图7可以看出,5种模型都成功地预测了实际数据的趋势,并且没有出现时间延迟问题。但相较于传统的Informer模型,Informer_BEST模型在拟合实际数据方面表现更好,这将对供热管网蒸汽调度提供很大的帮助。需要指出的是,这些模型在拟合实际数据中跳跃性较大的部分仍存在一定的不足。
本文将时间序列预测模型Informer应用于蒸汽管网预测领域,并引入了3种方法来改进Informer模型,进而提出了Informer_BEST模型。为了突出改进方法的有效性,对Informer_BEST模型进行了消融实验,并采用3种误差评价指标对实验结果进行了评价和分析。根据实验结果可知,Informer模型在供热管网蒸汽预测任务中表现良好,能够成功预测实际数据趋势,但在拟合实际数据方面存在一定的欠缺。通过使用3种方法改进模型,这一缺陷得到了改善。其中,相对位置和季节特征编码的改进方法表现最为突出,而且在解决拟合实际数据缺陷方面具有显著效果。模型预测效果的提升对供热管网蒸汽调度能够起到积极的指导作用,对于提高系统的安全性、减少能源浪费以及促进节能减排具有重要意义。