基于小波分解的时序预测模型mWDLNet及其应用研究

2022-03-03 13:46黎铨祺黄瓯严
小型微型计算机系统 2022年3期
关键词:小波时序卷积

赵 娜,孙 红,黎铨祺,黄瓯严

(上海理工大学 光电信息与计算机工程学院,上海 200093)

1 引 言

时间序列数据记录了观测目标对象在各个单位时间点上的状态值,反应了某个或某些变量随时间变化的呈现的内在模式.时间序列预测是通过分析历史观测值,挖掘出数据的内在特征,对将来的数据做出估计.时序预测在许多领域都发挥着重要作用,如天气预测、金融科技、互联网领域等.

传统的时间序列预测研究主要基于统计模型,例如自回归移动平均模型(ARIMA)[1]以其扩展[2]、马尔可夫链模型[3]和贝叶斯模型[4].后来一些判别模型用于时间序列的预测.例如支持向量回归模型(SVR)[5]、随机森林(RF)[6].近年来,神经网络模型已被用于解决时间序列预测问题,并且在许多实际应用中取得了较好的效果.例如循环神经网络RNN,特别是RNN的两个变体:长短期记忆网络(Long Short-Term Memory,LSTM)[7]和门控单元(Gated Recurrent Unit,GRU)[8].还有序列到序列sequence to sequence(Seq2Seq)模型[9]等,已经被广泛应用于自然语言处理中,也被应用于时序预测的研究中.

时序分析的方法可以包括时域方法和频域方法[10].时域方法将时间序列视为按时间顺序索引的一系列数据点,并分析它们之间的相关性.上面提到的一些方法基本上是在时域中研究的.频域方法使用诸如离散傅里叶变换之类的变换算法将时间序列变换到频域,在频域分析原始序列的特征.小波分解是用于捕获时域和频域中时间序列特征的众所周知的方法.Wang等人提出了一种多级小波分解网络(mWDNet)[11],该网络结合了小波的时间序列分解和循环神经网络,但是该模型并未考虑到时序数据的隐含的空间特征.

为了充分利用时序的时域和频域特征以及时间维度和隐含的空间维度特征,本文提出了一种基于多级小波分解的CNN-LSTM网络和线性ARIMA模型的集成模型(An Integrated Model of CNN-LSTM Network Based on Multilevel Wavelet Decomposition and Linear ARIMA Model),简称为mWDLNet.将原始时序数据分解为不同频率的子序列,再对子序列进行单支重构,作为神经网络的输入.神经网络由一维卷积神经网络和长短期记忆网络组成(CNN-LSTM),利用一维卷积神经网络(CNN)提取空间特征,LSTM提取长短期时间特征,利用ARIMA模型解决神经网络模型的尺度不敏感问题.最后将神经网络的输出和线性模型输出进行加权求和得到最终的预测结果.

2 相关研究

最经典的单变量时序预测模型为差分自回归移动平均模型(ARIMA),在模型的统计特征选择过程中,具有较强的可解释性.ARIMA模型不仅适用于指数平滑应用,而且还涵盖了其他类型的时序模型,包括自回归模型(AR)、移动平均模型(MA)和自回归移动平均模型(ARMA),ARIMA的预测能力较强,但是对于高维多元时序预测中计算成本较高.

考虑对相关序列发展趋势和预测序列特定属性,机器学习模型被用于时间序列的预测.支持向量回归模型(SVR)是使用支持向量机(SVM)分类器来拟合曲线,进行回归分析模型.SVR引入核概念使自身具备非线性建模的能力.利用SVR预测最高气温和空气污染物的浓度[12].决策树是一种弱学习器,而基于决策树的集成方法使预测效果更好,如随机森林(Random Forest,RF)、XGBoost[13]、lightGBM[14].Dudek应用随机森林预测多季节变化的短期电力负荷序列[15],Wang等人提出了一种基于小波分析的XGBoost模型预测电力负荷情况,其结果优于SVM和小波变换的混合模型[16].

