陈 霖, 周 宇
(南京航空航天大学 计算机科学与技术学院, 南京 210016)
阀冷系统是换流阀的一个重要组成部分, 它将阀体上各元件的功耗发热量排放到阀厅外, 保证晶闸管运行结温在正常范围内. 阀冷系统运行数据主要用于监测采用水冷的换流阀的冷却效果是否有效, 分为内冷水系统和外冷水系统. 其中冷却水进阀温度是反映阀冷系统换热性能的重要指标, 若换热性能出现异常,将引起冷却水进阀温度上升, 严重时将达到换流阀运行允许温度的最大值, 导致换流阀强迫停运事件的发生. 进阀温度都是以时间序列形式存储, 可以使用时序分析方法对其进行预测, 实现对设备异常运行状态的提前预警, 将有效提高阀冷系统内设备运行的安全性和可靠性.
时间序列预测在帮助人们进行资源管理和科学决策的过程中扮演着非常重要的角色, 其目的在于研究如何根据历史观测数据对未来进行准确预测. 经典的时间序列预测模型通过给定最近一段时间的历史数据来预测未来. 常用的方法包括Box-Jenkins 方法[1]和ARIMA 模型[2]. 在实践中, 预测问题通常更为复杂, 例如, 输入通常包含动态历史特征和长期依赖, 输入和输出之间存在线性和非线性关系等. 然而, 传统的自回归方法[3–5]难以捕获序列数据中存在的这些关系. 解决现有方法在时间序列预测中的这种局限性是本文的重点.
最近, 深度神经网络已经在时间序列预测中得到了广泛应用, 常用于预测多个时间步以后的数据, 预测的时间步越远, 预测难度越大. 循环神经网络(RNN)和它的变体长短期记忆网络(LSTM)被提出用于对复杂序列数据建模, 例如自然语言[6], 声音信号[7]和视频信息[8]. LSTM 已经被广泛运用在了预测任务中[9–11], 在捕获动态时间序列中的重复模式方面表现出强大的能力.对于大多数深度学习实践者来说, 序列建模等同于循环神经网络, 然而文献[12]通过大量实验表明, 基于卷积架构的时间卷积网络(TCN)在多个序列建模任务上表现得比循环神经网络更好. TCN 由于其简单性和适用于长时间序列的特点在时间序列建模任务上受到了广泛关注[13,14]. 本文试图将LSTM 和TCN 结合起来使用, 以综合它们的优势.
大多数神经网络模型没能有效地将时间本身作为特征, 通常假设数据是同步的, 即按相等时间间隔采集.为了帮助神经网络更好地利用时间特征, 一些研究者针对特定问题提出了手动提取时间特征的方法[15,16], 但这些方法代价高且需要问题相关的专业领域知识. 最近许多研究旨在提出通用的时间序列表示学习方法[17–19],通过模型自动提取时间特征, 从而避免手工提取带来的问题.
此外, 在各种确定性的点预测方法的基础上, 考虑到多种不确定性因素, 开展了大量概率性区间预测的研究工作, 即预测目标的完整分布来量化预测的不确定性, 从而估计决策的风险. 对于换流站内的数据来说,如果预测值高于阈值就需要提前报警, 从预测分布中选取不同程度的估计值依赖于阈值设定的严格程度.分位数回归已被广泛用于对不同的分位数进行预测,以便在不做分布假设的情况下对目标分布进行估计.均值回归又称最小二乘法, 是分位数回归的一种特殊情况, 它关注的是条件平均数, 而分位数回归可以扩展到任意分位数. 最近的许多预测模型[20,21]都通过分位数损失函数来实现分位数估计.
本文基于表示学习和组合网络的思想, 结合时间序列的预测分析方法, 提出了一个深度学习框架T2VNN(Time2Vec neural network)并将其应用于阀冷系统进阀温度的预测研究, 如图1 所示. 首先使用经典的时间表示学习方法Time2Vec[22]对进阀温度的周期信息进行特征提取, 其次将TCN 和双向LSTM 构成组合网络对提取后的信息进行编码. 在结果的输出部分添加了传统的自回归线性模型, 使得非线性神经网络对于进阀温度数据规模的变化具有更强的鲁棒性. 最后使用分位数损失函数对模型进行评估, 从而产生不同分位数的预测结果. 实验表明本文方法在真实阀冷系统进阀温度数据集上的预测效果优于传统的时间序列预测方法.
图1 T2VNN 架构图
在自然语言处理领域已经存在了大量关于表示学习的研究成果[23,24], 当处理对象变成时间序列的时候,许多研究者同样提出了一些通用的表示学习方法, 进一步提升了模型对于时间序列的处理能力. Fortuin 等[25]对时间序列的演化进行表示, 同时关注了表示的可解释性. Hyvärinen 等[26]通过表征对时间序列中大小均匀的分项来区分它们. Wu 等[27]提出一种基于核的估计方法来计算特征嵌入.
深度神经网络使用过去观察到的时间序列来预测未来未知的时间序列. 其中, 循环神经网络在多个时间步中维持隐含状态信息, 早期的成果主要包括使用原生的RNN 模型[28]和组合了ARIMA 和多层感知机的混合模型[29]等. Dasgupta 等[30]将RNN 和动态玻尔兹曼机组合在一起. 随着基于卷积架构的TCN 及其相关模型被提出, 一些研究开始将TCN 用于时间序列预测.Hewage 等[13]将TCN 用于天气预测, 实验表明TCN 对比LSTM 和其他经典的机器学习方法表现更好. Li 等[31]结合胶囊网络和TCN 用于城市交通预测.
Salinas 等[32]提出了DeepAR 概率预测模型, 通过事先假设分布来预测未来. DeepAR 以LSTM 作为基础模型, 通过最大化似然函数来训练. 在预测的过程中,需要从估计的参数分布中多次抽取样本, 作为预测的经验分布. 本文方法与DeepAR 的不同之处在于, 使用了更贴近实际的分位数回归[33], 这是一种更高效的训练策略, 通过将预测问题表示为分位数回归来直接生成目标变量的分位数估计. Zheng[34]使用梯度提升方法[35]来最小化分位数回归的损失函数.
在这一部分中, 首先对阀冷系统进阀温度预测问题进行形式化的建模, 然后在接下来的部分中讨论本文提出的T2VNN 模型的架构细节(图1). 最后, 对分位数回归的目标函数和优化策略进行介绍.
中国南方电网阀冷监测设备有很多, 每个设备都有各自的监测数据, 需要对所有的监测数据按设备进行划分, 并按照时间日期进行排列, 筛选出拥有完整时序性的进阀温度数据列表. 首先给定一系列通过采集得到的进阀温度序列数据Y={y1,y2,···,yT},y1,y2,···,yT∈R, 实际应用中以滚动预测的方式来预测未来一段时间的数据. 即在给定{y1,y2,···,yT}的前提下预测当前时间点h个时间步以后的数据, 这里记为yT+h,h的大小由实际应用背景的需求决定. 同样地, 为了预测下一个时间点yT+h+1, 需要假定{y1,y2,···,yT,yT+1}已经可以获取. 所以, 本文将当前时间点T的输入矩阵定义为XT={y1,y2,···,yT}∈RT. 在接下来的部分中将详细介绍T2VNN 模型的各个构建模块.
表示学习方法Time2Vec[22]作为T2VNN 模型的embed 层, 目的是对进阀温度中的周期性和非周期性特征进行特征提取, 使神经网络更好地捕获其中的规律性特征. 对于给定时间序列 τ和输出维度k+1,Time2Vec 的计算公式定义为:
其中,t2v(τ)[i]代表t2v(τ)的第i个输出向量,F是周期性激活函数, ωi和 φi是可学习的参数. 在实验中, 为了使算法能够捕获时间序列中存在的的周期性模式,F选定为正弦函数,i=0对应的公式用于捕获时间序列中的非周期性模式. Time2Vec 将进阀温度时间序列分解出多个代表不同周期性以及非周期性的时间序列特征. 将这些细化的特征传入到由TCN 和双向LSTM 构成的组合网络中, 进一步提取其中的规律性特征.
图2 TCN 模型
(1) 时间卷积网络TCN
TCN 由扩张因果卷积构成. 其中, 卷积操作使用一维卷积, 通过在空缺位置补零将任意长度的多维特征映射为相同长度的输出向量, 并且使用因果卷积在映射的过程中确保当前时间点的数据只能通过历史数据计算得到. 为了在不增加网络复杂度的情况下扩大对进阀温度历史数据的接受范围, 进一步融合了扩张卷积的思想形成扩张因果卷积. 更形式化地来说, 对于多维序列特征输入x∈RT×(k+1)(即Time2Vec 的输出结果)和卷积核函数f:{0,···,k−1}→R, 在序列元素s上的扩张卷积操作F定义为:
其中,d是扩张因子,k是卷积核的大小,s−d·i代表沿着过去的方向. 如图2 所示, 扩张因子d随层数的增加呈2 的指数级增加, 在确保顶层输出能够表示所有输入的同时扩大了网络的接受范围. 最终的输出取最后一层的最后一个时间点的输出, 同时为了提取多组进阀温度序列存在的依赖关系, 构造多通道卷积, 拼接形成最终的输出向量.
(2) 双向长短期记忆网络BiLSTM
LSTM 能够缓解RNN 训练时产生的梯度消失问题,更好地捕获时间序列的长期依赖模式. 因为进阀温度时间序列不仅存在正向的依赖关系, 还有可能存在相应的逆向关系, 所以在这里使用了双向LSTM(BiLSTM),可以让输入特征在正序和逆序两个方向上进行传播,从而为预测建立更多的潜在特征. 形式上, 将每个时间点的输入记为xt, 隐含状态记为ht, 内部门控输出记为it,ft,ot和ct, LSTM 循环单元的计算公式如下:
图3 BiLSTM 模型
在模型的输出部分, 为了有选择性地关注到每个时间点的输出信息, 引入了Attention 机制[36]. 在当前时间点t的注意力权重 αt可以计算为:
其中,Ht=[ht−T,···,ht−1]是每个时间点隐含状态的堆叠矩阵,AttnScore这里代表点乘操作. 最后将加权后的上下文向量ct=Htαt和最后一个时间点的隐含状态ht−1拼接后通过线性映射得到双向LSTM 的最终输出向量htL, 对应公式如下:
由于神经网络的非线性性质, 输出尺度对于输入尺度的变化不敏感, 并且由于进阀温度时间序列存在线性和非线性的多种上下文关系, 数据规模随时间也会发生较明显的变化. 本文借鉴LSTNet[37]将序列分解成线性和非线性部分, 非线性部分通过Time2Vec 进一步提取其中的周期性和非周期性模式, 线性部分通过自回归(AR)模型进行特征提取. 将AR 部分的预测结果记为htL∈R, 系数记为War∈Rw和bar∈R, 其中w是在输入矩阵上输入窗口的大小, 公式如下:
进阀温度本身存在众多非线性特性以及非均匀分布的残差, 不适合使用平均绝对误差(MAE)作为损失函数, 所以本文使用平均绝对偏差(MAD)损失函数作为模型训练的目标函数, 以实现分位数预测, 定义为每个未来时间点t的标准分位数损失的和, 形式化如下:
本文使用5 种方法(包括本文方法)在电网领域数据集上针对时间序列预测任务展开实验. 所有的数据和实验代码可以从网站https://github.com/Caleb411/T2VNN 中获取.
本文使用如下方法展开对比实验:
(1) Benchmark 直接使用历史输入最后一个时间点的值作为预测值.
(2) Autoregressive 自回归模型是传统时间序列预测方法的典型代表.
(3) Gradient-Boosting 是一个经典的机器学习算法, 可用于回归和分类问题. 为了对比这里使用分位数损失函数.
(4) DeepAR 是基于LSTM 的概率预测模型, 为了对比使用其基于分位数回归的形式.
本文使用两个传统的评估指标, 定义如下:
(1) 相对平方根误差(RSE):
(2) 经验相关系数(CORR):
实验数据集valve (https://github.com/Caleb411/T2VNN/tree/main/data)是某电网换流站阀冷系统中内冷水系统各项指标的真实数据, 数据的采集频率是半小时一次, 时间从2017 年12 月3 日到2019 年7 月3 日,一共包含29045 个时间点. 该数据集包含4 个维度的时间序列, 分别表示进阀温度、出阀温度、进阀压力和冷却水电导率随时间的变化情况. 其中进阀温度是需要重点关注的指标, 它的数值变化对于换流站内设备的安全性存在的影响较大, 也是本文需要预测的对象.
为了更直观地展示进阀温度随时间的变化情况,绘制如图4 所示的折线图. 从图4 中可以看出, 除了一些明显的极端值外, 进阀温度随时间的变化呈现出一定的周期性. 为了使用更清晰的方式对重复模式进行检验, 进一步绘制自相关函数(ACF)图如图5 所示. 自相关函数描述了进阀温度当前值与其过去值之间的相关程度, 包括直接和间接的相关性信息. 时间序列包含长期趋势变动、季节变动、循环变动和不规则变动,ACF 在寻找相关性时会综合考虑所有这些变动, 它的函数定义如下:
图4 进阀温度折线图
其中,yt表示一系列进阀温度数据, µ是平均值, σ2是方差, 这里采用经验无偏估计量来计算自相关性. 从图5中可以看出, 进阀温度时间序列具有高度自相关性的重复模式. 这些观察结果对于后续不同方法实验结果的分析非常重要, 是判断该数据是否适合建模的前提.
图5 进阀温度自相关函数图
在将数据输入模型之前, 还需要一些预处理操作.从图中可以看出进阀温度随时间变化幅度较大, 需要将它们整合到统一的范畴下, 然后才能进行后续的建模操作. 这里使用标准化的方式, 目的是将原始数据分布转化为均值为0 方差为1 的标准正态分布. 之后将原数据集依据6:2:2 的比例按时间顺序划分为训练集、验证集和测试集. 接下来将对实验过程中涉及的一些细节进行说明.
所有方法首先都需要通过滑动窗口的方式批量采集数据, 形成<输入, 输出>的数据对, 滑动窗口的长度T的取值范围设置为{22, 23, ···, 26}, 实验中根据模型在验证集上的预测效果进行调整. 对比模型Benchmark和Autoregressive 不包含超参数, Gradient-Boosting 使用默认参数, 其中关键超参数梯度提升阶数为100, 树的最大深度为3. 本文模型超参数配置如表1 所示, 其中k是表示学习Time2Vec 部分的维度, filters 和kernel_size 分别表示组合网络中TCN 的卷积通道的数目和卷积核的长度. 组合网络中双向LSTM 的hidden_size表示隐含状态的长度, 和TCN 中的filters 是相似的概念, 所以这里将它们的值设置为相同. 同时, 对比模型DeepAR 的隐藏单元长度也设置为hidden_size, 使模型复杂度与本文模型保持一致. 由于BiLSTM 是双向的,所以它经过Attention 机制后最终的输出长度output_size是hidden_size 的两倍. 本文方法自回归层的输入窗口大小w在不超过滑动窗口T的前提下从{3, 6, 9, 12}中选取. 最后, 在模型训练的过程中, batch_size 和epochs分别表示数据一次输入的批量大小和迭代次数, 所有对比模型保持一致.
表1 超参数配置
本文使实验从两个角度出发, 一个是不同的预测时间步h∈{3, 6, 9, 12}, 另一个是不同的分位数q∈{0.01, 0.25, 0.5, 0.75, 0.99}, 并在测试集上评估方法的预测性能. 如表2 和表3 所示, 粗体表示每列中最好的评估结果. 表2 总结了所有方法在不同预测时间步上的评估结果, 预测的时间步越长, 预测难度越大, 此时的分位数统一设置为0.5. 从表中可以看出, 本文方法T2VNN 的预测性能明显优于其他方法, 并且在所有的预测时间步中都占据优势. 此外, 当预测时间步为3 时, 本文方法的RSE相比于神经网络基准DeepAR降低了12.8%, 因为DeepAR 虽然考虑到了序列中存在的长期依赖信息, 但是没能捕获到可能存在的短期局部依赖模式, 而本文方法结合了TCN 的思想解决了该问题. 同时也表明本文方法中的Time2Vec 成功提取到了进阀温度中存在的复杂周期性重复模式, 并且该框架设计对于预测时间步较远的情况依然有效.
表2 对比实验不同预测时间步评估结果
表3 对比实验不同分位数评估结果
表3 总结了所有方法在不同分位数上损失函数的值, 此时的预测时间步统一设置为3. 从表中可以看出,Benchmark 和Autoregressive 由于缺乏分位数预测能力在所有分位数上表现都是最差的. Gradient-Boosting和DeepAR 由于拥有较强的分位数感知能力性能有所提升. 本文方法T2VNN 在所有分位数上损失函数的值都是最低的, 说明T2VNN 在多种不同的分位数下适应能力更强, 表明使用平均绝对偏差(MAE)作为损失函数的正确性. 为了将预测结果可视化, 便于形象地观察预测效果, 在测试集中选取500 个连续时间点的数据,将预测结果绘制如图6 和图7 所示. 图6 中展示了分位数为0.5 (即自回归预测), 预测时间步为3 的预测结果, 其中蓝线代表预测值, 黑线代表真实值. 图7 展示了不同分位数的预测结果. 红色区域的下界和上界分别表示分位数0.25 和0.75 的预测结果; 黄色区域的边界表示分位数0.01 和0.99 的预测结果. 从图中可以看出, 本文方法T2VNN 能够捕获到未来序列数据中的时间模式和趋势变化.
图6 进阀温度自回归预测结果
图7 进阀温度分位数预测结果
为了衡量本文T2VNN 框架中一些部分对于模型整体性能的贡献, 设计了相应的消融实验, 即每次从原方法中移除某一个组件进行实验. 首先, 将移除了不同组件后的T2VNN 命名如下.
(1) T2VNNw/oT2V: T2VNN 模型移除时间序列表示学习方法Time2Vec.
(2) T2VNNw/oAttention: T2VNN 模型组合网络部分移除双向LSTM 中的Attention 层.
(3) T2VNNw/oAR: T2VNN 模型移除与表示学习和组合网络并行的自回归层.
移除部分组件会减少模型的参数量, 需要调整部分超参数使得所有模型的参数量相似. 表4 总结了所有方法在不同预测时间步上的评估结果, 分位数设置为0.5, 粗体为两个评估指标在每列中最好的结果. 从表中可以看出, 去除Attention 或AR 部分后, 模型的性能在所有预测时间步上均出现一定程度的下滑. 去除T2V 部分后, 除了预测时间步为12 时RSE的值外, 其他情况下也都出现了下滑. 最后, 为了进一步验证本文模型中添加自回归层的必要性, 选取200 个连续时间点的数据将T2VNNw/oAR 和T2VNN 的预测结果绘制如图8 和图9 所示, 其中蓝线代表预测值, 黑线代表真实值. 从图中可以看出两者预测的差异主要体现在峰值处, 除去自回归层后模型对于数据趋势的变化不敏感, 自回归层能够在一定程度上改善模型对于数据趋势的捕获能力. 综上所述, 本文方法中的几个关键组成部分对模型整体性能均存在贡献.
表4 消融实验不同预测时间步评估结果
图8 T2VNNw/oAR 预测结果
图9 T2VNN 预测结果
本文针对阀冷系统进阀温度预测问题提出了一个深度学习框架T2VNN 模型. 通过结合表示学习方法Time2Vec 和组合网络的思想, 同时在输出部分添加了自回归模型, 将模型预测过程分解为线性和非线性部分, 用于电网领域阀冷系统中进阀温度的预测研究. 其中组合网络部分结合了TCN 和双向LSTM 的优势, 共同捕获序列中存在的依赖关系. 本文方法在多个预测时间步和分位数预测中性能均超过多个典型模型, 成功捕获到了进阀温度历史数据中的周期性与非周期性重复模式, 以及相应的趋势变化. 最后, 通过消融实验证明了本文方法中一些关键组件对整体性能均存在贡献.