基于TG-LSTM神经网络的非完整时间序列预测

2022-06-21 08:10陈中林杨翠丽乔俊飞
控制理论与应用 2022年5期
关键词:氨氮神经网络预测

陈中林,杨翠丽,乔俊飞

(北京工业大学信息学部;计算智能与智能系统北京市重点实验室;智能环保北京实验室;北京市人工智能研究院,北京 100124)

1 引言

时间序列预测可以通过历史数据对未知系统进行建模并预测未来数值,已被广泛应用到各领域中[1-4].在时间序列预测中,通常假设数据集是不含缺失的完整数据,然而,在实际数据记录过程中的某些意外因素,如设备故障、通信中断、人为误删除等原因会致使获取的数据含有缺失值,从而形成含缺失值的非完整数据[5-7].传统时间序列预测模型一般由完整数据驱动,若将非完整数据直接输入模型会造成输入不均匀和偏移等问题,从而影响模型预测精度.因此,研究非完整时间序列预测是目前的一个重要方向[8-10].

国内外学者对非完整时间序列预测问题进行了广泛研究.目前,应用最广泛的是先对非完整数据进行预处理得到完整数据,然后基于完整数据来驱动建立的时间序列预测模型的两阶段方法.这类方法更侧重于研究数据预处理阶段,其主要有缺失数据删除和填补两种方式.数据删除直接丢弃缺失部分,只留下非缺失部分.然而,当数据缺失率较高或数据间关联性较强时,该方法会丢失大量有用信息,导致处理后的数据偏离原分布.数据填补方法是在原数据上对缺失数据进行估计和填充,常用方法有前向填补,均值填补和样条插值等[11-13].这些方法主要利用数据的局部分布特性来对缺失数据估计,但易受数据局部分布和噪声干扰.因此,为充分发掘数据内部的关系,各种基于统计机器学习的方法被提出.例如,K近邻填补方法[14]、最大期望算法[15]与矩阵分解算法[16]等.此外,还有基于神经网络的方法,如生成对抗网络[17-19]由于其对抗学习范式而被大量应用到数据填补中.以上方法虽实现对缺失数据的填补,但未将数据填补和预测有效统一,在实际中可能取得次优解[20-21].

近年来,递归神经网络(recurrent neural networks,RNNs)由于其强大的时序建模能力而被广泛用于时间序列预测领域.其中,长短期记忆(long short-term memory,LSTM)神经网络[22]由于避免了梯度消失和爆炸的问题[23-24]成为RNNs中应用最成功的变体之一.然而,传统LSTM神经网络在处理非完整时间序列数据时性能也会受到影响.对此,文献[10]提出一种门控递归单元预测模型,该模型通过将观测数据均值和最新观测值加权来代替缺失值,实现了数据填补和预测的同步.Cao[25]等提出双向递归推算模型,将填补任务与预测任务同时训练,实现了非完整数据直接预测.文献[20]将残差网络与LSTM神经网络结合,通过对输入值动态修正,有效降低填补累积误差.此外,通过在LSTM神经网络中加入特殊的门结构也可预测非完整时间序列[8].以上方法虽能直接对非完整时间序列进行预测,但还可以通过提取LSTM神经网络的内部记忆信息来直接预测非完整时间序列.

针对以上问题,本文利用时间序列的内部相关性和LSTM神经网络的时序建模能力,提出一种带时间门的长短期记忆(long short-term memory with time gate,TG-LSTM)神经网络模型.首先,对非完整时间序列数据进行特征表示,并提出一种能同时对输入和输出实时预测的TG-LSTM单元结构;其次,根据TGLSTM单元结构,设计该网络的前向传播算法,实现输入填补和输出预测任务的同步进行;然后,基于TGLSTM神经网络的结构和传播算法,构造一种基于梯度下降的学习算法来同时训练输入填补和输出预测任务;最后,通过Mackey-Glass时间序列预测,月平均气温预测和污水处理过程出水氨氮浓度预测实验来验证所提模型的有效性.

2 传统LSTM神经网络