为了更好地了解未来的不确定性,深度学习模型的时序预测已引起越来越多的关注.卷积神经网络使用多通道多个卷积核来提取数据历史信息.Alberto Mozo等人采用不同时间窗口历史数据进行线性变换构造了多特征[17].Agbossou等人利用卷积神经网络结合小波分解增加特征来预测风速[18].RNN是专门用于处理序列的网络,所有神经元节点按照链式连接,具有记忆性和参数共享,对学习序列的非线性特征有一定的优势.但对于长序列会产生梯度爆炸或梯度消失,不适合用来分析存在长期依赖关系的时间序列.许多学者尝试对RNN模型进行改进,Lai等人提出了长期和短期时间序列网络(LSTNet)结合RNN和CNN来提取时间的长期和短期模式的趋势[19].Flunkert等人提出DeepAR模型,该模型在大量相似时间序列的集合上训练自回归RNN模型,并在多个真实数据集上产生更准确的概率预测[20].Rangapuram等人提出了深度状态空间模型(DeepState)[21],该模型将状态空间模型与深度学习相结合,并且可以在从原始数据中学习复杂模式的同时保留数据的效率和可解释性.在类似的方案下,Maddix等人提出了深度神经网络和高斯过程的结合[22].

本文提出的时序预测模型在以往研究成果基础上,主要贡献如下:

1)模型考虑了时域特征和频域特征,利用小波分解,得到低频和高频子序列,再利用神经网络提取特征;

2)模型考虑了时间维度特征和空间维度特征,模型添加一维卷积神经网络主要负责提取空间维度特征,长短期记忆网络负责提取时间维度特征;

3)模型融合了线性和非线性预测结果,利用线性模型弥补非线性模型的尺度不敏感问题,提高了预测的准确性.

3 模型框架

本文提出的mWDLNet模型由4部分组成,分别为小波分解部分、一维卷积神经网络部分、循环神经网络部分和线性自回归部分.首先,原始时间序列数据经过多级小波分解,得到低频和高频子序列,再对子序列分别进行单支重构,实现子序列的长度一致,之后通过一位卷积神经网络进行训练,再通过LSTM进行训练,最后全连接得到非线性的预测结果;同时,将原始时序数据通过ARIMA模型进行线性预测.最后,通过小波重构得到的非线性预测结果和线性预测结果进行加权求和得到最终的预测结果.mWDLNet模型结构图如图1所示.

图1 mWDLNet模型结构图Fig.1 Overview of mWDLNet model

3.1 小波分解部分

采用Mallat算法进行小波分析,原理是基于多分辨率分析,将信号分解到不同的尺度空间[23].对PM2.5时序数据进行多级小波分解,可以得到一个低频子序列和多个高频子序列,然后再分别对低频子序列和高频子序列做单支重构,可以将变化趋势分散到不同频率上进行细化分析.计算公式如公式(1)所示:

aj+1=Gajdj+1=Hdj,j=0,1,…,N

(1)

公式(1)中,G为低通滤波器,H为高通滤波器,a0为初始时序信号,N为小波分解次数.按照上式对原始时间序列进行分解,得到d1,d2,…,dN和aN,aj和dj分别是小波在分辨率为2-j时的近似分量和细节分量.

Mallat算法进行小波分解时,每次分解后得到的子序列长度都会减少到分解前序列长度的一半,原始信号信息分散到各个子序列信号的不同时间点上,结果为每个子序列的时间刻度不一致,不利于进行时序预测.因此对每个子序列的分支进行单支重构,重构之后的子序列长度和原始的信号长度相等.重构算法如公式(2)所示:

Aj=G*aj+1+H*dj+1,j=N-1,N-2,…,0

(2)

其中,G*和H*分别是G和H的对偶算子.

低通滤波器表示为g(k),高通滤波器表示为h(k).小波分解的层级表示为L.小波分解步骤为:

S1:初始化参数如公式(3)所示:

a0=X(t),g1(k)=g(k),h1(k)=h(k),j=1

(3)

S2:进行小波分解,方法如公式(4)和公式(5)所示:

aj[k]=aj-1[k]×gj[-k]

(4)

dj[k]=dj-1[k]×hj[-k]

(5)

其中×代表卷积操作.

S3:插值填充数据,插值方法如公式(6)和公式(7)所示:

(6)

(7)

S4:j=j+1,如果j

图2 两级小波分解示意图Fig.2 Process of two-level wavelet decomposition

