第四十五周:文献阅读+VMD+BiLSTM+encoder–decoder

目录

摘要

Abstract

文献阅读:基于注意力的双向LSTM和编码器-解码器的水质预测

现有问题

提出方法

创新点

方法论

1、EMD(经验模态分解)

2、VMD(变分模态分解)

3、VBAED模型

研究实验

数据集

数据预处理

评估指标

基准方法

实验结果分析

VDM实现(python)

总结


摘要

本周阅读的文献《Accurate water quality prediction with attention-based bidirectional LSTM
and encoder–decoder》中提出了一种结合了变分模式分解(VMD),双向输入注意力机制,具有双向LSTM(BiLSTM)的编码器,以及具有双向时间注意力机制和BiLSTM的解码器的混合预测方法VBAED,用来预测水质时间序列。VBAED从定义上看就是一种编码器-解码器模型,首先采用VMD对预测因子的历史数据进行分解,其分解结果与其他特征一起沿着作为输入。然后,采用双向输入注意机制,从两个方向的输入特征添加权重。VBAED采用BiLSTM作为编码器,从输入特征中提取隐藏特征。最后,通过具有双向时间注意机制的BiLSTM解码器获得预测结果。

Abstract

The literature "Accurate water quality prediction with attention based bidirectional LSTM and encoder decoder" read this week proposes a hybrid prediction method VBAED that combines Variational Mode Decomposition (VMD), bidirectional input attention mechanism, encoder with bidirectional LSTM (BiLSTM), and decoder with bidirectional time attention mechanism and BiLSTM to predict water quality time series. VBAED is defined as an encoder decoder model, which first uses VMD to decompose the historical data of prediction factors, and its decomposition results are used as input along with other features. Then, a bidirectional input attention mechanism is adopted to add weights from the input features in both directions. VBAED uses BiLSTM as the encoder to extract hidden features from input features. Finally, the prediction results are obtained through a BiLSTM decoder with bidirectional temporal attention mechanism.

文献阅读:基于注意力的双向LSTM和编码器-解码器的水质预测

Redirectingicon-default.png?t=N7T8https://doi.org/10.1016/j.eswa.2023.121807时间:2023

现有问题

  1. 由于监测技术的发展,水质数据变得非线性和不稳定,并受到许多因素的影响。传统的统计方法不能很好地感知细微的水质变化和捕捉大尺度水质序列的非线性特征,SVR等非线性模型在处理大量数据时会消耗大量资源。此外,大多数普通神经网络无法捕捉长期依赖性,
  2. 作为rnn的典型变体,LSTM可以避免传统rnn中存在的梯度爆炸和梯度消失。它可以有效地捕获长依赖关系,在自然语言处理和时间序列预测中经常用于编码。然而,LSTM不能从后往前编码信息。在时间序列预测中,从后到前的信息是隐藏的,这是LSTM作为编码器无法获得的。
  3. LSTM和编码器-解码器被广泛用于预测时间序列数据。但是随着水质数据的增加,它变得不稳定和高度非线性,尽管LSTM捕获了长期依赖性,但对于多特征预测任务,它不能区分不同特征的重要性。

提出方法

本文提出了一种混合预测方法VBAED来预测水质时间序列,VBAED结合了变分模式分解(VMD),双向输入注意力机制,具有双向LSTM(BiLSTM)的编码器,以及具有双向时间注意力机制和BiLSTM的解码器。VBAED的定义是一种编码器-解码器模型,它使用VMD作为模式分解,将BiLSTM与双向注意力机制相结合。具体地说,VBAED首先采用VMD对预测因子的历史数据进行分解,其分解结果与其他特征一起沿着作为输入。然后,采用双向输入注意机制,从两个方向的输入特征添加权重。VBAED采用BiLSTM作为编码器,从输入特征中提取隐藏特征。最后,通过具有双向时间注意机制的BiLSTM解码器获得预测结果。

创新点

  1. 采用BiLSTM作为编码器,从两个方向捕获特征。BiLSTM通过双向输入注意力机制进行改进,从两个方向独立地向输入添加注意力权重。
  2. 采用BiLSTM作为解码器,并结合双向时间注意机制来捕获长期依赖性,从而自适应地选择编码器在所有时间步长上的重要隐藏状态,并从两个方向对其进行解码

方法论

1、EMD(经验模态分解)