对于长度为N的数据样本,其中,x(t)=[x1(t)x2(t)··· xD(t)]T∈RD为模型输入,y(t)=[y1(t)y2(t)··· yp(t)]T∈Rp是期望输出,D和p分别为输入和输出数据的维度,T为矩阵转置.据此,一个基本的LSTM神经网络是由含D个节点的输入层,n个LSTM单元的隐含层和p个神经元的输出层组成,其中,隐含层LSTM单元的内部结构如图1所示.

图1 LSTM单元的内部结构Fig.1 The internal structure of LSTM unit

网络在t时刻的输出为

式中:Wout∈Rp×n是输出权值矩阵,h(t)∈Rn表示LSTM单元输出向量,其计算公式为

其中tanh(·)=(e(·)−e−(·))/(e(·)+e−(·))是双曲正切函数,⊙表示矩阵按元素相乘运算,c(t)∈Rn为LSTM单元内部记忆向量,根据

3 非完整时间序列数据

3.1 非完整时间序列定义

当在数据采集过程中发生设备故障,通信错误和数据丢失等情况时,会导致保存的数据集存在缺失值.按照文献[26]中的定义:将未收集到的且对分析有意义的数据定义为缺失数据.以数据样本{x(t),中的x(t)为例,为x(t)引入一个指示向量m(t)=[m1(t)m2(t)··· mD(t)]T∈{0,1}D来表示x(t)的缺失情况.具体地,第t个样本的第d个值xd(t)的指示向量值md(t)表示为

式中:t=1,2,···,N,d=1,2,···,D.当md(t)满足:∀m(t),∃md(t)∈m(t),使得md(t)=0,则称数据样本是非完整时间序列.传统LSTM神经网络要求x(t)中不含缺失值,当x(t)不完整时,会造成网络输入不均衡,甚至引入噪声,影响预测性能.因此,需要对传统LSTM神经网络进行改进以实现其在非完整时间序列预测中的应用.

3.2 非完整时间序列特征表示

根据文献[10],可根据数据缺失时间间隔描述序列缺失特征.据此,针对非完整时间序列{x(t),,定义一个与x(t)同维度的时间间隔向量Δ(t)=[Δ1(t)Δ2(t)··· ΔD(t)]T∈RD表示x(t)内每个数据的时间间隔,并令第1组数据的时间间隔为Δmin,即Δ(1)=Δmin,Δmin是两个相邻数据的最小间隔,一般取采样时间间隔,也可人为自定义.Δ(t)内每个元素值的计算方式如下:

为说明x(t),m(t),Δmin和Δ(t)之间的关系,图2给出一个示例,图中假设x(t)是一个二维输入向量,Δmin=0.1,null表示该点数据缺失.

图2 x(t),m(t),Δmin 和Δ(t)间的关系Fig.2 The relationship of x(t),m(t),Δmin and Δ(t)

4 TG-LSTM单元结构

4.1 TG-LSTM单元结构

根据文献[8]中的分析,数据缺失时间间隔对LSTM神经网络的输出具有非线性缩放作用.再根据LSTM神经网络原理:fg(t),ig(t),og(t)和(t)最终会汇集到c(t),而c(t)保存了序列内部的记忆关系.因此,可在c(t)输出端直接加入一个以时间间隔为输入的时间门来拟合这种非线性关系.据此,所提出的TGLSTM单元结构如图3所示,其通过在传统LSTM单元中加入一个时间门结构对c(t)进行控制以实现对输入的估计.该单元对下一时刻输入的估计(t+1)表示为

图3 TG-LSTM单元结构Fig.3 The structure of TG-LSTM unit

式中:Win∈RD×n为时间门输入权值,z(t)∈Rn为输入估计向量,其计算公式为

式中:c(t)通过式(3)计算.τg(t)表示TG-LSTM 单元的时间门,其根据如下公式计算:

式中Uτ ∈Rn×D和bτ ∈Rn分别是时间门的输入权值和偏置向量,Γ(·)=e−(|·|)是时间门的激活函数.

TG-LSTM神经网络中时间门的工作原理解释:根据式(9),当数据缺失长度越大,Δ(t+1)越大,意味着x(t+1)前连续缺失的数据越多,则x(t+1)离最新的真实数据(假设为x(k),k <t+1)越远,客观上x(k)对x(t+1)的影响越小,因此记忆会有所衰减,且在实际中大都表现为非线性衰减规律.因此,为模拟这样的非线性衰减关系,通过建立一个指数衰减函数描述的时间门来控制c(t)到下一时刻估计的输出量,即式(11)和(12).通过式(12)可以看出,τg(t)是关于Δ(t+1)的非线性函数,当Δ(t+1)越大,τg(t)→0,反之则τg(t)→1,且随着Δ(t+1)增大呈现一种指数衰减的规律.因此,时间门让含有更多真实输入数据的c(t)通过,而阻挡含有更多缺失数据的c(t).这样的特性能筛选出更多与真实数据相关的部分,并滤掉网络在前向传播中的累积误差.

4.2 TG-LSTM神经网络的前向传播算法

为实现输入填补和输出预测任务同步进行,设计一种TG-LSTM神经网络的前向传播算法.在该算法下,网络的前向传播过程如图4所示,TG-LSTM神经网络在每个时间步的输入值存在评估和填补两种情况,其中,图4中的黑色虚线表示评估,黑色实线表示填补.具体地,当t时刻网络的输入值xd(t)存在时,将xd(t)作为该时刻网络的输入,并将xd(t)的估计值(t)与xd(t)作差以评估模型的填补性能;当xd(t)缺失时,则将(t)直接作为该时刻网络的输入.上述过程通过公式表达为

图4 TG-LSTM神经网络前向传播算法Fig.4 The forward propagation algorithm of TG-LSTM neural network

式中:u(t)表示t时刻网络的输入值,“1”表示与m(t)相同大小且元素全为1的向量.

4.3 TG-LSTM神经网络学习算法

通过基于梯度下降的学习算法对TG-LSTM神经网络参数进行更新.为实现数据填补和预测任务的整体训练,设计如下损失函数:

式中通过m(t)控制网络输入的误差x(t)−(t):当输入样本存在时,误差被纳入损失函数,实现对填补性能的评估;当输入缺失时,由于无法获取填补误差,因此通过m(t)将其值置为0.根据该损失函数,TGLSTM神经网络的参数更新步骤如下:

步骤1计算误差项.

步骤2计算网络参数的梯度.

步骤3根据学习率η更新网络参数.

步骤4根据式(14)计算损失函数的值,如果损失函数的值满足设定的阈值或者迭代次数达到最大次数则停止训练,否则,返回步骤1重复上述过程.

5 仿真实验

本节通过一个基准数据集(Mackey-Glass时间序列[27]),一个真实数据集(月平均气温数据[20-21])和一个实际问题(污水处理过程出水氨氮浓度预测[28-29])来验证TG-LSTM神经网络的有效性.在这3个实验中,将TG-LSTM神经网络与传统数据填补方法,包括前向填补[15](forward-filling,FF),样条插值填补[16](spline-filling,SF)和滑动窗口平均填补[17](moving average-filling,MA)进行对比,由于传统数据填补方法没有预测能力,因此将它们与标准LSTM神经网络结合(FF-LSTM,SF-LSTM 和MA-LSTM)来与TGLSTM神经网络对比.此外,在月平均气温预测实验中,还将TG-LSTM神经网络与线性向量长短期记忆神经网络(linear memory vector long short-term memory,LIME-LSTM)神经网络[20-21]进行对比.在该实验中,对比模型的实验结果均来自于原文献[21].为验证TG-LSTM神经网络中时间门的有效性,在基准实验中还将TG-LSTM神经网络中的z(t)分别替换为c(t)(简称为LSTM-C)和tanh(c(t))(简称为LSTMTC)并设计相应的学习算法与TG-LSTM神经网络进行消融实验.

实验中,将均方根误差(root mean square error,RMSE)作为输入填补和输出预测的评价指标,其计算公式如下:

在实验中,所有模型的隐含层LSTM 单元个数和学习率按网格搜索算法选取,具体地,隐含层LSTM单元个数由2增加到15,每次增量为1;网络学习率从0.001增加到0.1,每次增加0.001;网络的权值均在[−0.1,0.1]之间随机初始化.此外,所有模型都在相同的软件环境(Microsoft Windows 10.0 环境下的MATLAB,版本2016b)和硬件平台(Intel(R)Core(TM)i5-10300H CPU9(2.50)GHz和16 GB RAM)的PC)上运行.所有的实验结果均取10次实验的平均值.

5.1 Mackey-Glass时间序列预测

Mackey-Glass时间序列[27-28]是测试神经网络性能的基准问题之一,其通过以下差分方程给出:

其中:a=0.1,a=0.2,τ=17,初始状态l(0)=1.2.在本实验中,通过l(k −18),l(k −12),l(k −6)和l(k)来预测l(k+1),共生成1000组样本,其中前700组用于训练,后300组用于测试.

鉴于Mackey-Glass数据是完整数据集,为验证各模型的输入填补和输出预测性能,需要对原数据作缺失处理,按照文献[30]中的方法将原序列生成缺失率分别为5%,10%,15%和20%的非完整序列,并将原序列作为参考来评估模型的输入填补和输出预测性能.为直观展示模型性能,本实验以缺失率为15%的Mackey-Glass数据为例,通过曲线图展示其实验结果.

图5为TG-LSTM神经网络在训练过程中的RMSE曲线,其中黑色右向实线和红色左向实线分别为输入填补和输出预测的RMSE变化曲线.从图5可知,TGLSTM神经网络的输入填补和输出预测的训练RMSE值均逐渐减小,该结果表明TG-LSTM神经网络的输入填补和输出预测任务在训练过程中均可以收敛.此外,从该图中还可看出,输出预测任务的收敛速度要大于输入填补任务,这是由于在TG-LSTM神经网络的目标函数中只将每个样本中输入数据的非缺失部分计入目标函数训练,而样本中每个输出数据都被纳入目标函数,因此,在网络训练过程中,网络参数受输出预测任务影响更大,并在训练初期向着提高输出预测精度的方向变化.

图5 TG-LSTM的训练RMSE曲线Fig.5 The training RMSE of TG-LSTM

图6为TG-LSTM神经网络对输入缺失数据的填补结果,其中黑色实线为非完整数据集的输入值,黑色虚线为该数据集缺失部分所对应的真实值,红色圆点为TG-LSTM神经网络的填补值.首先,从图6(a)可以看出,该数据集既有间断缺失也有成段缺失的数据;然后,还可以看到TG-LSTM神经网络能对缺失的数据点进行有效填补,且填补值大多位于实际值附近,填补误差如图6(b)所示位于[−0.011,0.009]内,说明了模型对缺失数据填补的可行性和有效性.图7为TG-LSTM神经网络的输出预测结果,从图7(a)中可以看出,TG-LSTM神经网络的输出能较好拟合真实值输出,预测误差如图7(b)所示,预测误差限制在区间[−0.011,0.012]内,表明TG-LSTM神经网络在输入缺失下仍能准确预测Mackey-Glass时间序列.

图6 TG-LSTM对非完整Mackey-Glass数据的输入填补结果Fig.6 The input filling result of TG-LSTM for incomplete Mackey-Glass data

图8为训练好的TG-LSTM神经网络在测试阶段各时间门的输出值变化曲线图.首先,根据图8可以看出:在输入数据非缺失段时,TG-LSTM神经网络的9个时间门的输出值各不相同且维持不变,这是因为经过训练后各时间门的输入权值和偏置不同且在数据非缺失段时间间隔为固定值(Δ=Δmin),此时TG-LSTM等同于普通LSTM模型.然后,从图8还可以看出在区间[50,100],[350,400]和[900,1000]内各时间门的输出值发生不同程度的向下波动,在区间[200,219],[700,729]和[800,829]内各时间的输出值先持续减小再恢复原值,而向下波动和持续减小所对应的区间恰好分别是图7(a)中的间断缺失和成段缺失区间.这个结果说明当数据发生缺失时,时间门会产生对缺失时间间隔的不同反应,从而控制c(t)输出多少到输入估计向量以对缺失值进行估计.

图7 TG-LSTM对Mackey-Glass数据的输出预测结果Fig.7 The input prediction result of TG-LSTM for incomplete Mackey-Glass data

表1比较了在不同缺失率的Mackey-Glass数据集情况下的TG-LSTM与FF-LSTM,SF-LSTM,MALSTM,LSTM-C和LSTM-TC的输入填补和输出预测任务的训练和测试RMSE.特别说明的是,由于FFLSTM,SF-LSTM和MF-LSTM的数据填补均为一次完成,没有训练过程,因此,在填补任务中只比较测试RMSE.从表1可以看出,在不同的缺失率下,TGLSTM神经网络的填补和预测性能均优于其它模型.此外,由于TG-LSTM神经网络的填补性能更好,导致输入数据更接近真实值,从而可以间接提高输出预测的精度.值得注意的是,在数据缺失率较小(如5%)时,TG-LSTM神经网络与FF-LSTM,SF-LSTM和MFLSTM的性能差别不大,但当数据的缺失率较大(如20%)时,TG-LSTM神经网络的填补和预测的性能明显由于其它模型,这是因为传统数据填补方法是利用数据的局部分布特性进行填补,当数据缺失率较高时,数据的局部分布特性出现较大偏移,因此导致数据填补准确率下降,而TG-LSTM神经网络利用数据的记忆关系填补,即使在缺失率较高时也能对缺失值进行有效恢复,体现了TG-LSTM神经网络具有更强的鲁棒性和适应能力.此外,通过与LSTM-C和LSTM-TC的实验结果对比可以看出,TG-LSTM的数据填补和预测的均方根误差平均值和标准差均更小,说明TGLSTM神经网络的预测精度和稳定性更高,说明时间门可以提高模型的填补和预测性能,从而证明时间门在模型中的有效性.

表1 不同模型的Mackey-Glass时间序列预测实验结果对比Table 1 The comparison of results of Mackey-Glass time series forecasting experiments of different models

5.2 月平均气温预测实验

气温是反映天气情况的重要指标,对人类健康,农业经济以及全球生态气候变化起着重要作用[30].气温是一个时刻变化并受各种因素影响的具有非平稳波动特征的时间序列数据,并且前后数据存在一定相关性[32].目前传统的方法预测精度还不够高,因此,建立气温智能预测模型具有重要意义,预测结果可为气象工作者提供一定参考和决策依据.

本实验中选取的数据集为英国1723年1月至1970年12月期间的月平均气温[20-21],数据长度为2976.实验设置如下:首先,用文献[20]中的方法生成缺失率为5%,10%,15%和20%的非完整序列;然后,按照文献[20-21]中设置的窗口长度生成数据样本,具体地,通过滑窗方式将前19个时刻的数据作为输入,第20个时刻的数据作为目标输出;最后,按照7:3的比例划分训练和测试样本.同样地,在本实验中评估填补和预测性能.此实验以缺失率为20%的序列为例,将模型填补和预测结果以曲线图直观展示.

图9为填补曲线和填补误差,从图9中可以看出,TG-LSTM神经网络能对缺失的数据有效填补,其填补的点大多数落在真实值附近,填补误差位于[−0.005,0.010]之间.图10为TG-LSTM神经网络的预测结果,从图中可以看出,除一些波峰点外,预测曲线都能准确拟合实际值,说明TG-LSTM神经网络对该序列填补和预测的有效性.

图9 TG-LSTM对月平均气温数据的填补结果Fig.9 The input filling result of TG-LSTM for monthly average temperature data

图10 TG-LSTM对月平均气温的预测结果Fig.10 The prediction result of TG-LSTM for monthly average temperature

表2中列出了TG-LSTM神经网络与其它模型的对比实验结果.从表2中可以看出,在不同的缺失率下,在填补任务上,TG-LSTM神经网络的结果明显优于其它模型,说明了该模型的有效性;在预测任务上,TG-LSTM 神经网络的性能优于FF-LSTM,SFLSTM,MF-LSTM模型,与LINE-LSTM性能接近,但TG-LSTM神经网络结构参数更少,因此在不损失预测精度的情况下计算复杂度更低.同样地,LSTM-C和LSTM-TC的对比结果发现:总体上讲TG-LSTM神经网络的填补精度和稳定性更高,从而也间接提高了预测性能,这个结果再次验证了TG-LSTM神经网络中时间门的有效性.

表2 不同模型的月平均气温预测实验结果对比Table 2 The comparison of experimental results of monthly average temperature prediction of different models

5.3 污水处理过程出水氨氮浓度预测

为检验TG-LSTM神经网络解决实际问题的能力,将其用于污水处理过程出水氨氮浓度预测,并与其他模型进行比较.污水处理是一个不确定,多变量,强耦合的非线性过程[28].出水氨氮浓度的准确测量是其稳定运行的重要保障.然而,目前氨氮浓度检测存在依赖人工,检测设备昂贵和实时性弱等问题.此外,由于污水处理厂设备故障和通信错误等原因导致获取到的水质指标数据具有缺失值,给数据分析和预测带来困难.因此,在非完整的水质指标数据下建立出水氨氮智能预测模型具有重要意义[31].在本实验中,实验数据来源于中国北京某真实污水处理厂2014年8月26日至2014年9月19日的水质指标数据.每组数据的组成和描述如表3所示.按规定,该污水处理厂每日应记录24组数据,总共应有25×24=600组数据,但实际获取到的数据只有499 组,共缺失101组,缺失率为16.8%,数据缺失的分布情况如图11所示,从图11中可以看出,各项水质指标均存在缺失,并且数据集中同时含有间断缺失和成段缺失的情况.本实验中,根据文献[31],选择5个可测量的水质参数作为输入变量:ORP,DO,TSS,pH,NO3-N值.出水氨氮浓度作为输出变量,其中前70%用于训练,其余30%用于测试.由于该数据集的缺失部分没有对应的真实值来评估模型的输入填补性能,因此本实验中只比较各模型的预测性能.

图11 污水处理厂数据缺失情况Fig.11 The data missing of the sewage treatment plant

表3 污水处理的水质指标数据Table 3 Water quality indicators for sewage treatment

图12为TG-LSTM神经网络对出水氨氮浓度的预测结果,从图12(a)中可以看出TG-LSTM神经网络能有效预测出水氨氮浓度,且预测误差如图12(b)所示在[−1.4,1.5]之间.表4给出了不同模型预测性能的比较.从表4可以看出,与其它模型相比,TG-LSTM神经网络在训练和测试阶段均具有更高的预测精度,说明了TG-LSTM神经网络在数据缺失状况下能更好地对出水氨氮进行预测,体现了TG-LSTM具有更好的实际应用能力.

图12 TG-LSTM对出水氨氮的预测结果Fig.12 The prediction result of TG-LSTM for effluent ammonia nitrogen

表4 不同模型的对出水氨氮预测的实验比较Table 4 The experimental comparison of different models for prediction of effluent ammonia nitrogen

6 结论

本文针对非完整时间序列预测精度低的问题,首先,根据非完整时间序列的缺失特征提出一种TGLSTM单元结构,该结构可在每个时间步内同时对输入和输出数据进行估计;其次,基于TG-LSTM单元结构设计出一种网络前向传播算法,可同步进行输入填补和输出预测任务;然后,根据TG-LSTM神经网络的结构和前向传播算法,构造基于梯度下降的学习算法,实现对输入填补和输出预测任务的整体训练;最后,通过在Mackey-Glass时间序列预测,月平均温度预测和污水处理过程出水氨氮浓度预测中的实验结果表明,TG-LSTM神经网络与基于传统数据填补的LSTM神经网络以及消融实验模型(LSTM-C和LSTMTC)相比,输入填补精度更高,输出预测性能更好.

猜你喜欢
氨氮神经网络预测
悬浮物对水质氨氮测定的影响
无可预测
选修2-2期中考试预测卷(A卷)
选修2-2期中考试预测卷(B卷)
基于递归模糊神经网络的风电平滑控制策略
选修2—2期中考试预测卷(A卷)
低温高铁锰氨地下水净化工艺中氨氮去除途径
神经网络抑制无线通信干扰探究
氨氮动态优化控制系统在污水厂的应用效果
基于神经网络的中小学生情感分析