将分解后的子序列按照公式(2)进行重构,得到序列D1,D2,…,DN和AN,D1,D2,…,DN和AN和原始序列X长度一致,并且重构序列之和等于原始序列,如公式(8)所示:

X=D1+D2+…+DN+AN

(8)

3.2 一维卷积神经网络部分

mWDLNet模型的第2部分是由卷积神经网络组成,实现提取时序的空间特征和局部的依赖关系.卷积神经网络(CNN)可以识别出数据中的简单模式,然后使用这些简单模式在更高级的层中生成更复杂的模式.一维卷积神经网络常用于处理时序问题,1D-CNN可以很好的捕获时间维度的信息,非常适用于分析传感器采集的时间序列数据.1D-CNN卷积操作为:卷积核在一维时序数据上滑动,和输入的对应元素进行矩阵乘法,然后将结果作为单个输出,表示为特征,一维卷积运算如公式(9)所示:

(9)

其中,w(k)×x(k)表示w(k)和x(k)的卷积,w(k)是我们选定的卷积核,x(k)是输入的时间序列,y(k)是卷积后输出结果.

一维卷积神经网络的卷积过程如图3所示,其中x1~x6为1维时间序列,o1~o4为经过卷积操作之后输出的特征,卷积核大小为1×3,共有3个权重值,整个网络共享此卷积核,为视觉清晰,图3中相邻的输出对应的线条分别用实线和虚线表示,实际上是一样的.

图3 1D卷积的操作过程Fig.3 One-dimensional convolution operation process

本文构建的模型采用一维卷积神经网络,不进行池化操作.原始序列经过上述小波分解和单支重构后,得到子序列集为,D={d1,d2,…,dL,aL}作为一维卷积神经网络的输入,采用RELU作为激活函数,卷积层的计算如公式(10)所示:

hk=RELU(Wk×Dk+bk)

(10)

其中×代表卷积操作,hk是输出向量.RELU激活函数公式为:RELU(x)=max(0,x).

3.3 循环神经网络部分

循环神经网络RNN是一种时间上进行线性递归的神经网络.长短期记忆LSTM模型是一种改进的RNN模型,缓解了RNN不能处理长距离依赖问题.基本原理是通过门控状态来对信息进行选择性的记忆,满足需要长时间记忆信息和遗忘信息的需求.LSTM的门控单元包括遗忘门、输入门、输出门3个元件.则门的操作如公式(11)所示:

g(x)=σ(Wx+b)

(11)

其中,W是该门的权重,b是偏置项,σ是sigmoid函数,g(x)的值域是0~1之间的实数向量.

每个一维卷积神经网络的输出作为LSTM的输入,使用RELU函数作为激活函数.公式(12)~公式(16)为t时刻循环单元的隐藏状态计算公式:

i(t)=σ(Wixx(t)+Wihh(t-1)+bi)

(12)

f(t)=σ(Wfxx(t)+Wfhh(t-1)+bf)

(13)

o(t)=σ(Woxx(t)+Wohh(t-1)+bo)

(14)

s(t)=g(t)⊙i(i)+s(t-1)⊙f(t)

(15)

h(t)=s(t)⊙o(t)

(16)

其中⊙代表点乘,x(t)作为t时刻该层的输入,h(t)为对应时刻的输出.

在LSTM的3个门控单元中,输入门i(t)决定在t时刻x(t)有多少信息可以通过,遗忘门f(t)可以控制t-1时刻的单元状态a(t-1)有多少信息可以传递给at,输出门o(t)决定了h(t)输出哪些信息.

一般来说,LSTM隐藏层数量越多,则模型越复杂,学习能力一般越好.然而模型过于复杂容易导致过拟合.考虑到优化时间和资源,同时获得较好的预测效果,本文将LSTM的隐藏层数设为3层,每层的激活函数选用RELU函数,并且在每层之间加入Dropout层来避免过拟合.最后,加入一层全连接层,输出层选用tanh函数作为激活函数,得到LSTM模型的预测输出.

1http://archive.ics.uci.edu/ml/datasets.php

3.4 线性自回归部分