在实际测量数据时容易受外界环境影响,导致经在测量信号中产生趋势项。趋势项是指信号中周期大于采样长度的频率成分,通常表现为线性的或者慢变的趋势误差。提取和消除信号中存在的趋势项是信号预处理的一个重要环节,因为趋势项会严重影响信号时域相关分析和频域功率谱估计精度,严重的趋势项干扰会使低频谱严重失真。目前提取趋势项的方法例如差分法、低通滤波法和最小二乘拟合法等。这些方法通常需要预先明确信号中趋势项的类型,如线性趋势项、多项式或指数趋势项等,不适用于复杂变化的趋势项提。EMD方法是一种针对非平稳信号的分析方法。利用EMD进行趋势项提取可不考虑趋势项的类型,具有自适应性因此适用范围更广泛。

有模态函数 IMF

EMD过程实质上是对非平稳信号进行平稳化处理的一种手段,其结果是将信号中不同尺度的波动和趋势进行逐级分解,产生一系列具有不同特征尺度的数据序列,每一个序列称为一个固有模态函数 IMF。每一个 IMF必须满足2个条件:

  1. 在整个时程内极值点个数与过零点个数相等或最多相差1;
  2. 在任意时刻,由局部极大值点形成的上包络线和由局部极小值点形成的下包络线的平均值为零,即上、下包络线相对于时间轴局部对称。

4c7d6bb733f64c8b9d6425c21c0edd2e.jpeg

 EMD过程

cc9ae29429df4b1b979ba238e56b98d8.png

EMD的好处

  1. 对于一段未知信号,不需要做预先分析与研究,就可以直接开始分解。
  2. 这个方法会自动按照一些固模式按层次分好,而不需要人为设置和干预。 

EMD方法的缺陷 

  1. 提取趋势项必须要求原始信号本身满足可分解条件,如果可分解条件得不到满足,则会在 EMD 过程中产生模态混叠,导致不同频率成分共存于同一个 IMF 分量中,此时用分解余量作为趋势项会使趋势项提取不完全。
  2. 端点效应问题:在 EMD 分解中采用三次样条法求上下包络的平均值,由于所分析信号长度有限,信号的两端点不能确定是极值。使得上下包络在信号两端附近严重扭曲。端点效应同样会波及到分解余量中,导致趋势项提取不够精确。

2、VMD(变分模态分解)

VMD参考文献:Variational Mode Decompositionicon-default.png?t=N7T8https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6655981

VMD的作用是将构成一个信号的多个子信号分解出来。如下图所示,信号(a)经过VMD后分解成了三个模态(也即三个子信号),这三个模态正是构成信号(a)的三个子信号。

9bb64228b201432192324ed6a7ae9ba2.png

变分模态分解可以很好抑制EMD方法的模态混叠现象(通过控制带宽来避免混叠现象)。与EMD原理不同,该方法假设任何的信号都是由一系列具有特定中心频率、有限带宽的子信号组成(即IMF)。通过对变分问题进行求解,得到 中心频率与带宽限制,找到 各中心频率在频域中对应的有效成分,得到模态函数。VMD 的分解过程就是变分问题的求解过程,其算法主要包括 变分问题的构造和 变分问题的求解

VMD的求解过程主要包含两点约束:

  1. 要求每个模态分量中心频率的带宽之和最小;
  2. 所有的模态分量之和等于原始信号。

变分问题的构造

所谓变分问题,就是求泛函的极值。在VMD中,泛函指的是VMD约束变分模型,而要求的极值,就是“每个模态分量中心频率的带宽之和最小”。 

dce67cc3fe3c4703815912da89891a55.png

上式表示的变分问题,即求取“每个模态分量中心频率的带宽之和最小”时的模态函数eq?u_%7Bk%7D和中心频率eq?w_%7Bk%7D,其中eq?u_%7Bk%7D%3D%5Cbegin%7BBmatrix%7D%20u_%7B1%7D%2Cu_%7B2%7D%2C...%2Cu_%7Bk%7D%20%5Cend%7BBmatrix%7Deq?w_%7Bk%7D%3D%5Cbegin%7BBmatrix%7D%20w_%7B1%7D%2Cw_%7B2%7D%2C...%2Cw_%7Bk%7D%20%5Cend%7BBmatrix%7D。 

变分问题的求解

利用二次惩罚项和拉格朗日乘子法的优势,引入了增广拉格朗日函数,将上述约束变分问题转变为非约束变分问题,其中,eq?%5Calpha是罚参数,eq?%5Clambda是Lagrangian乘子。

