张浩,刘振娟,李宏光,杨博,路洁
基于关联变量时滞分析卷积神经网络的生产过程时间序列预测方法
张浩1,刘振娟1,李宏光1,杨博1,路洁2
(1北京化工大学信息科学与技术学院,北京 100029;2中国自动化控制系统总公司,北京 100026)
生产过程通常具有大时滞、非线性、多变量耦合等特点,往往难以建立准确的时间序列预测模型。基于生产过程历史数据,提出了一种采用关联变量时滞分析卷积神经网络(CNN)的生产过程时间序列预测方法,首先选取合适的关联变量并对关联变量与输出进行时滞分析,然后利用时滞分析结果确定关联变量时间窗的大小,最后建立合适的CNN模型对时间序列进行预测。某反应精馏过程实验表明,此方法对于大时滞系统的长步长时间序列预测具有较好的准确性。
神经网络;预测;关联变量;时滞系统;反应精馏
生产过程时间序列的准确预测对于提高过程控制与优化品质具有重要的作用[1],然而复杂的生产过程存在大量非线性单元,各个单元间互相关联耦合,以及由于传输管道和积分作用造成较大的时滞,使得很难建立精准的机理模型[2]。为此,利用DCS记录的历史数据建立生产过程的时间序列预测模型成为研究的热点方法。
传统的数据驱动时间序列预测方法多是针对输出序列自身的短时间预测,如自回归积分滑动平均模型(ARIMA)、向量自回归(VAR)、支持向量机(SVM)、三次指数平滑法(Holt-Winters)[3-8]。另外,基于神经网络的时间序列预测方法也引起了研究者的重视,如Liu等[9]提出了基于BP神经网络的动态时间序列预测模型,利用两个相同结构的BP网络分别进行在线预测和训练,实现对NPP操作参数的时间序列的单步预测;Li等[10]提出了结合贝叶斯适应的神经网络模型预测短时间风速。然而,这些算法并不适用于多步或大步长预测。
多步长时间预测存在较大的不确定性,针对多步时间序列预测,常见的方法有两类[11-12]。
(1)迭代法:利用单步时间序列的预测方法预测出下一时刻的值,并将其不断迭代到下步计算,实现多步预测,迭代法会随着算法迭代次数的增加不断增加不确定性,造成误差累加。
(2)直接法:直接利用输入预测多步的时间序列值,直接法对算法的准确性要求较高。
针对多步预测,Xiao等[13]提出了一种动态贝叶斯网络的方法,而算法准确性有待提高;Bontempi[14]提出了一种多输入多输出(MIMO)预测模型;Sorjamaa等[15]提出了DirRec策略;以上方法在输入维度提升时,算法复杂度过高。
生产过程中存在着许多相关变量,如果不进行处理会对时间序列预测造成干扰并增加运算量。常见的关联分析方法包括基于过程机理的分析和基于过程数据的分析。另外,生产过程一般具有大时滞,直接利用关联变量预测,会出现数据错位、遗漏数据信息等问题。此时需要进行时滞分析,根据时滞分析结果,选取合适的时间窗进行预测。互相关分析(cross-correlation analysis,CCA)以滑动时间窗的方式计算不同时间差下相关性,取得最大相关性对应的时间差作为滞后时间,是一种常见的时滞分析方法[16]。Yan等[17]提出了一种基于互相关分析与小波变换的时滞分析方法;Person等[18]进行了基于互相关分析的肌肉电活动分析。
近年来,深度学习[19]得到了迅速发展,常见的深度学习方法有卷积神经网络(convolutional neural network,CNN)、循环神经网络(recurrent neural network,RNN)、RNN的改进算法LSTM(long short-term memory)、深度置信网络(deep belief network,DBN),其中,CNN及LSTM/RNN算法在图像识别、语音处理和自然语言处理等方面取得了显著成就[20-25]。近年来,研究者也开始关注深度学习算法在控制领域中的应用[26-31]。
针对生产过程,提出了一种采用关联变量时滞分析的CNN时间序列预测方法,对于多维输入非平稳多步长预测时有着较好的准确性和实时性。首先,对生产过程中关联变量进行时滞分析,利用滞后时间选择关联变量时间窗,提高了预测的精度;其次,选择合适的卷积核大小对输入数据进行卷积计算,以反映生产过程各变量之间的相互耦合;最后,选择合适的激活函数,以处理生产过程的非线性特性。
1.1 时间序列预测方法
传统的时间序列预测方法,如ARMA(自回归移动平均)、VAR(向量自回归)、Holt-Winters(三次指数平滑法)等,多是针对输出序列自身的预测,如
式中,y代表当前时刻的值;是预测步长;是时间窗的大小。此时间序列预测称为-方法。
式(1)中,时间窗大小的值是时间序列预测中十分重要的参数。在LSTM神经网络中,能自动选取合适的变步长进行计算。但对于大部分算法如CNN和BP等则需要首先设定好步长。目前常见的方法是利用试错法(trial-and-error)不断进行试验调整,以选取合适的值[32-33]。
方法适合应用于平稳短期预测,具有算法复杂度低的优点。但是生产过程中普遍存在着多变量耦合的特征,时间序列往往并非仅仅与自身序列相关,因此需要考虑利用关联变量协助预测、提高算法的准确性。
结合关联变量的预测针对不同的输入情况,可建立3种不同的方法。
第1种方法是仅仅利用关联变量直接对待预测时间变量进行多步预测,其表达式可概括如下
这称为方法。研究表明,方法能预测的变化趋势,但在对积分作用明显时,预测曲线与实际曲线往往会出现上下的错位。
第2种方法是为了提高在积分作用较大的情况下方法的准确性,基于差分思想通过输入序列来预测输出序列,即-方法,其表达式可概括如下
在预测步长较短时,-方法的准确度得到了提高,但在预测步长较大时,准确度并不高。
第3种方法是利用、一起作为输入,预测时刻后的值,称为方法,其表达式可概括如下
由于利用了最多的信息,相比其他方案具有更好的效果,特别是对于较大的预测步长,能更好地提升预测结果。
1.2 关联变量的时滞分析
实际的生产过程含有大量的相关变量,互相关分析(CCA)是进行变量相关分析的一种有效方法,与此同时,CCA还可以提取关联变量的时滞信息。
互相关函数(cross-correlation function,CCF)如下
式中,和分别是备选关联变量和输出;是序列长度;μ、μ是均值;σ、σ是方差。
样本的CCF期望可由下式估计
其中,s、s分别是、的标准差。
时间滞后是选取时间序列时间区间的重要参考量。在生产过程中,往往需要同时考虑纯滞后与容量滞后的影响。纯滞后是由于调节机构的位置距被调参数所在的容积有一段距离,能量的传输需要一定的时间而产生的。被调参数开始变化的时刻落后于扰动出现的时刻,这个滞后的时间称为纯滞后。容量滞后一段是由于物料或能量的传递需要通过一定阻力而引起的,即对象受到一定的作用后,能量从不稳定到再次稳定的过程。如图1所示,其中1为纯滞后,2为容量滞后,为总滞后,等于纯滞后与容量滞后之和。
合适的时间窗大小应当选取等于实际总滞后。但是目前没有合适的算法分别准确计算。在存在容量滞后的情况下,直接利用CCA算法所得的延时接近但并不等于实际总滞后,如果选择当作相关变量的时间窗,在实际时间滞后大于CCA算法计算的的情况下,可能会遗漏关联信息。因此应选取大于的值作为的时间窗大小,可以考虑将乘以一个大于1的修正系数作为的值,即=×(>1)。
2.1 CNN结构与算法
卷积神经网络(CNN)由多个卷积层、pooling层和全连接层级联而成,卷积层可以提取输入特征,利用多个卷积核对输入进行卷积运算,输出同等数量的特征图,卷积层具有权值共享和局部感知的特点。Pooling层是一个下采样层,常见的pooling方式有max-pooling、mean-pooling和stochastic- pooling。在经过多次卷积与pooling后,经全连接层运算得到网络输出。与其他神经网络相似,在全连接层与Pooling层后添加合适的激活函数能提高网络的非线性拟合能力。同时CNN的训练依然是采用BP算法,调整各层权值与偏置。
CNN方法在处理多维度数据如图像处理方面具有优势,图2是Geoffrey提出的AlexNet模型[20],它是一个经典CNN网络结构。
在处理多维时间序列时,CNN局部感知、权值共享以及下采样的特点能减少大量参数个数,大幅提高运算效率。参考AlexNet模型,本文将在每个Pooling层及全链接层后加入Relu激活函数,并加入Dropout层减弱过拟合。
在训练CNN时,这里选取Euclidean Loss作为BP的损失函数,即
同时选择Relu为激活函数,在BP算法中使用Sigmoid激活函数很容易造成梯度消失或者梯度爆炸的情况,Relu凭借其稀疏性改善了这个问题,即
(8)
2.2 基于的时间序列预测方法
CNN算法在时间序列预测中有以下优势:首先,CNN中卷积层的存在能够处理多维输入之间的相互耦合关系,进而增加算法的准确性;其次,CNN中的激活函数使得其能有效拟合非线性函数,而全连接层的加入进一步提升了网络的拟合能力;最后,相比传统全连接神经网络,CNN卷积层权值共享、局部感知的特点以及pooling层下采样的特点,使得CNN算法的复杂度远低于全连接神经网络。因此在根据时滞分析选取合适的输入时间窗后,利用CNN进行时间序列预测是一种可行的有效方案。
在利用CNN进行生产过程时间序列预测时,首先需要确定网络的输入。对于模型,一般使用trial-and-error的方式选取时间窗,确定网络的输入;对于模型,首先利用CCA算法,选取与待预测时间序列(输出)互相关系数大于阈值的变量作为相关变量,然后利用CCA算法求得的时滞信息,确定时间窗;同理,可确定-模型与模型的输入。
对于模型的CNN预测模型网络结构,考虑到输入维度的特点,不同于传统图像处理方法中使用方形(×)的卷积核尺寸,可以选取长条形卷积核和pooling窗尺寸,具体步骤如下:
(1)分析数据,利用trial-and-error方式选取合适的时间窗。
(2)利用几个具有长条形尺寸卷积核和pooling窗的卷积层和pooling层,将输入宽度降到较小的值。
(3)添加全连接层得到网络输出。
(4)训练模型,根据效果调整网络结构。
图3是一个时间窗为的模型CNN模型结构,其中Conv是卷积层的简写,p是对应的第个卷积核的长度,MP是max-pooling层的简写,q分别是对应的第个Pooling窗口长度,C是第个卷积层中特征图的个数。F是全链接层输出个数。
对于和模型,CNN结构设计方法相同。在只有一个关联变量时,网络的设计与Y-Y型类似,只是在确定时间窗的时候选取CCA算法。
考虑多个关联变量的情况,首先利用CCA算法选取互相关系数大于阈值的变量作为相关变量,然后选取这些关联变量最大的时滞,乘以修正系数作为时间窗长度的值。对于网络结构,本文提出在第1个卷积层选择宽度等于输入维度的矩形卷积核,将输入宽度变为1。对于个相关变量,时间窗长度为的情况,首先利用×的卷积核尺寸,将输入宽度变为1,然后利用模型的CNN设计步骤进行设计。为此,设计和型网络结构的步骤如下:
(1)分析数据,利用CCA算法,选取这些关联变量最大的时滞,乘以修正系数作为时间窗长度的值。
(2)在第1个卷积层利用×大小的卷积核将输入宽度变为1。
(3)利用模型的CNN设计步骤进行后续的网络结构设计。
如图4所示。
对于模型,可行的思路是将与平等的作为输入,采用/的网络结构设计。
2.3 基于CNN的时间序列预测实现
CNN离线训练的步骤是,首先从生产过程中取得历史数据,对数据进行分析和预处理。预处理包括异常值剔除、数据归一化以及利用CCA得到关联变量和时滞变量。然后根据数据的特点设计CNN网络结构,将处理好的数据送入网络进行训练。达到训练迭代次数后检验结果是否符合要求。如果不符合,则调整网络结构重新训练,直到达到满意效果。离线训练过程如图5所示。
在线进行时间预测是CNN前传的过程。首先从生产过程中的DCS中获取实时数据,并将数据按照训练预处理时的方式进行归一化处理,然后将归一化后的数据送入卷积神经网络进行预测得到输出,再将输出结果反归一化,循环等待下一时刻数据的传入。在线预测过程如图6所示。
考虑如图7所示的某反应+精馏过程模型,0和1是两个进料量,经过反应器X后生成物由管道a传输至精馏塔A,塔釜馏出液经管道b传输至存储罐A,再经管道c输送至精馏塔B,其塔釜液送至储罐B。由于测量及工艺限制,部分变量如精馏塔A侧线出料流量2和塔A液位0等不能直接测量。采样周期为5 s,获取了60000组数据,随机选取50000组用于训练,其余10000组用于测试。
为了预测精馏塔A的液位1的时间序列,首先利用CCA算法,从多个可测变量中筛选出关联变量。这里,经CCA算法从7个可测变量中选取了2个关联变量,同时利用CCA算法得出它们的最大时滞,见表1。
表1 关联变量选取及时滞分析
其中,将最大关联系数大于阈值0.2,且时滞大于0的变量选为关联变量即0和1。对于///模型,选择修正系数=1.1,则输入时间窗大小=×=16×1.1≈50。而对于模型利用试错法选取时间窗大小。
3.1模型
利用试错法,选取=26,设计网络结构如图8所示。
分别利用模型做了单步预测、短步长预测(预测时间为5)、长步长预测(预测时间为20)。输出的预测结果曲线和平方误差曲线分别如图9~图11所示。
图11 长步长Y-Y预测
实验结果显示,随着预测步长的增加,误差逐渐增大。可见,模型预测难以有效地预测变量的变化趋势。
3.2模型
利用CCA算法算得的时间窗大小=50,设计网络结构如图12所示。
分别利用模型做了短步长预测(预测时间为5)、长步长预测(预测时间为20)。输出的预测结果曲线和平方误差曲线分别如图13、图14所示。
实验结果显示,能预测变化趋势,但由于积分作用的存在容易出现上下偏差。
3.3模型
利用CCA算法算得的时间窗大小=50。模型结构与模型一致。分别利用模型做了短步长预测(预测时间为5)、长步长预测(预测时间为20)。输出的预测结果曲线和平方误差曲线分别如图15、图16所示。
Fig .15 Short-time predictions ofmodels
实验结果显示,在短步长情况下,能提高预测效果,但在长步长预测时偏差较大。
3.4模型
利用CCA算法算得的时间窗大小=50,模型结构如图17所示。
分别利用-模型做了短步长预测(预测时间为5)、长步长预测(预测时间为20)。输出的预测结果曲线和平方误差曲线分别如图18、图19所示。
实验结果显示,模型在短步长与长步长情况下都有着较好的结果。
表2给出了各种模型的结果对比。
表2 不同算法误差分析
3.5 对比实验
此节利用ARMA、BP神经网络(3个隐含层)与本文所提的CNN算法进行预测对比实验。同样针对反应+精馏过程,进行20步预测,选取10000组数据进行测试。其中100组连续数据的预测结果曲线如图20所示。
CNN、BP、ARMA预测的平方误差分别为:6.489×10−6、7.546×10−6、7.167×10−4(10000组数据的平均平方误差)。同时在i5-6300hq的CPU上测得(不使用GPU加速)CNN、BP、ARMA平均单次预测耗时分别为1.969、3.722、0.0206 ms。
实验结果显示,在长步长(20)预测时,BP神经网络与CNN均能较好地进行预测。相比神经网络算法,虽然ARMA算法有着较高的时效性,却不能达到良好的预测效果。由于CNN中卷积层权值共享、局部感知的特点以及pooling层下采样的特点,使得在输入维度升高时,CNN算法的预测耗时低于BP算法。
针对长步长时间序列预测的问题,提出了一种基于CNN的协关联变量的时间序列预测方法。对于大时滞生产过程,解决了传统算法在长步长时间序列预测时准确性差的问题,以及当输入维度升高时,算法复杂度过高的问题。基于关联变量时滞分析的CNN预测方法能够有效地利用得到的信息,提高时间序列预测的准确性,这也通过实验过程测试得到了有效的验证。
[1] 李宏光, 臧灏. 管式加热炉多模型神经网络预测控制[J]. 控制工程, 2012, 19(4): 650-653. LI H G, ZANG H. Multi-model adaptive neural network based predictive control of furnace[J]. Control Engineering of China, 2012, 19(4): 650-653.
[2] ZHANG X X, XU J, ZHANG S,. Experiment on parameter identification of a time delay coupled nonlinear system[J]. IFAC Papersonline, 2015, 48(11): 694-699.
[3] SZMIT M, SZMIT A. Use of holt-winters method in the analysis of network traffic case study[J]. Communications in Computer & Information Science, 2011, 160: 224-231.
[4] ROSSI M, BRUNELLI D. Forecasting data centers power consumption with the Holt-Winters method[C]// Process of IEEE Workshop on Environmental, Energy and Structural Monitoring Systems IEEE, 2015: 210-214.
[5] PRAVILOVIC S, APPICE A, MALERBA D. Integrating Cluster Analysis to the ARIMA Model for Forecasting Geosensor Data[M]. Foundations of Intelligent Systems, 2014: 234-243.
[6] 王锋, 李宏光, 臧灏. 基于Logistic和ARMA模型的过程报警预测[J]. 化工学报, 2012, 63(9): 2941-2947. WANG F, LI H G, ZANG H. Process alarm prognosis based on Logistic and ARMA models[J]. CIESC Journal, 2012, 63(9): 2941-2947.
[7] LENG X Z, WANG J H, JI H B,. Prediction of size-fractionated airborne particle-bound metals using MLR, BP-ANN and SVM analyses[J]. Chemosphere, 2017, 180: 513.
[8] WANG L, TING M F, CHAPMAN D,. Prediction of northern summer low-frequency circulation using a high-order vector auto-regressive model[J]. Climate Dynamics, 2015, 46: 1-17.
[9] LIU Y K, XIE F, XIE C L,. Prediction of time series of NPP operating parameters using dynamic model based on BP neural network[J]. Annals of Nuclear Energy, 2015, 85: 566-575.
[10] LI G, SHI J, ZHOU J Y. Bayesian adaptive combination of short-term wind speed forecasts from neural network models[J]. Renewable Energy, 2011, 36(1): 352-359.
[11] ATIYA A F, EL-SHOURA S M, SHAHEEN S I,. A comparison between neural-network forecasting techniques-case study: river flow forecasting[J]. IEEE Transactions on Neural Networks, 1999, 10(2): 402-409.
[12] CHEVILLON G. Direct multi-step estimation and forecasting[J]. Journal of Economic Surveys, 2007, 21(4): 746-785.
[13] XIAO Q K, XING L, SONG G. Time series prediction using optimal theorem and dynamic Bayesian network[J]. Optik-International Journal for Light and Electron Optics, 2016, 127(23): 11063-11069.
[14] BONTEMPI G. Long term time series prediction with multi-input multi-output local learning[J]. Proceedings of European Symposium on Time, 2008: 145-154.
[15] SORJAMAA A, LENDASSE A. Time series prediction using dirrec strategy[C]// Esann 2006, European Symposium on Artificial Neural Networks, Bruges, Belgium, Proceedings. DBLP, 2006: 143-148.
[16] YANG F, DUAN P, SHAH S L,. Capturing connectivity and causality in complex industrial processes[C]// Springer Publishing Company, Incorporated, 2014: 45-46.
[17] YAN H, ZHANG Y P, YANG Q. Time-delay estimation based on cross-correlation and wavelet denoising[C]// Chinese Intelligent Automation Conference, 2013: 841-848.
[18] PERSON R S, MISHIN L N. Auto- and cross- correlation analysis of the electrical activity of muscles[J]. Medical & Biological Engineering & Computing, 1964, 2(2): 155.
[19] SCHMIDHUBER J. Deep learning in neural networks: an overview[J]. Neural Networks, 2015, 61: 85-117.
[20] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks[C]// International Conference on Neural Information Processing Systems, 2012: 1097-1105.
[21] SOUTNER D, MÜLLER L. Application of LSTM Neural Networks in Language Modelling[M]. Text, Speech, and Dialogue. Springer Berlin Heidelberg, 2013: 105-112.
[22] MORTON J, WHEELER T A, KOCHENDERFER M J. Analysis of recurrent neural networks for probabilistic modeling of driver behavior[J]. IEEE Transactions on Intelligent Transportation Systems, 2016, 99: 1-10.
[23] LIU W, ANGUELOV D, ERHAN D,. SSD: Single shot multibox detector[C]// European Conference on Computer Vision. Springer International Publishing, 2016: 21-37.
[24] GIRSHICK R. Fast R-CNN[C]// IEEE International Conference on Computer Vision. IEEE Computer Society, 2015: 1440-1448.
[25] REN S Q, HE K M, GIRSHICK R,. Faster R-CNN: towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2016, 39(6): 1137.
[26] 段艳杰, 吕宜生, 张杰, 等. 深度学习在控制领域的研究现状与展望[J]. 自动化学报, 2016, 42(5): 643-654. DUAN Y J, LÜ Y S, ZHANG J,. Deep learning for control: the state of the art and prospects[J]. Acta Automatica Sinica, 2016, 42(5): 643-654.
[27] 韩改堂, 乔俊飞, 韩红桂. 基于递归模糊神经网络的污水处理控制方法[J]. 化工学报, 2016, 67(3): 954-959. HAN G L, QIAO J W, HAN H G. Wastewater treatment control method based on recurrent fuzzy neural network[J]. CIESC Journal, 2016, 67(3): 954-959.
[28] ZHU Q X, JIA Y W, PENG D,. Study and application of fault prediction methods with improved reservoir neural networks[J]. Chinese Journal of Chemical Engineering, 2014, 22(7): 812-819.
[29] POUL A K, SOLEIMANI M, SALAHI S. Solubility prediction of disperse dyes in supercritical carbon dioxide and ethanol as co-solvent using neural network[J]. Chinese Journal of Chemical Engineering, 2016, 24(4): 491-498.
[30] HE Y L, XU Y, ZHAO Z Q,. Soft sensor of chemical processes with large numbers of input parameters using auto-associative hierarchical neural network[J]. Chinese Journal of Chemical Engineering, 2015, 23(1): 138-145.
[31] 安爱民, 刘云利, 张浩琛, 等. 微生物燃料电池的动态性能分析及其神经网络预测控制[J]. 化工学报, 2017, 68(3): 1090-1098. AN A M, LIU Y L, ZHANG H T,. Dynamic performance analysis and neural network predictive control of microbial fuel cell[J]. CIESC Journal, 2017, 68(3): 1090-1098.
[32] SEDKI A, OUAZAR D, MAZOUDI E E. Evolving neural network using real coded genetic algorithm for daily rainfall-runoff forecasting[J]. Expert Systems with Applications, 2009, 36(3): 4523-4527.
[33] ZHANG G P. Time series forecasting using a hybrid ARIMA and neural network model[J]. Neurocomputing, 2003, 50: 159-175.
Process time series prediction based on application of correlated process variables to CNN time delayed analyses
ZHANG Hao1, LIU Zhenjuan1, LI Hongguang1, YANG Bo1, LU Jie2
(1College of Information Science & Technology, Beijing University of Chemical Technology, Beijing 100020, China;2China National Automation Control System Co., Beijing 100026, China)
It is often difficult to establish models for accurate time series prediction, as a result of time delay, nonlinearity, and multi-variable coupling characteristics in production processes. A time series prediction method was proposed by applying correlated process variables to time delayed analysis of convolutional neural network (CNN). First, appropriate correlated variables were selected and time series were analyzed between these variables and outputs. Then, results of time series analysis were employed to determine length of temporal time windows of associated variables. Finally, appropriate CNN models were established for time series prediction. Experimental results of a reaction distillation process showed good accuracy in time series prediction of long time frame and large time-delay processes.
neural networks; prediction; correlated variable; time-delay system; reactive distillation
10.11949/j.issn.0438-1157.20170197
TP 183
A
0438—1157(2017)09—3501—10
2017-02-28收到初稿,2017-06-01收到修改稿。
李宏光。
张浩(1992—),男,硕士研究生。
2017-02-28.
Prof. LI Hongguang, lihg@mail.buct.edu.cn