由于卷积神经网络和递归神经网络的非线性特性,神经网络模型的一个主要缺点是输出的尺度对输入的尺度不敏感.而在真实的数据集中,输入信号的尺度不断发生非周期的变化,显著降低了神经网络模型的预测精度.为了解决之一不足,我们将最终预测分解为线性部分和非线性部分,受到LSTNet的启发,本文采用经典的ARIMA模型作为线性分量的预测模型,ARIMA模型如公式(17)所示:

(17)

3.5 最终预测结果

原始时间序列数据经过小波分解和单支重构后,经过一维卷积神经网络和LSTM,得到神经网络的模型输出结果,同时原始序列信号又经过ARIMA模型得到线性预测输出结果,将神经网络的输出结果和线性的输出结果进行加权求和,得到最终的预测结果,如公式(18)所示:

(18)

3.6 目标函数及优化策略

在神经网络模型训练过程中,本文采用平均绝对误差(L1-loss)作为目标函数,L1-loss具有收敛速度快和对异常值的鲁棒性较高,在很多回归预测任务中都采用L1-loss作为损失函数,如公式(19)所示:

(19)

本文构建的深度学习神经网络采用Adam优化器进行训练.Adam优化算法[24]是一种对随机梯度下降的改进算法,在深度学习应用中,表现效果较好,得到了广泛的应用.

4 实验与分析

本文提出了一种时间序列预测模型,并应用在一个真实的数据集北京PM2.5数据,输入时间序列表示为X={x1,x2,…,xT},目标是预测下一时间段的PM2.5浓度,即预测xT+h,h是指预测的时间段.具体实现是通过窗口滚动方式预测,也就是,将{x1,x2,…,xT}作为输入变量,预测下一时刻xT+1,然后再将{x2,…,xT,xT+1}作为输入变量,预测下一时刻xT+2的值,依次递归下去,直到完成h时间长度的预测.

4.1 数据集

本文实验所用的数据集是北京美国大使馆气象数据集1,包含北京美国大使馆2010年-2014年的每小时PM2.5浓度数据以及相关气象数据.其中有PM2.5浓度、温度、压力、组合风向、累积风速、下雪时间和下雨时间,共有43824条数据,如表1所示.本文的研究主要使用PM2.5浓度时间序列数据,其单位为μg/m3.

表1 PM2.5数据集
Table 1 PM2.5 dataset

DatasetsTDLBeijing PM2.54382471 hour

其中,T表示时间序列的长度,D表示特征变量的个数,L表示采样频率.

4.2 小波分解

本文采用Mallat算法实现对时间序列的分解,Mallat算法的优点是给定了小波函数和尺度函数,就确定了低通滤波器G和高通滤波器H,降低了小波变换的计算量.根据PM2.5时序数据的时间特性和正交性、对称性等小波特性,本文实验采用dbN小波作为小波基函数,dbN是Daubechies小波,N为小波的阶数,选取N为2.PM2.5时序信号经小波分解为低频信息和高频信息,而小波分解层数越多,低频信息会不断地被一层层分解,而高频信息也将含有一定的低频信息.如果分解层次较多的话,会增加预测分析的复杂程度.

选取2010年1月2日-2010年1月15日的PM2.5时序数据共计336条数据作为示例,以db2小波作为基函数对PM2.5时序数据进行3级分解,如图4(a)所示,其中s为原始数据,a3为低频子序列,d1,d2,d3为高频子序列.由图4可知,低频子序列a3对最终预测更为重要.较低频信息具有较高的重要性,这意味着低频信息对于时序预测的成功至关重要.这不难理解,因为低频捕获的信息通常表征人类活动的基本趋势,因此对于揭示未来很有用.如果对序列进行4级小波分解,a3进一步分解为a4和d4,a4只保留了s的大致信息,如图4(b)所示.本文选取小波分解主要是为了对原始序列信号的变化趋势进行提取,更多层次分解会增加模型的复杂度,计算量增大.由图4可知3层小波分解即将高频信息分离出来,又基本保留了原始数据的趋势,故选3层分解.

4.3 数据处理

由于时序数据经过小波分解后的子序列分布在不同的频段上,并且高频子序列和低频子序列的数据范围差距较大,因此在对数据经过小波分解后,对得到的子序列数据进行归一化处理,使得输入到一维卷积神经网络的数据在同一个量刚下,能够提升模型的收敛速度和预测精度.数据处理的操作步骤为:

