时间序列数据是根据所观测客观对象的某些物理量在时间维度上的采样值排列组成的数据序列[1],普遍存在于医疗、金融、气候等领域[2-4].相较于单变量时间序列,多变量数据来源方式的多样化使其含有更多的信息和模式,如何利用数据的关联、交叉和融合来实现数据价值的最大化,数据融合技术一直是科学界及工业界的研究热点[5].数据融合将不同类型传感器测量的数据综合利用、特征提取与融合决策,形成对被观测对象的一致性描述,进而实现相应的决策[6].近年来,时间序列数据呈现出大规模、高维度、高噪声、高非线性等特性,传统的数据融合算法由于其特征提取率低、时间开销大等问题,已逐渐不能满足人们的决策要求.深度学习在机器翻译、语音识别等领域的成功,使人们注意到机器翻译和语音识别之间的内在相似性是基于数据的顺序性,这也激发了深度学习在时间序列数据融合中的应用,使得时间序列数据融合的研究前进了一大步.
深度学习方法通过组合简单且非线性的模块来获得特征,每个模块将一个层次上的特征转换为一个更高、更抽象层次上的特征,是一种自动学习特征的特征学习方法[7].目前,许多基础的神经网络算法如深度信念网络[8]、卷积神经网络、长短期记忆(LSTM)网络等已被广泛应用.众多学者在此网络结构基础上提出了一些改进的数据融合算法:如Kim和Cho[9]提出了一种可以自动提取时空特征的CNN-LSTM融合算法;Ma等[10]提出一种基于注意力机制的时空依赖学习网络(STDL-Net),该网络不仅在每个时间步长捕获有区别的、特定于样本的空间特征,还可以对多变量时间序列数据中的多尺度动态进行建模;Karim等[11]对LSTM-FCN[12]和ALSTM-FCN[12]网络进行了改进,在其全卷积网络层分别加入squeeze-and-excitation块[13],形成了新的MLSTM-FCN和MALSTM-FCN网络,该网络体积小、效率高,可以快速地应用于实时系统和嵌入系统;Jing等[14]提出了一种可以自动地从原始数据学习特征,并且可以自适应地选择融合层次的DCNN算法;Gu等[15]提出FDL算法,采用基于熵的灰色关联度分析(EGRA)算法选择与融合决策高度相关的变量,利用LSTM和门控循环单元(GRU)网络提取数据的长短期记忆,从而给出决策.
虽然DCNN算法可以较好地学习原始数据的特征,但却无法捕捉到时间序列数据间的长时间依赖性.FDL算法中的LSTM和GRU网络可以很好地提取数据间时间维度上的特征,然而利用EGRA提取空间特征在某种程度上会破坏数据全局信息,造成一定的信息丢失.因此,本文首先利用奇异谱分析(SSA)算法[16]对时间序列数据去除高噪声的影响,然后结合DCNN和FDL算法的优势,提出了一种混合的神经网络模型,即SCLG算法.该算法不仅可以去除数据高噪声的影响,克服DCNN算法未能处理长时间依赖性的缺点,还可以很好地弥补FDL算法的空间特征提取率低的不足.
SSA[16]是一种研究非线性多变量时间序列数据的强大方法.SSA独立于信号模型,其通过对数据嵌入、奇异值分解、分组、对角平均化四个过程达到自适应降噪的效果,广泛应用于信号的去噪处理中[17],其算法步骤如下:
步骤1(嵌入) 将各传感器观测到的时间序列
为第n个传感器m时刻的测量值,分别转化为多维序列
得到轨迹矩阵:
(1)
其中L为嵌入维数(2≤L≤T),K=T-L+1.通常L的选取不宜过大,不超过整个序列长度的1/3.
步骤2(奇异值分解) 对Xn奇异值分解,可以表示如下:
(2)
其中Δ=diag(σ1,σ2,…,σd),σd为Xn的正奇异值,从大到小排列,U,V分别为Xn的左奇异矩阵和右奇异矩阵.
步骤3(分组) 将序列数据的有用信号成分和噪声分开,选取前r(r<d)个大的奇异值来近似描述轨迹矩阵:
(3)
步骤4(对角平均化) 将分组后的矩阵转化为我们所需的长度为T的序列
转化公式如下:
(4)
其中 Lp=min(L,K), Kp=max(L,K).
近年来,卷积神经网络凭借其强大的特征提取能力在自然语言处理、图像分类等应用领域取得了巨大突破[18].1D-CNN在处理一维模式,尤其是在信号的回归[19]、分类诊断[14]中效果显著.卷积神经网络通过卷积操作在每个时间步长提取各种变量的组合来捕捉变量间的相关性,1D-CNN的卷积操作如图1所示,X1,X2,…,Xt为输入数据,O1,O2,…,Ot-1为大小为3的滑动卷积核对输入数据执行卷积操作后得到的局部输出特征.不同的卷积核会提取到不同的局部特征,为了更好地提取到全局特征,应选择合适的卷积核数量及大小.卷积层参数共享(相同形式的箭头代表相同的滤波参数)的特点,使其参数量远远少于全连接层,从而训练较为容易.
循环神经网络(RNN)是一种可以对序列数据进行建模的网络结构.LSTM[20]是RNN结构的多种变体之一,如图2(a)所示,其记忆单元主要由输入门、遗忘门、输出门组成:输入门it决定新输入的信息哪些被保存到记忆单元中;遗忘门ft决定记忆单元中信息的丢弃与保留;输出门Ot决定是否将记忆单元中的信息输出.由于其独特的记忆单元,LSTM可以很好地解决序列长期依赖[21]和梯度消失问题.输入门、遗忘门、输出门计算公式如下:
(5)
其中Wf,Wi,Wc,Wo是权重矩阵,bf,bi,bc,bo是偏差向量,Ct是记忆细胞,ht是t时刻隐藏层的输出序列,“*”为Hadamard积,σ和tanh为非线性激活函数.
图1 一维卷积操作
Fig. 1 The 1D convolution operation
(a) LSTM (b) GRU
图2 记忆单元结构
Fig. 2 The memory unit structure
图3 SCLG网络结构
Fig. 3 The SCLG network structure
GRU是LSTM的变体,其有较为简单的记忆单元.如图2(b)所示, GRU记忆单元仅有复位门和更新门两个门: 复位门rt控制需要忽略的前一时刻的状态信息的程度[15]; 更新门zt决定前面记忆量保留的多少.GRU简单的记忆单元使其参数少于LSTM, 性能与LSTM相当甚至更好于LSTM[15].复位门、更新门的计算公式如下:
(6)
其中Wz,Wr,Wa是权重矩阵,bz,br,ba是偏差向量.
SCLG模型由SSA操作、三个卷积层、一个LSTM层、一个GRU层和一个全连接层组成,其网络结构如图3所示.通常情况下,传感器采集的数据噪声比较大,因此,首先利用SSA算法对各传感器数据进行去噪处理;由于不同传感器数据有着不同的单位和量级,为去除数据单位限制,利用最大值、最小值标准化将去噪后的数据统一映射到[0,1]区间上;然后将去噪标准化后的数据作为三层CNN的输入,CNN利用卷积操作在其浅层可以融合数据提取基本的空间特征,在其深层融合基本的空间特征提取更抽象的空间特征;将深层CNN中提取的抽象特征送入LSTM和GRU层,从而进一步深度地提取数据的长短期特征[15];最后利用全连接层,综合提取特征的关键信息输出最终决策,因其输出数据是标准化后的,因此将输出数据转换为原始数据量级作为该算法的最终输出.
表1 SCLG网络参数设置
Table 1 The SCLG network parameters setting
layertypeparameter value1SSAL=168, r=164234Conv1Conv2Conv3Nfilters=60,cs=2,padding=‘casual’a=‘LeakyReLU(0.7)’56LSTMGRUNunits=100, a=‘tanh’7FCNunits=1, a=‘LeakyReLU(0.7)’
SCLG网络中的超参数会影响最终的融合结果,常见的参数设置方法一般有试验法、网格搜索法、遗传算法[22]等.本文基于一些通用的设计准则[15-16,23],利用试验法找到最佳参数并使SCLG网络稳定,具体参数设置如表1.其中,Nfilters表示卷积层滤波器的个数,cs表示卷积核的尺寸,a表示激活函数,Nunits表示神经元数量.
本文采用Adam优化算法,训练阶段使用平均绝对误差,共训练140轮,每批次训练40个样本.初始学习率为0.001,训练轮数每增加40轮,学习率变为原来的0.1倍,可减少因轮数增加导致网络陷入局部最优的问题.
在卷积层中一般使用ReLU激活函数, 但当输入值为负时, 由于其导数为0, 导致神经元无法学习,因此本文采用了ReLU激活函数的变体LeakyReLU激活函数,如式(7),解决了ReLU激活函数神经元不学习的问题:
(7)
其中λ是(0,1)区间的一个固定参数.
为验证本文所提算法SCLG的融合性能,采用两个数据集来进行实验并与DCNN、CNN-LSTM[9]、FDL算法进行比较,其性能评价指标如下:
1) 均方根误差[15](root mean square error,RMSE)
(8)
2) 平均绝对误差[15](mean absolute error,MAE)
(9)
3) 平均绝对百分比误差[15](mean absolute percentage error,MAPE)
(10)
4)一致指数[21](index of agreement,IA)
(11)
其中pi为融合值,yi为真实值,
为真实值的平均值,N为融合长度.δRMSE,δMAE,δMAPE越小,说明融合值越接近于真实值,IIA越大,说明融合值与真实值越相似.
本文采用figshare数据库中的SP&500数据集[24],该数据为2008年7月1日至2016年9月30日逐日的股票指数数据.SP&500数据集含有19个属性变量(如表2所示),可以看作是由19个传感器采集.该数据集有2 079条共计39 501个数据,缺失数据935条共计17 765个数据.利用临近点跨度为1的数据的平均值对缺失数据进行填补,计算公式如式(12),补全后的样本容量为3 014.将缺失值补全后的SP&500数据集作为SCLG网络的输入,融合前一周的数据,输出下一天的关盘价格:
(12)
其中Xt为缺失数据,Xt-1为缺失数据前一刻数据,Xt+1为缺失数据后一刻数据.
表2 SP&500数据集描述
Table 2 The SP&500 dataset description
sequence numberattributedefinition1,2,3,4open/close/high/low pricenominal daily open/close/highest/lowest price5trading volumedaily trading volume6MACDmoving average convergence7CCIcommodity channel index8ATRaverage true range9BOLLBollinger band10EMA2020 day exponential moving average11,12MA5/MA105/10 day moving average13,14MTM6/MTM126/12 month momentum15ROCprice rate of change16SMIstochastic momentum index17WVADWilliams’s variable accumulation/distribution18US dollar indexUS dollar index19federal fund rateinterbank offered rate
图4直观展示了SCLG、DCNN、CNN-LSTM、FDL算法在该数据集上的融合性能,其中real代表真实值.对比图4(a)、(b)和(c)可以明显发现,相较于FDL和SCLG算法,DCNN和CNN-LSTM算法的融合值对于真实值有较大的波动;对比图4(a)和图4(b)可以看出,CNN-LSTM算法的波动幅度要小于DCNN算法;对比图4(b)和图4(c)可以看出,FDL算法波动幅度小于CNN-LSTM算法;从图4(c)可以得出,FDL与SCLG算法融合值基本与真实值吻合,但FDL算法略差于SCLG算法.
表3给出了SCLG算法及DCNN、CNN-LSTM、FDL三种算法在SP&500数据集上的融合性能指标值,加粗数据为最优的融合性能指标值.由表3看出,SCLG算法的δRMSE,δMAE,δMAPE值均比其他算法要小,IIA值比其他算法要大.其原因是,SCLG算法可以提取到DCNN无法提取的时间维度上的特征,可以消除CNN-LSTM无法消除的高噪声,比FDL算法提取更全面的空间特征.因此,SCLG算法的融合性能优于其他三种算法.
为了消除仅对比最优的融合结果而导致的偶然性,本文选择20次试验中融合误差最小的10组,对比四种算法的总体融合误差性能分布,如图5所示.观察图5(a)和5(b)发现,SCLG算法的δMAE和δMAPE指标在最大值、最小值、中值以及上四分位数和下四分位数间距离均优于其他三种算法,由图5(c)和5(d)可以得出,四种算法测试的前10次最优结果中,SCLG算法的每一组δRMSE均比其他三种算法小,IIA均比其他算法大.因此,SCLG算法稳定与融合性能最优.
图4 SP&500数据集融合结果可视化
Fig. 4 Visualization of SP&500 dataset fusion results
表3 四种算法在SP&500数据集的融合性能
Table 3 The fusion performances of 4 algorithms in the SP&500 dataset
algorithmδMAEδMAPEδRMSEIIADCNN20.486 81.007 128.486 50.966 5CNN-LSTM14.521 50.715 320.120 80.981 4FDL10.664 30.524 215.591 30.989 3SCLG9.563 60.470 413.004 10.992 6
本文使用的AQI数据来自我国环境监测总站的全国城市空气质量实时发布平台,样本为西安市长安区2018年1月1日至2018年11月30日逐小时的空气质量监测数据.该数据集含有AQI指数以及PM2.5、PM10、SO2、NO2、O3、CO浓度7个属性.由于仪器故障等原因,该数据集部分缺失,因此使用式(12)补全缺失数据,数据补全后的样本容量是8 016.本文将缺失值补全后的AQI数据作为输入送入SCLG网络,融合过去24 h的数据,输出下一时刻的AQI值.
图5 四种算法在SP&500数据集的融合误差
Fig. 5 The fusion errors of 4 algorithms in the SP&500 dataset
使用SCLG、DCNN、CNN-LSTM、FDL算法对AQI数据集融合的各评价指标结果见表4.由表4可以看出SCLG算法在融合精度上明显优于其他三种算法,表明SCLG算法的融合效果较好.
表4 四种算法在AQI数据集的融合性能
Table 4 The fusion performances of 4 algorithms in the AQI dataset
algorithmδRMSEδMAEδMAPEIIADCNN16.213 710.477 319.372 90.980 1CNN-LSTM23.523 315.981 327.419 90.957 0FDL15.030 39.922 717.168 80.983 2SCLG4.972 13.366 95.851 90.998 2
图6 四种算法在AQI数据集的融合误差
Fig. 6 The fusion errors of 4 algorithms in the AQI dataset
图6展示了四种算法在AQI数据集的总体融合误差性能分布,可以消除对比最佳的融合结果而导致的偶然性.从图6(a)和6(b)发现,SCLG算法的δRMSE和δMAE评价指标在最大值、最小值、中值以及上四分位数和下四分位数间的距离均小于其他三种算法;由图6(c)和6(d)可以得出,四种算法测试的前10次最优结果中,SCLG算法的每一组δRMSE均比其他三种算法小,IIA均比其他算法大.因此SCLG算法最为稳定且融合性能最优.
通过实验1与实验2可知,本文提出的SCLG网络较为稳定、泛化性好且在融合精度方面表现更好.
面对结构复杂、高噪音、大规模的时间序列数据集,传统的数据融合算法难以给出融合值与真实值高度吻合的结果.本文将FDL与DCNN算法的优势相结合,提出了集去噪和时空特征提取为一体的SCLG算法,既可以克服DCNN无法对数据在时间维度上提取特征的缺点,又弥补了FDL算法无法去噪及空间特征提取能力低的不足.通过SP&500和AQI数据集上的融合实验对比,表明SCLG算法较为稳定,且融合性能明显优于DCNN、CNN-LSTM、FDL算法.
由于SCLG网络及其参数的复杂性,利用试验法调参比较耗时,往往需要多次试错才能找到最佳的参数设置,传统的调参方法又易收敛到局部最优.因此,研究更有效快速的参数优化方法是笔者下一步的工作.
[1] 孙友强. 时间序列数据挖掘中的维数约简与预测方法研究[D]. 博士学位论文. 合肥: 中国科学技术大学, 2014.(SUN Youqiang. Research on dimensionality reduction and prediction methods in time series data ming[D]. PhD Thesis. Hefei: University of Science and Technology of China, 2014.(in Chinese))
[2] 王晓锋. 时间序列数据挖掘在医疗领域的应用[J]. 软件导刊, 2011, 10(5): 123-124.(WANG Xiaofeng. Application of time series data mining in the medical field[J]. Software Guide, 2011, 10(5): 123-124.(in Chinese))
[3] 黄超, 龚惠群. 金融领域时间序列挖掘技术研究[J]. 东南大学学报(哲学社会科学版), 2007, 9(5): 36-39.(HUANG Chao, GONG Huiqun. A study of time series mining technology in financial field[J]. Journal of Southeast University(Philosophy and Social Science), 2007, 9(5): 36-39.(in Chinese))
[4] 彭跃华, 于江龙. 非线性时间序列分析在气候中的应用研究进展[J]. 气象, 2009, 32(10): 3-7.(PENG Yuehua, YU Jianglong. Research advances of nonlinear time series analysis applying in climatology[J]. Meteorological Monthly, 2009, 32(10): 3-7.(in Chinese))
[5] 孟小峰, 杜志娟. 大数据融合研究: 问题与挑战[J]. 计算机研究与发展, 2016, 53(2): 231-246.(MENG Xiaofeng, DU Zhijuan. Research on the big data fusion: issues and challenges[J]. Journal of Computer Research and Development, 2016, 53(2): 231-246.(in Chinese))
[6] 何绪飞, 艾剑良, 宋智桃. 多元数据融合在无人机结构健康监测中的应用[J]. 应用数学和力学, 2018, 39(4): 395-402.(HE Xufei, AI Jianliang, SONG Zhitao. Multi-Source data fusion for health monitoring of unmanned aerial vehicle structures[J]. Applied Mathematics and Mechanics, 2018, 39(4): 395-402.(in Chinese))
[7] LECUN Y, BENGIO Y, HINTON G. Deeplearning[J]. Nature, 2015, 521: 436-444.
[8] SHEN F, CHAO J, ZHAO J. Forecasting exchange rate using deep belief networks and conjugate gradient method[J]. Neurocomputing, 2015, 167: 243-253.
[9] KIM T Y, CHO S B. Predicting residential energy consumption using CNN-LSTM neural networks[J]. Energy, 2019, 182: 72-81.
[10] MA Q L, TIAN S, WEI J, et al. Attention-based spatio-temporal dependence learning network[J]. Information Sciences, 2019, 503: 92-108.
[11] KARIM F, MAJUMDAR S, DARABI H, et al. Multivariate LSTM-FCNs for time series classification[J]. Neural Networks, 2019, 116: 237-245.
[12] KARIM F, MAJUMDAR S, DARABI H, et al. LSTM fully convolutional networks for time series classification[J]. IEEE Access, 2017, 6(99): 1662-1669.
[13] HU J, SHEN L, SUN G. Squeeze-and-excitation networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 7132-7141.
[14] JING L, WANG T, ZHAO M, et al. An adaptive multi-sensor data fusion method based on deep convolutional neural networks for fault diagnosis of planetary gearbox[J]. Sensors, 2017, 17(3): 414. DOI: 10.3390/s17020414.
[15] GU Y L, LU W Q, QIN L Q, et al. Short-term prediction of lane-level traffic speeds: a fusion deep learning model[J]. Transportation Research Part C: Emerging Technologies, 2019, 106: 1-16.
[16] HASSANI H, MAHMOUDVAND R, ZOKAEI M, et al. On the separability between signal and noise in singular spectrum analysis[J]. Fluctuation and Noise Letters, 2012, 11(2): 1250014.
[17] ZHIGLJAVSKY A. Singular spectrum analysis for time series: introduction to this special issue[J]. Statistics and Its Interface, 2010, 3(3): 255-258.
[18] 俞颂华. 卷积神经网络的发展与应用综述[J]. 信息通信, 2019(2): 39-43.(YU Songhua. The development and application of convolutional neural networks[J]. Information & Communications, 2019(2): 39-43.(in Chinese))
[19] MALEK S, MELGANI F, BAZI Y. One-dimensional convolutional neural networks for spectroscopic signal regression[J]. Journal of Chemometrics, 2018, 32(5): e2977. DOI: 10.1002/cem.2977.
[20] HOCHREITER S, SCHMIDHUBER J. Long short-term memory[J]. Neural Computation, 1997, 9(8): 1735-1780.
[21] HUANG C J, KUO P H. A deep CNN-LSTM model for particulate matter (PM2.5) forecasting in smart cities[J]. Sensors, 2018, 18(7): 2220.
[22] SAGHEER A, KOTB M. Time series forecasting of petroleum production using deep LSTM recurrent networks[J]. Neurocomputing, 2019, 323: 203-213.
[23] ABDEL-HAMID O, DENG L, YU D. Exploring convolutional neural network structures and optimization techniques for speech recognition[C]//Interspeech 2013. Lyon, France, 2013: 1173-1175.
[24] WEI B, JUN Y, RAO Y L, et al. A deep learning framework for financial time series using stacked autoencoders and long-short term memory[J]. Plos One, 2017, 12(7): 1-24.