ac7fd2da946b454285211adb234dba1f.png

首先初始化eq?u_%7Bk%7D 、eq?w_%7Bk%7Deq?%5Clambda,然后通过迭代对于所有eq?%5Comega%20%5Cgeq%200,根据VMD算法公式更新eq?u_%7Bk%7D 和 eq?w_%7Bk%7D

更新模态函数eq?u_%7Bk%7D

1197b1b2f9c84009ac967a479601ea77.png

更新中心频率eq?w_%7Bk%7D

a3366963863c42498cc90660e4a07c73.png

 根据相关的算法更新拉格朗日乘数eq?%5Clambda

b240ce1c26ec403986021e09b1ed70af.png

不断重复更新直到满足下面的迭代约束条件,即对于所有的eq?%5Comega%20%5Cgeq%200,解析信号的单边谱只包含非负频率。

1bf06cf637814c4bae7492fe10ce2d52.png

则停止迭代,否则继续迭代更新三个参数的值,以上便是求解每一个模态的单步骤。VMD可以分解获得包含多个不同频率尺度且相对平稳的模态(子序列),适用于非平稳性的序列。

VMD的好处

  1. 相对于EMD,VMD对采样和噪声具有更强的鲁棒性。
  2. 相对于EMD,VMD在分解复杂信号方面效果更好。
  3. VMD技术具有可以确定模态分解个数的优点,其自适应性表现在根据实际情况确定所给序列的模态分解个数。

VMD的缺陷 

  1. 与EMD一样,需要手工设定模态个数,模态个数过多过少都会影响分解精度。

3、VBAED模型

VBAED通过VMD对水质时间序列中某一预测因子的历史数据进行分解,降低了输入数据的非线性和波动性,提高了预测精度。所提出的双向输入注意机制可以自适应地选择输入中的重要特征。BiLSTM可以捕获更多的长期依赖关系。双向时间注意机制提取时间维度上的重要特征,并BiLSTM作为解码器获得预测值。

8d4673b6a62c431e8872bc0786682348.png

输入双向注意力机制

为了更好地捕捉重要特征,本文为BiLSTM设计了一个输入注意机制。注意力机制可以自适应地从大量的特征中选择重要的特征并关注它们。注意力权重表示信息的重要性。由于LSTMF和LSTMB是两个具有独立参数的LSTM单元,因此我们分别为它们添加了输入注意力机制层。前向输入注意层用于LSTMF,后向输入注意层用于LSTMB。LSTMF和LSTMB从不同的方向进行编码,并且输入注意机制侧重于不同的特征。为它们中的每一个独立地设计单独的输入注意机制的优点在于它们可以自适应地提取两个方向上的重要特征,这可以提高模型的鲁棒性和预测精度。

2589026cfebf4f35a88b11a579149fc5.png

在BiLSTM中的输入注意力机制中,对于特征X,我们引用LSTMF单元中的eq?h_%7Bt-1%7D%5E%7BF%7Deq?c_%7Bt-1%7D%5E%7BF%7D 去构建前向输入注意机制,引用LSTMB单元中的 eq?h_%7Bt+1%7D%5E%7BB%7Deq?c_%7Bt+1%7D%5E%7BB%7D 去构建后向输入注意机制。其中eq?a_%7Bt%7D%5E%7BF_%7B1%7D%7D 和 eq?a_%7Bt%7D%5E%7BB_%7B1%7D%7D 分别表示在时间步长 eq?t 的前向注意力权重和后向注意力权重, 

BiLSTM模块

BiLSTM由两个独立的LSTM单元组成。第一个LSTM单元称为LSTMF,它从前到后对信息进行编码。第二个LSTM单元称为LSTMB,它从后到前对信息进行编码。然后,将来自两个方向的信息进行组合,得到时间步长t处编码器的隐藏状态eq?h_%7Bt%7D%5E%7BF%7D。在时间步t,LSTMF基于在时间步t-1的隐藏状态eq?h_%7Bt-1%7D%5E%7BF%7D和单元状态eq?c_%7Bt-1%7D%5E%7BF%7D,以及Encoder的输入eq?%5Ctilde%7BX%7D_%7Bt%7D%5E%7BF%7D三者计算它的隐藏状态eq?h_%7Bt%7D%5E%7BF%7D。LSTMB基于隐藏状态eq?h_%7Bt+1%7D%5E%7BB%7D、单元状态eq?c_%7Bt+1%7D%5E%7BB%7D和输入eq?%5Ctilde%7BX%7D_%7Bt%7D%5E%7BB%7D计算其隐藏状态eq?h_%7Bt%7D%5E%7BB%7D。因此前向隐藏状态eq?h_%7Bt%7D%5E%7BF%7D和后向隐藏状态eq?h_%7Bt%7D%5E%7BB%7D组合成BiLSTM的隐藏状态。LSTMF和LSTMB是两个独立的LSTM单元,它们不共享参数。