图4 PM2.5时序数据小波分解示意图Fig.4 PM2.5 time series wavelet decomposition graph

常见的归一化方法有:min-max标准化和Z-score标准化,本文采用min-max标准化方法.具体实现为:将初始值减去窗口序列中数据的最小值再除以该窗口序列中最大值和最小值的差值,设窗口序列中数据的最大值为xmax,最小值为xmin,则归一化和反归一化计算方法如公式(20)和公式(21)所示:

(20)

(21)

4.4 评价指标

本文采用均方根误差(Root Mean Squared Error,RMSE)和均方绝对误差(Mean Absolute Error,MAE)作为模型的评价指标.RMSE和MAE反应了模型预测值和真实值之间的误差,其值越小越好.RMSE和MAE的计算方法如公式(22)和公式(23)所示:

(22)

(23)

4.5 模型分析

本文提出的mWDLNet模型包含两部分的预测:ARIMA模型的预测结果和基于多级小波分解的CNN-LSTM模型(CNN-LSTM Model Based on Multilevel Wavelet Decomposition,简称mCNN-LSTM)的预测结果,然后融合两部分结果得到最终的预测结果.其中mCNN-LSTM模型是将序列信号经过3级小波分解后,送入CNN模块和LSTM网络层,再由全连接层得到预测结果.下面分别验证一下,mWDLNet模型添加小波分解、卷积模块以及融合线性预测的有效性.

对PM2.5时序数据进行下一时刻预测,也就是X={x1,x2,…,xT},预测xT+1时刻的PM2.5浓度值.mWDLNet模型各模块的预测结果如表2所示.

表2 mWDLNet模型各模块的预测结果Table 2 Prediction results of different parts of mWDLNet model

其中,ARIMA为自回归差分移动平均模型,进行一阶差分操作,即d=1,采用AIC准则为评判标准,阶数p和q分别为3和4.mLSTM模型是序列信号经过3级小波分解后,直接送入LSTM网络层,进行预测,LSTM层单元个数为128.CNN-LSTM模型是序列信号未经小波操作,直接送入卷积模型,然后经LSTM进行预测,卷积核数量为为256,卷积核大小为3.mCNN-LSTM模型的卷积核数量为256,卷积核大小为3,LSTM层单元个数为128.以上参数设置是根据实验效果得到的最佳选择.

由表2可知,mWDLNet模型的RMSE和MAE最低,预测性能最好.mLSTM和CNN-LSTM的RMSE和MAE的较高,预测性能较差,而mCNN-LSTM的RMSE和MAE相比较小,性能上有较大的提升,说明序列信号经过小波和卷积操作提取空间特征,能大幅度改善模型的性能.mWDLNet模型融合了线性ARIMA和非线性神经网络mCNN-LSTM的结果,其中α=0.8,β=0.2.对于RMSE,mWDLNet相对ARIMA性能提升了5.66%,相对于mCNN-LSTM性能提升了1.45%;对于MAE,mWDLNet相对ARIMA性能提升了3.07%,相对于mCNN-LSTM性能提升了1.56%.综上可知,mWDLNet模型的小波分解部分和卷积模块,即模型的细节分量和空间特征,有利于提高模型的预测准确率.

4.6 实验结果与对比分析

为了证明本文提出的mWDLNet模型的有效性,本文实验中,采用了5个时序模型在PM2.5数据集上进行对比分析实验,5个时序模型分别为:

· ARIMA:自回归差分移动平均模型

· LSVR:支持向量自回归模型[25]

· GP:高斯过程时序模型[26]

· LSTM:长短期时间记忆网络

· mWDNet:基于多级小波分解的神经网络模型[11]

上述所有方法中,对所有可调超参数进行网格搜索.所有模型输入长度变化为{20,21,…,29}.对于LSVR模型,正则化系数λ选自{2-10,2-8,…,28,210}集合.对于GP模型,RBF核带宽σ和噪声α变化范围分别为{2-10,2-8,…,28,210}.对于mWDNet模型对原始序列信号进行3级小波分解,LSTM单元个数在{32,64,128}上进行网格搜索.对于mWDLNet模型,对原始序列信号进行3层小波分解,卷积层的卷积核数量和LSTM层单元个数分别在{32,64,128}上进行网格搜索.在每一层之后都使用了dropout,dropout比率为0.2.对于超参数α和β分别设置在{0,0.01,0.05,0.1,0.2,0.5,0.8,0.9,0.95,0.99,1}上进行网格搜索.

本次实验中,将预测输出的时间长度分成4个时间段,分别为{3,6,12,24},即对北京PM2.5数据集的预测时间范围为3~24小时,来观测短期和较长期的预测结果,计算评价标准RMSE和MAE如表3所示,其中每种方法的评价指标的最佳结果均以黑体突出显示.由表3可知,本文构建的mWDLNet模型在所有模型中表现最好,主要体现在:mWDLNet模型在4个预测时间段的均方根误差RMSE和平均绝对误差MAE都最低.

表3 不同模型的PM2.5浓度预测结果(RMSE和MAE)Table 3 Results summary(in RMSE and MAE)of all methods on PM2.5 dataset

在{3,12,24}时间段,ARIMA和mWDLNet模型的均方根误差RMSE相近,可知相对于非线性部分,线性部分的预测表现效果更好,所以mWDLNet模型最终的输出结果更加偏向线性部分输出.在{3,6,12,24}4个时间段,mWDLNet模型的平均绝对误差MAE最低,可知模型的非线性部分起到了改善的作用,并且随着预测时间长度的增大,效果越明显.LSTM模型的效果最差,但是随着预测长度的增大,LSTM模型的均方根误差RMSE和平均绝对误差MAE呈现下降趋势,并与其它模型的差距减少,LSTM模型更适合用于预测长期趋势.ARIMA模型由于长期的误差的干扰,更适合预测短期趋势.mWDLNet模型融合神经网络和线性ARIMA模型的优势,在PM2.5浓度预测上实现了更准确的预测.

为了更直观的比较mWDLNet模型和mWDNet模型的预测结果,取测试集中最后200个点,作出两个模型的预测结果图,如图5所示.其中,黑色实线表示真实值(true),灰色虚线表示预测值(predict).由图5可知,mWDLNet模型的拟合真实值的效果比mWDNet模型更好,mWDLNet模型的绝对误差更低.结果表明,本文构建的模型能够产生更准确的预测,尤其是在峰值附近.

图5 mWDLNet和mWDNet预测结果(PM2.5测试集最后200个点)Fig.5 Prediction results of mWDLNet and mWDNet model(last 200 values of PM2.5 dataset visualized)

5 结 论

1)本文提出了融合小波分解、1维卷积神经网络和长短期时间记忆网络的时序预测模型,原始信号进行多级小波分解,分解后的不同频域的子序列进行单支重构,通过神经网络模型提取频域的特征,一维卷积神经网络主要捕获不同频率下的空间维度信息,LSTM主要提取时间维度信息的长期和短期的依赖信息,最后得到神经网络部分的时序预测结果.同时,本文添加了ARIMA来解决神经网络模型的尺度不敏感问题,原始序列数据通过ARIMA得到线性的预测结果.最后,将神经网络的输出结果和线性模型的输出结果进行加权求和得出最终预测结果.

2)本文通过实验验证了mWDLNet模型的小波分解模块、卷积模块和集成线性预测ARIMA的有效性,通过各个模块的融合提高了模型的预测性能.

3)将提出的模型mWDLNet应用于北京气象数据集,进行PM2.5浓度预测,预测范围分为4个时间域{3,6,12,24},并与4个经典时序模型和mWDTNet模型进行对比分析,,结果表明,mWDLNet模型在每个时间段预测结果的均方根误差RMSE和平均绝对误差MAE都最低,表明本文构建的模型性能表现较好.mWDLNet模型在PM2.5浓度预测上实现了更准确的预测.

猜你喜欢
小波时序卷积
顾及多种弛豫模型的GNSS坐标时序分析软件GTSA
基于全卷积神经网络的猪背膘厚快速准确测定
基于图像处理与卷积神经网络的零件识别
清明
基于GEE平台与Sentinel-NDVI时序数据江汉平原种植模式提取
构造Daubechies小波的一些注记
小波去噪算法研究
你不能把整个春天都搬到冬天来
善用游戏的方式解决手足争端
基于深度卷积网络与空洞卷积融合的人群计数