48061cc8a3ad4fff91fa4fd76d367ec4.png

模型总流程 

f2788649fca843a4be3efc3c41cd245c.png

研究实验

数据集

为了评估不同时间序列预测方法的性能,采用了两种不同的真实数据集,即BTH数据集和亚拉巴马数据集,分别为多特征和单特征数据集。

  1. BTH数据集收集自2018年9月至2021年12月期间京津冀地区河流中的自动水质站。每4 h采集一次,涉及pH、TN、TP。在实验中,TN被用作基础事实,pH和TP被用作特征。对于少量的缺失值,采用线性插值的方法进行补充,总共有7200个数据样本。我们将前5000个数据样本作为训练集,接下来的1000个数据样本作为验证集,剩下的1200个数据样本作为测试集。
  2. 亚拉巴马数据集是2017年5月至2019年8月美国亚拉巴马河一段的水质数据。数据收集间隔为一小时。与BTH数据集不同,亚拉巴马数据集只有一个DO特征,即亚拉巴马数据集中的目标值。对于数据集中的少量缺失值,采用线性插值方法进行补齐。在亚拉巴马数据集中,我们总共有19862个数据样本。在这项工作中,我们将前15889个数据样本作为训练集,随后的1986个数据样本作为验证集,最后的1987个数据样本作为测试集。

550aa1fe329c4aa6b1f253794a791ab5.png

数据预处理

采用Savitzky Golay(SG)滤波器对BTH数据集中TN、TP和pH的时间序列数据进行平滑处理,以减少噪声的干扰和局部异常值对整体趋势的影响。对于亚拉巴马数据集,我们直接预测目标DO值而不进行任何预处理。

评估指标

为了验证VBAED的性能,采用三个评估指标来比较预测精度,即均方根误差(RMSE)、平均绝对误差(MAE)和决定系数(R2)。

基准方法

ARIMA(2019)、SVR(2020)、极端梯度提升(2021)、反向传播(2016),LSTM(2019),BiLSTM(2022)和DARNN(2017年)。除此之外还将VMD添加到每个基线方法中以分解数据,从而产生VMD-LSTM(2019)、VMD-BiLSTM和VMD-DA-RNN。

实验结果分析

1、验证VBAED的准确性

用训练集对VBAED进行训练,对于BTH数据集,预测曲线和地面实况曲线几乎相同,这表明VBAED在多特征数据集中是有效的。对于亚拉巴马数据集,VBAED在单特征数据集中也工作得很好。

fcfd3888f0b343f79ca336c9f84934b1.png

在BTH数据集上的水质时间序列预测结果

d94d686b2bcd4dcba08b9351c1e7c3ac.png

在亚拉巴马数据集上的水质时间序列预测结果

2、验证VBAED的鲁棒性和有效性

为了进一步,采用RMSE,MAE和R2将其与其他10个对等体进行比较,(DA-RNN只能用于多特征数据集)结果表明,VBAED在BTH和亚拉巴马数据集上都获得了最好的结果。此外,在BTH数据集中,当不采用VMD分解时,LSTM,BiLSTM和DA-RNN的RMSE分别为0.2093,0.1657和0.1259。采用VMD分解后,VMD-LSTM、VMD-BiLSTM和VDM-DARNN的RMSE分别为0.1688、0.1475、0.1156。在亚拉巴马数据集中,当不采用VMD分解时,LSTM和BiLSTM的RMSE分别为0.1957和0.1866。采用该方法后,VMD-LSTM和VMD-BiLSTM的RMSE分别为0.1724和0.1555。结果表明,VMD有效地把握了水质数据的演变趋势,并将其分解为关键信息模式和噪声模式,有助于模型训练,提高了预测精度。在BTH和亚拉巴马数据集上,LSTM的RMSE都比BiLSTM差,这表明双向LSTM结构克服了传统LSTM容易忽略从后到前的信息,导致相关信息丢失的局限性。

f89dfc975dd846aba1ff0681d0ad653b.png7648cc25c44a4469aab3b0d142cb8c57.png

3、验证双向输入注意机制和双向时间注意机制的效果

在两个数据集上进行了消融实验。仅应用双向输入注意机制或双向时间注意机制会导致预测精度显著降低。在BTH和亚拉巴马数据集上,采用双向输入注意的模型的RMSE分别为0.0705和0.1313,而采用双向时间注意的模型的RMSE分别为0.0768和0.1368。这表明双向输入注意机制在VBAED中比双向时间注意机制起着更重要的作用。对于原始的长序列数据,网络很难直接捕捉到重要信息。双向输入注意机制使VBAED能够区分原始特征的重要性,从而加强重要特征,削弱不重要特征。此外,它使VBAED中的编码器能够获得更多有用的信息。VBAED采用双向输入注意机制提取相关特征,采用双向时间注意机制选择所有时间步的相关隐藏状态。因此,VBAED在BTH和亚拉巴马数据集的所有方法中实现了最高的预测精度。

c7d33694878045b49817e055337253ef.png

05299361124a4ca2852b73a4b15cd22f.png

VDM实现(python)

import numpy as np
import matplotlib.pyplot as plt
from vmdpy import VMD

# 时域0到T
T = 1000
fs = 1/T
t = np.arange(1,T+1)/T
#通过指定起始值和终值来创建一维数组
freqs = 2*np.pi*(t-0.5-fs)/(fs)

#中心频率
f_1 = 2
f_2 = 20
f_3 = 40

#模型
v_1 = (np.cos(2*np.pi*f_1*t))
v_2 = 1/4*(np.cos(2*np.pi*f_2*t))
v_3 = 1/16*(np.cos(2*np.pi*f_3*t))

#用于可视化
fsub = {1:v_1,2:v_2,3:v_3}
wsub = {1:2*np.pi*f_1,2:2*np.pi*f_2,3:2*np.pi*f_3}
# 包括噪声的复合信号
f1=v_1 + v_2 + v_3
f = v_1 + v_2 + v_3 + 0.1*np.random.randn(v_1.size)
f_hat = np.fft.fftshift((np.fft.fft(f)))

fig1 = plt.figure()
plt.xlim((0,1))
for key, value in fsub.items():
    plt.subplot(3,1,key)
    plt.plot(t,value)
fig1.suptitle('Original input signal and its components')


#VDM的参数
alpha = 2000       
tau = 0.           
K = 3             
DC = 0           
init = 1          
tol = 1e-7
#运行实际的VMD代码
u, u_hat, omega = VMD(f, alpha, tau, K, DC, init, tol)
# 分解模式的简单可视化
plt.figure()
plt.plot(u.T)
plt.title('Decomposed modes')

fig4 = plt.figure()
plt.loglog(freqs[T//2:], abs(f_hat[T//2:]), 'k:')
plt.xlim(np.array([1, T//2])*np.pi*2)
for k in range(K):
    plt.loglog(freqs[T//2:], abs(u_hat[T//2:,k]), linestyles[k])
fig4.suptitle('Spectral decomposition')
#画出分解的三个子信号
plt.legend(['Original','1st component','2nd component','3rd component'])

fig5 = plt.figure()
for k in range(K):
    plt.subplot(3,1,k+1)
    plt.plot(t,u[k,:], linestyles[k])
    plt.plot(t, fsub[k+1], 'k:')
    plt.xlim((0,1))
    plt.title('Reconstructed mode %d'%(k+1))
    
plt.show()

fd424c860d9c40d0827a570c9e438dae.png 1663067629fd48f9a1193355e68971de.png

c65b121838f440af9b0a5a7fcdcee77f.png

总结

这周通过文献学习了解了EMD和VMD两种模态分解方法,模态分解方法可对预测因子的历史数据进行分解,其中VMD分解可以降低时间序列的非线性和波动性,不同于EMD,它可以避免模式混合的负面影响。不同的模态分量对预测结果有不同的影响,通过将它们分离并与输入注意机制相结合,VBAED具有自适应选择重要模式的能力,从多个模式中过滤掉噪声模式,并关注包含重要信息的模式,这将引导神经网络更专注地学习更复杂的特征,从而能够提高预测精度。

  • 23
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值