故障时间序列,作为一个重要的可靠性指标,能够展示故障的动态演化过程,并且已经被多种数据驱动的方法预测,比如自回归移动平均(Autoregressive Integrated Moving Average, ARIMA)[4]、奇异谱分析(Singular Spectrum Analysis, SSA)[5]、支持向量回归(Support Vector machines Regression, SVR)[6]、人工神经网络(Artificial Neural Network, ANN)[7]等。由于可靠性数据通常不易获取,已有的研究大多是面向组件级故障数据的,比如文献[7]提供的柴油机涡轮增压器和汽车发动机故障时间序列。这些数据表现为规则性很强的曲线形态并且能够被单一模型很好地拟合和预测。然而,对于系统级故障数据,比如文献[3]提供的民航飞机整机故障时间序列,由于其复杂且不规则的曲线形态,已有的单一模型很难达到理想的预测效果[8]。为此,文献[8]提出了一种基于SSA和SVR的混合方法,该方法首先从原始数据中提取故障特征成分然后分别建模和预测,得到了比单一模型更好的实验结果。然而,混合方法的构建过程复杂、人工依赖性强,不利于在实际中推广和使用。
近年来,随着深度学习技术的不断发展,一些深度学习模型逐渐被应用到时序数据的研究中。深度学习模型是一种拥有多个非线性映射层级的深度神经网络模型,能够对输入信号逐层抽象并提取特征,挖掘出更深层次的潜在规律[9]。在众多深度学习模型中,循环神经网络(Recurrent Neural Network, RNN)将时序的概念引入到网络结构设计中,使其在时序数据分析中表现出更强的适应性。在众多RNN的变体中,长短期记忆(Long Short-Term Memory, LSTM)模型[10]弥补了RNN的梯度消失和梯度爆炸、长期记忆能力不足等问题,使得循环神经网络能够真正有效地利用长距离的时序信息。LSTM模型在不同领域的时序数据研究中已有不少成功的应用案例,包括文字语言相关的语言建模、语音识别、机器翻译[11],多媒体相关的音频和视频数据分析、图片标题建模[12-13],道路运输相关的交通流速预测[14],以及医学相关的蛋白质二级结构序列预测[15]等。然而,在可靠性领域,LSTM模型的应用非常有限,特别是对于故障时间序列预测这一研究问题,目前还未发现相关研究。
本文针对系统级故障时间序列数据,提出了一种基于LSTM循环神经网络的预测方法,包括3层(输入层、隐藏层和输出层)网络结构的详细设计,以及网络训练和网络预测的实现算法等。在此基础上,以预测误差最小为目标,进一步提出了一种基于多层网格搜索的LSTM预测模型参数优选算法。应用文献[3]提供的民航飞机故障数据展开实验,并与Holt-Winters、ARIMA等多种时间序列预测模型进行实验对比。实验结果展示了所提出的LSTM预测模型及其参数优选算法在故障时间序列预测中的优越性能。
1 相关理论和技术 本节简要介绍LSTM模型,包括前向计算方法、基于时间的反向传播(Back Propagation Through Time, BPTT)算法、Adam参数优化算法,以及相关的RNN、GRU模型。
对于给定序列x=(x1, x2, …, xn),应用一个标准的RNN模型[16] (如图 1所示),可以通过迭代式(1)~式(2)计算出一个隐藏层序列h=(h1, h2, …, hn)和一个输出序列y=(y1, y2, …, yn)。
(1) |
(2) |
图 1 RNN模型及隐藏层细胞结构 Fig. 1 RNN model and cell structure in hidden layer |
图选项 |
式中:W为权重系数矩阵(比如Wxh表示输入层到隐藏层的权重系数矩阵);b为偏置向量(比如bh表示隐藏层的偏置向量);fa为激活函数(比如tanh函数);下标t表示时刻。
尽管RNN能够有效地处理非线性时间序列,但是仍然存在以下2个问题[14]:①由于梯度消失和梯度爆炸的问题,RNN不能处理延迟过长的时间序列;②训练RNN模型需要预先确定延迟窗口长度,然而实际应用中很难自动地获取这一参数的最优值。由此,LSTM模型应用而生。LSTM模型是将隐藏层的RNN细胞替换为LSTM细胞,使其具有长期记忆能力。经过不断地演化,目前应用最为广泛的LSTM模型细胞结构[16]如图 2所示,z为输入模块,其前向计算方法可以表示为
(3) |
(4) |
(5) |
(6) |
(7) |
图 2 LSTM隐藏层细胞结构 Fig. 2 LSTM cell structure in hidden layer |
图选项 |
式中:i、f、c、o分别为输入门、遗忘门、细胞状态、输出门;W和b分别为对应的权重系数矩阵和偏置项;σ和tanh分别为sigmoid和双曲正切激活函数。LSTM模型训练过程采用的是与经典的反向传播(Back Propagation, BP)算法原理类似的BPTT算法[17],大致可以分为4个步骤:①按照前向计算方法(式(3)~式(7))计算LSTM细胞的输出值;②反向计算每个LSTM细胞的误差项,包括按时间和网络层级2个反向传播方向;③根据相应的误差项,计算每个权重的梯度;④应用基于梯度的优化算法更新权重。
基于梯度的优化算法种类众多,比如随机梯度下降(Stochastic Gradient Descent, SGD)[18]、AdaGrad[19]、RMSProp[20]等算法。本文选用的是文献[21]提出的适应性动量估计(Adaptive moment estimation, Adam)算法。Adam优化算法是一种有效的基于梯度的随机优化方法,该算法融合了AdaGrad和RMSProp算法的优势,能够对不同参数计算适应性学习率并且占用较少的存储资源。相比于其他随机优化方法,Adam算法在实际应用中整体表现更优[21]。
此外,LSTM模型演化出了很多变体,其中最成功的一种是文献[22]提到的门限循环单元(Gated Recurrent Unit, GRU)。GRU模型是LSTM模型的简化版本,但是保留了LSTM模型的长期记忆能力,其主要变动是将LSTM细胞中的输入门、遗忘门、输出门替换为更新门和重置门,并将细胞状态和输出2个向量合二为一。在实际应用中,GRU模型与LSTM模型具有很强的可比性[22]。
2 研究方法 根据系统级故障时间序列数据的特点,结合第1节介绍的相关理论和技术,本节给出基于LSTM模型的故障时间序列预测方法,以及对应的基于多层网格搜索的参数优选算法。
2.1 基于LSTM的故障时间序列预测 考虑到单变量故障时间序列有限样本点的数据特征,以及循环神经网络从简的设计原则,本文构建LSTM预测模型的整体框架如图 3所示,包括输入层、隐藏层、输出层、网络训练以及网络预测5个功能模块。输入层负责对原始故障时间序列进行初步处理以满足网络输入要求,隐藏层采用图 2表示的LSTM细胞搭建单层循环神经网络,输出层提供预测结果,网络训练采用第1节提到的Adam优化算法,网络预测采用迭代的方法逐点预测。
图 3 基于LSTM的故障时间序列预测框架 Fig. 3 LSTM based framework for failure time series prediction |
图选项 |
2.1.1 网络训练 网络训练主要以隐藏层为研究对象。首先在输入层中,定义原始故障时间序列为Fo={f1, f2, …, fn},则划分的训练集和测试集可以表示为Ftr={f1, f2, …, fm}和Fte={fm+1, fm+2, …, fn},满足约束条件m < n和m, n∈N。然后对训练集中的元素ft进行标准化,采用经典的z-score标准化公式(均值为0,标准差为1,表示为zscore),标准化后的训练集可以表示为
(8) |
(9) |
为了适应隐藏层输入的特点,应用数据分割的方法对F′tr进行处理,设定分割窗口长度取值为L,则分割后的模型输入为
(10) |
(11) |
对应的理论输出为
(12) |
(13) |
接下来,将X输入隐藏层。从图 3可以看出,隐藏层包含L个按前后时刻连接的同构LSTM细胞,X经过隐藏层后的输出可以表示为
(14) |
(15) |
式中:Cp-1和Hp-1分别为前一个LSTM细胞的状态和输出;LSTMforward表示第1节提到的LSTM细胞前向计算方法(式(3)~式(7))。设定细胞状态向量大小为Sstate,则Cp-1和Hp-12个向量的大小均为Sstate。可以看出,隐藏层输出P、模型输入X和理论输出Y都是维度为(m-L, L)的二维数组。选用均方误差作为误差计算公式,训练过程的损失函数可以定义为
(16) |
设定损失函数最小为优化目标,给定网络初始化的随机种子数seed、学习率η以及训练步数steps,应用Adam优化算法不断更新网络权重,进而得到最终的隐藏层网络。
2.1.2 网络预测 本小节应用训练好的LSTM网络(表示为LSTMnet*)进行预测。预测过程采用迭代的方法。首先,理论输出Y的最后一行数据为
(17) |
将Yf输入LSTMnet*,输出结果可以表示为
(18) |
则m+1时刻的预测值为pm+1。然后,将Yf的最后L-1个数据点和pm+1合并为新的一行数据
(19) |
将Yf+1输入LSTMnet*,则m+2时刻的预测值为pm+2,依次类推,得到的预测序列为
(20) |
接下来,通过对Po进行z-score反标准化(表示为de_zscore),得到最终的与测试集Fte对应的预测序列为
(21) |
(22) |
类似地,将X的每一行作为模型输入可以得到与训练集Ftr对应的拟合序列Ptr。最后,通过计算Ftr和Ptr,以及Fte和Pte的偏差定量地给出模型的拟合和预测精度。
总的来说,基于LSTM的故障时间序列模型训练和预测算法概括如下:
算法1?训练并预测LSTM故障时间序列模型
输入:Fo, m, L, Sstate, seed, steps, η。
输出:与测试集对应的预测序列以及模型精度。
1?get Ftr, Fte from Fo by m
2?F′tr=zscore(Ftr)
3?get X, Y from F′tr by L
4?create LSTMcell by Sstate
5?connect LSTMnet by LSTMcell and L
6?initialize LSTMnet by seed
7?for each step in 1:steps
8????P=LSTMforward(X)
9????
10????update LSTMnet by Adam with loss and η
11?get LSTMnet *
12?for each j in 0:(n-m-1)
13???Pf+j=LSTMnet*(Yf+j)
14?append Po with Pf+j[-1]
15?Pte=de_zscore(Po)
16?error measure ε(Pte, Fte), εe(Ptr, Ftr)
其中:训练过程涉及输入层、隐藏层、输出层、网络训练4个模块,预测过程主要涉及输出层模块; LSTMcell表示LSTM隐藏层细胞(如图 2所示); LSTMnet表示LSTM隐藏层网络(如图 3所示); εe为误差度量函数。
2.2 基于多层网格搜索的LSTM预测模型参数优选 在构建上述LSTM预测模型中,涉及到众多参数,其中以分割窗口长度L、状态向量大小Sstate和学习率η最为关键[16]。为了达到更好的预测效果,本文采用网格搜索的方法对这3个参数进行优选。相比与其他的超参数优化方法(比如遗传算法[23]、随机搜索算法[16]、粒子群算法[24],贝叶斯算法[25]等),网格搜索是一种简单实用、容易并行计算且计算耗时可控的优化方法[26],能够很好地满足故障时间序列预测的任务需求和实验要求。参数优选的依据是测试集全部测试点上的预测精度最高,即预测误差ε(Pte, Fte)最小,目标函数可以表示为
(23) |
式中:stepL、stepstate和stepη分别为对应参数的网格搜索步长。L、Sstate和η这3个参数构成了一个三维搜索空间,可以通过多层网格搜索算法(算法2)获取最优参数组合。搜索过程主要包括3层,从内到外分别对Sstate、L和η进行网格搜索。首先,固定随机种子数seed和训练步数steps,根据式(23)预设3个参数的取值范围(为了降低模型复杂度,分别将Lmax和Smax控制在较小的取值);然后,分别遍历3个参数的取值范围,在最内层训练并预测LSTM故障时间序列模型(如算法2所示,表示为LSTMpredict),保存对应的模型参数和模型精度;最后,对所有保存的结果按照预测精度由高到低排序,则最前面的参数组合即优选的模型参数。
算法2??LSTM预测模型参数优选
输入:Fo, seed, steps, m, L, Sstate, η, stepL, stepstate, stepη。
输出:测试集上预测误差较低的参数组合。
1??predefine values of seed, steps
2??predefine value ranges of L, Sstate, η
3??for each η in η1, η2, …, ηr by stepη
4?????for each L in 2:Lmax by stepL
5???????????for each Sstate in 2:Smax by stepstate
6????????????????execute LSTMpredict(Fo, m, L, Sstate, seed, steps, η)
7?????????????append results with L, Sstate, η, ε(Pte, Fte), ε(Ptr, Ftr)
8??end (for); end (for); end (for)
9??return results ranked by ε(Pte, Fte)
3 实验验证 本节结合一个航空领域的工业案例,应用第2节提出的LSTM预测模型及其参数优选算法展开实验验证。
3.1 实验准备 首先介绍实验中所选用的故障数据集,与本文提出的LSTM模型相对比的其他时间序列预测模型,评价不同预测模型优劣的精度度量指标,以及实验运行平台和软硬件环境配置。
3.1.1 数据集 实验数据采用文献[3]提供的系统级故障时间序列数据集。该数据集包含两架正在运营的波音737飞机18年(1997—2014年)的故障记录,通过整理后得到2个包含216个数据点的月度故障时间序列数据。故障时间序列如图 4所示,分别对应A飞机和B飞机2个数据源,横坐标为年份,纵坐标为月度故障数。从图中可以看出,这2个系统级故障数据相比于文献[7]提供的组件级故障数据表现出更为复杂的曲线形态。此外,对于复杂系统来说,一定时期内发生的故障数可以视为系统的平均故障率[27],用公式表示为λa=
图 4 A、B飞机的月度故障时间序列数据 Fig. 4 Monthly failure time series data for Aircraft A and Aircraft B |
图选项 |
3.1.2 对比模型 除了第1节提到的RNN和GRU模型,本文将LSTM模型与以下5种时间序列预测模型进行实验对比。
1) Holt-Winters模型
Holt-Winters又称3次指数平滑,是一种能够处理含有趋势性和周期性成分的时间序列分析方法[28]。其思想是利用历史数据的不同特征成分(水平、趋势和季节)来递推当前数据。Holt-Winters模型的重要参数是与特征成分对应的3个平滑系数,即α、β和γ,取值均为0到1之间,且越靠近1则预测结果越依赖于近期观测值。此外,根据季节性成分在递推公式中的不同组织形式,Holt-Winters模型又分为加法和乘法2种类型(分别表示为Holt-Wintersa和Holt-Wintersm)。在实际使用中,这2种类型均需要计算不同特征成分的初始值,并根据均方误差最小来计算3个平滑系数。
2) 自回归移动平均
ARIMA是时间序列分析的经典理论和方法,其模型可以表示为ARIMA(p, d, q),其中p、d、q分别为自回归项数、差分次数、移动平均项数[29]。在实际使用中,这3个参数可以通过观测自相关函数(Auto Correlation Function, ACF)和偏自相关函数(Partial Auto Correlation Function, PACF)确定,也可以通过计算AIC(Akaike Information Criterion)或BIC(Bayesian Information Criterion)值取其最小来确定。本文采用了文献[30]提出的自动化方法建立ARIMA模型。
3) 奇异谱分析
SSA是一种时域和频域相结合的非参数方法,可以用于处理非线性、非平稳以及包含噪声的时间序列,其核心思想是提取序列中的有效成分建模和预测[31]。SSA包括分解和重构2个过程,其中分解过程又包括嵌入和奇异值分解(Singular Value Decomposition, SVD)2个子过程,重构过程又包括分组和对角平均2个子过程。在实际使用中,需要确定的2个参数为嵌入子过程的窗口长度Lssa和分组子过程的分组类别Gssa。本文根据文献[32]提出的方法确定这2个参数的取值范围并取其最大值。此外,SSA包含递归和向量2种预测方法(分别表示为SSAr和SSAv),其中向量预测方法拥有更好的稳定性但是需要消耗更多的计算资源。
4) 多元线性回归
多元线性回归(Multiple Linear Regression, MLR)是一种广泛应用于预测任务的多因素分析方法[33]。MLR用于时间序列预测的模型可以表示为Yt=a0+a1Yt-1+a2Yt-2+…+akYt-k+e,其中:Yt为t时刻的预测值,a1, a2, …, ak为不同历史时刻数据Yt-1, Yt-2, …, Yt-k对应的回归系数,a0和e分别为偏置项和误差项[34]。当连续的历史时刻数据被选为多因素变量时,k也可以称为窗口长度(表示为Lmlr)。本文选定连续2年的月度故障数据点个数24作为k的取值。
5) 支持向量回归
SVR是一种可以用于时间序列预测的机器学习方法[35]。这种方法通过一个非线性核函数将多维输入映射到更高维度的特征空间后执行回归运算,进而得到与输出指标的非线性映射关系。本文选择常用的高斯径向基函数(Gaussian Radial Basis Function, RBF)作为非线性核函数,并采用文献[36]提出的启发式方法计算核函数参数σsvr和误差边界ε。此外,SVR模型的惩罚因子C和窗口长度Lsvr分别设置为3和24。
3.1.3 度量指标 本文从以下2个方面评价所有的预测模型:计算耗时和模型精度。对于计算耗时,本文统计了每个模型在构建过程中消耗的时间;对于模型精度,本文选择均方根误差(Root Mean Square Error, RMSE)作为度量标准。RMSE的计算公式可以表示为
3.1.4 平台和环境 实验所使用计算机的配置如下:处理器为英特尔酷睿Duo CPU i5-6500,CPU频率为3.20 GHz和3.19 GHz;内存为4.00 GB;操作系统为Windows 10(64位);程序设计语言为Python 3.5.2(64位)和R 3.3.3(64位);集成开发环境为PyCharm Community Edition 2016.3.2和Rstudio 0.99.903。程序设计过程中,RNN、LSTM和GRU模型由Python的tensorflow 0.12.0rc0[37]程序包实现,Holt-Winters、ARIMA、SSA、MLR和SVR模型由R的stats 3.3.3[38]、forecast 8.0[39]、Rssa 0.14[40]和rminer 1.4.2[41]程序包实现。
3.2 实验结果 首先,以飞机A为例,应用2.1节提出的方法对标准化后的故障时间序列训练集建立LSTM预测模型。这里初步根据经验确定模型参数,分割窗口长度L取最小值2,状态向量大小Sstate取半年的月度故障数据点个数6,随机种子数seed=1,训练步数steps=500。图 5展示了相同参数下不同学习率(η=0.05, 0.1, 0.5)训练LSTM模型的损失变化和模型精度。可以看出:当η=0.05和η=0.1时,最终获得的损失较小(0.83左右);3个学习率对应的训练集拟合精度基本相同(RMSE值在2.0附近);在3、4、5、6和12个测试点上,η=0.1的预测精度最高(RMSE值最低)。因此,本文选定η=0.1训练LSTM模型。
图 5 不同学习率的损失变化和模型精度对比(A飞机) Fig. 5 Comparison of loss change and model accuracy with different learning rates (Aircraft A) |
图选项 |
为了验证LSTM模型在不同类型循环神经网络中的优势,本文将LSTM模型的隐藏层细胞替换为RNN和GRU结构,并以相同参数进行实验。实验结果如图 6所示。从图中可以看出:LSTM和GRU的损失变化相似并且都优于RNN,对应的训练集拟合精度也较高;在5、6和12个测试点上,LSTM的预测精度要高于RNN和GRU。
图 6 不同隐藏层细胞的损失变化和模型精度对比(学习率η=0.1,A飞机) Fig. 6 Comparison of loss change and model accuracy with different hidden layer cells (learning rate η=0.1, Aircraft A) |
图选项 |
为了进一步验证LSTM模型的应用效果,本文采用不同的时间序列预测模型进行对比,实验结果如表 1所示。从表中可以看出:LSTM模型的拟合精度要低于SSA和SVR模型,但是高于其他6种模型;LSTM模型的整体预测精度较高,在6和12个测试点上的预测精度最高(RMSE值分别达到了2.109和2.196);LSTM模型在该参数组合下的计算耗时要少于ARIMA模型,但是多于其他8种模型。
表 1 不同预测模型实验结果对比(A飞机) Table 1 Experimental results for different prediction models (Aircraft A)
模型 | 模型参数 | 训练集 拟合 RMSE值 | 测试集预测RMSE值 | 耗时/s | ||||
1个测试点 | 2个测试点 | 3个测试点 | 6个测试点 | 12个测试点 | ||||
Holt-Wintersa | α=0.044,β=0.073,γ=0.223 | 2.617 | 0.088 | 0.069 | 2.278 | 2.882 | 2.595 | 0.02 |
Holt-Wintersm | α=0,β=0,γ=0.6 | 3.199 | 1.704 | 1.205 | 2.837 | 3.179 | 3.066 | 0.02 |
ARIMA | p=2,d=1,q=2 | 2.329 | 1.475 | 1.224 | 2.712 | 2.832 | 2.509 | 1.53 |
SSAr | Lssa=96,Gssa=list(1:50) | 0.770 | 2.487 | 1.781 | 1.871 | 2.437 | 2.622 | 0.02 |
SSAv | Lssa=96,Gssa=list(1:50) | 0.770 | 2.509 | 1.843 | 2.175 | 2.500 | 2.295 | 0.02 |
MLR | Lmlr=24 | 2.221 | 2.490 | 1.773 | 2.602 | 2.617 | 2.381 | 0.02 |
SVR | Lsvr=24, C=3,ε=0.259,σsvr=0.023 | 1.167 | 1.740 | 1.526 | 1.967 | 2.139 | 2.321 | 0.03 |
RNN | L=2, Sstate=6,seed=1, steps=500,η=0.1 | 2.183 | 1.716 | 1.225 | 1.995 | 2.528 | 2.595 | 0.61 |
GRU | L=2, Sstate=6,seed=1, steps=500,η=0.1 | 1.982 | 1.921 | 1.651 | 2.920 | 2.691 | 2.248 | 0.78 |
LSTM | L=2, Sstate=6,seed=1, steps=500,η=0.1 | 1.962 | 1.919 | 1.577 | 2.745 | 2.109 | 2.196 | 0.81 |
注:最小RMSE值和最小耗时由下划线标记。 |
表选项
对于B飞机,实验流程与A飞机类似。这里根据经验调整模型参数,令状态向量大小Sstate仍然取6,分割窗口长度L取一年的月度故障数据点个数12,随机种子数seed=100,训练步数steps=1 000。图 7展示了相同参数下不同学习率(η=0.01, 0.03, 0.05)训练LSTM模型的损失变化和模型精度。可以看出:3个学习率对应的训练集拟合精度基本相同(RMSE值在1.2附近);η=0.05时存在一定的过拟合现象,导致预测精度波动较大;在6和12个测试点上,η=0.03的预测精度最高(RMSE值最低)。因此,本文选定η=0.03训练LSTM模型。
图 7 不同学习率的损失变化和模型精度对比(B飞机) Fig. 7 Comparison of loss change and model accuracy with different learning rates (Aircraft B) |
图选项 |
接下来,本文替换隐藏层细胞为RNN和GRU结构并进行实验,结果如图 8所示。可以看出,LSTM模型无论是在损失变化还是整体模型精度上都优于RNN和GRU模型。图 9展示了LSTM模型的拟合(图 9(a))和预测(图 9(b))结果,其中黑色线条分别代表原始故障时间序列数据划分的训练集和测试集,灰色线条分别代表LSTM模型在训练集和测试集上的拟合序列和预测序列。从图中可以看出,在12个测试点上,LSTM模型很好地跟踪了真实的故障数据,达到了比较理想的预测效果。
图 8 不同隐藏层细胞的损失变化和模型精度对比(学习率η=0.03,B飞机) Fig. 8 Comparison of loss change and model accuracy with different hidden layer cells (learning rate η=0.03, Aircraft B) |
图选项 |
图 9 LSTM模型的拟合和预测结果(学习率η=0.03,B飞机) Fig. 9 Fitting and forecasting results with LSTM model (learning rate η=0.03, Aircraft B) |
图选项 |
最后,LSTM模型和不同时间序列预测模型的实验对比结果如表 2所示。从表中可以看出:LSTM模型的拟合精度要低于SSA模型,但是高于其他7种模型;LSTM模型的整体预测精度较高,在3、6、12个测试点上的预测精度最高(RMSE值分别达到了1.703、1.237和1.580);RNN、GRU和LSTM模型在该参数组合下的计算耗时要明显多于其他7种模型,并且以LSTM模型耗时最多。
表 2 不同预测模型实验结果对比(B飞机) Table 2 Experimental results for different prediction models (Aircraft B)
模型 | 模型参数 | 训练集 拟合 RMSE值 | 测试集预测RMSE值 | 耗时/s | ||||
1个测试点 | 2个测试点 | 3个测试点 | 6个测试点 | 12个测试点 | ||||
Holt-Wintersa | α=0.011, β=0.210, γ=0.191 | 2.907 | 1.749 | 3.605 | 3.353 | 2.609 | 2.474 | 0.02 |
Holt-Wintersm | α=0, β=0, γ=0.438 | 3.231 | 1.837 | 4.252 | 3.807 | 2.950 | 2.816 | 0.02 |
ARIMA | p=4,d=1,q=1 | 2.565 | 1.719 | 2.079 | 2.566 | 2.091 | 2.021 | 1.77 |
SSAr | Lssa=96,Gssa=list(1:50) | 0.853 | 0.178 | 2.142 | 1.768 | 4.289 | 5.023 | 0.02 |
SSAv | Lssa=96,Gssa=list(1:50) | 0.853 | 0.730 | 1.686 | 1.987 | 2.904 | 3.161 | 0.02 |
MLR | Lmlr=24 | 2.547 | 1.729 | 2.026 | 2.912 | 2.418 | 2.360 | 0.02 |
SVR | Lsvr=24, C=3,ε=0.252,σsvr=0.023 | 1.353 | 0.241 | 1.374 | 2.893 | 2.278 | 2.121 | 0.03 |
RNN | L=12, Sstate=6,seed=100, steps=1 000,η=0.03 | 2.058 | 0.828 | 2.630 | 2.556 | 2.484 | 2.671 | 3.13 |
GRU | L=12, Sstate=6,seed=100, steps=1 000,η=0.03 | 1.559 | 1.696 | 1.257 | 3.525 | 2.815 | 2.690 | 5.36 |
LSTM | L=12, Sstate=6,seed=100, steps=1 000,η=0.03 | 1.276 | 0.956 | 1.691 | 1.703 | 1.237 | 1.580 | 5.64 |
注:最小RMSE值和最小耗时由下划线标记。 |
表选项
3.3 参数优选 在3.2节的实验中,LSTM模型的参数取值主要是通过经验来确定的。本节应用2.2节提到的多层网格搜索算法,对LSTM模型的3个关键参数进行优选。首先,固定非关键参数取值:随机种子数seed=1,训练步数steps=500;然后,设定3个参数的取值范围:分割窗口长度L∈{2, 3, …, 24},状态向量大小Sstate∈{2, 3,…,24},学习率η∈{0.001, 0.003, 0.005, 0.01, 0.03, 0.05},其中L和Sstate的搜索步长为1;最后,设置目标函数为12个测试点上预测精度最高(RMSE值最小),应用2.2节中的算法2进行网格搜索。
图 10和图 11分别展示了针对2个数据源(A飞机和B飞机)建立2.1节提到的LSTM预测模型的参数搜索结果。在每个子图中,横坐标为分割窗口长度L,纵坐标为状态向量大小Sstate,Rm为最小RMSE值;不同子图对应学习率η的不同取值;网格中的方块面积越大、颜色越深表示RMSE值越小。从图 10和图 11中可以看出,当L和Sstate取值较小时更容易获得较高的预测精度。表 3和表 4分别列出了针对2个数据源的前5组最优参数组合以及对应的模型精度。表 1和表 2对比可知,优选后的LSTM模型精度明显提高。
图 10 LSTM模型3参数多层网格搜索结果(A飞机) Fig. 10 Multilayer grid search results for three parameters of LSTM model (Aircraft A) |
图选项 |
图 11 LSTM模型3参数多层网格搜索结果(B飞机) Fig. 11 Multilayer grid search results for three parameters of LSTM model (Aircraft B) |
图选项 |
表 3 LSTM模型前5组最优参数组合以及对应的模型精度(A飞机) Table 3 The first five groups of optimal parameters andcorresponding model accuracy for LSTM model (Aircraft A)
排名 | 模型参数 | 训练集 拟合RMSE值 | 测试集预测RMSE值 | 耗时/s | ||||||
L | Sstate | η | 1个测试点 | 2个测试点 | 3个测试点 | 6个测试点 | 12个测试点 | |||
1 | 3 | 21 | 0.005 | 1.261 | 0.694 | 0.921 | 1.261 | 1.154 | 1.676 | 1.56 |
2 | 14 | 10 | 0.03 | 0.321 | 2.539 | 1.834 | 2.506 | 2.390 | 1.909 | 3.63 |
3 | 17 | 8 | 0.005 | 1.311 | 1.923 | 1.824 | 2.137 | 2.004 | 2.041 | 3.94 |
4 | 19 | 11 | 0.03 | 0.289 | 0.054 | 0.762 | 1.290 | 2.058 | 2.061 | 4.84 |
5 | 4 | 16 | 0.03 | 0.584 | 3.860 | 2.759 | 2.395 | 1.991 | 2.081 | 1.66 |
表选项
表 4 LSTM模型前5组最优参数组合以及对应的模型精度(B飞机) Table 4 The first five groups of optimal parameters and corresponding model accuracy for LSTM model (Aircraft B)
排名 | 模型参数 | 训练集 拟合RMSE值 | 测试集预测RMSE值 | 耗时/s | ||||||
L | Sstate | η | 1个测试点 | 2个测试点 | 3个测试点 | 6个测试点 | 12个测试点 | |||
1 | 10 | 7 | 0.005 | 1.794 | 1.703 | 1.209 | 1.005 | 0.942 | 0.864 | 2.55 |
2 | 3 | 18 | 0.003 | 2.288 | 0.833 | 1.398 | 1.162 | 1.227 | 1.571 | 1.44 |
3 | 19 | 18 | 0.005 | 0.945 | 0.495 | 1.804 | 2.206 | 2.093 | 1.636 | 5.95 |
4 | 3 | 13 | 0.003 | 1.978 | 0.306 | 1.400 | 1.517 | 1.300 | 1.647 | 1.31 |
5 | 3 | 6 | 0.01 | 2.056 | 0.563 | 1.436 | 1.440 | 1.182 | 1.647 | 0.97 |
表选项
4 结论 本文提出了基于LSTM循环神经网络的系统级故障时间序列预测方法,包括对LSTM模型的训练、预测以及参数优选等内容。实验验证表明:
1) 与典型的时间序列预测模型相比,LSTM模型的拟合和预测性能整体更优。
2) LSTM模型在训练过程中的损失变化和模型精度对学习率的取值较为敏感,过低或过高的学习率可能会导致欠拟合或过拟合问题,影响模型的预测性能。
3) 与其他类型的循环神经网络(RNN和GRU)相比,LSTM模型的拟合和预测精度整体更高,但是训练过程的耗时也更多。
4) 基于多层网格搜索的参数优选算法效果显著,特别是对于第2个数据源(B飞机),在测试点12上的预测精度(RMSE值)达到了0.864,而文献[8]中提出的混合模型其最优RMSE值仅为1.879。
总的来说,本文验证了LSTM模型在可靠性预测领域中的适用性,扩展了深度学习技术的应用范畴。基于目前的工作,后续可以展开进一步研究:比如扩展隐藏层层数,检验多隐藏层LSTM网络结构的应用效果;或者从众多LSTM模型参数入手,寻求更有效的参数优化方法。此外,本文是从历史数据出发,应用数据驱动的技术逆向建立预测模型。下一步,可以从可靠性相关的领域知识出发,应用提取出来的关键特征和要素正向研究可靠性预测方法
致谢
感谢任健老师在实验数据方面提供的支持,感谢王森章博士在语言方面给予的帮助,感谢评阅论文的各位专家。
参考文献
[1] | VICHARE N M, PECHT M G. Prognostics and health management of electronics[J].IEEE Transactions on Components & Packaging Technologies, 2006, 29(1): 222–229. |
[2] | SAPANKEVYCH N I, SANKAR R. Time series prediction using support vector machines:A survey[J].IEEE Computational Intelligence Magazine, 2009, 4(2): 24–38.DOI:10.1109/MCI.2009.932254 |
[3] | 王鑫, 吴际, 刘超, 等. 奇异谱分析在故障时间序列分析中的应用[J].北京航空航天大学学报, 2016, 42(11): 2321–2331. WANG X, WU J, LIU C, et al. Application of singular spectrum analysis for failure time series[J].Journal of Beijing University of Aeronautics and Astronautics, 2016, 42(11): 2321–2331.(in Chinese) |
[4] | 李瑞莹, 康锐. 基于ARMA模型的故障率预测方法研究[J].系统工程与电子技术, 2008, 30(8): 1588–1591. LI R Y, KANG R. Research on failure rate forecasting method based on ARMA model[J].Systems Engineering and Electronics, 2008, 30(8): 1588–1591.(in Chinese) |
[5] | ROCCO S C M. Singular spectrum analysis and forecasting of failure time series[J].Reliability Engineering & System Safety, 2013, 114(6): 126–136. |
[6] | MOURA M D C, ZIO E, LINS I D, et al. Failure and reliability prediction by support vector machines regression of time series data[J].Reliability Engineering & System Safety, 2011, 96(11): 1527–1534. |
[7] | XU K, XIE M, TANG L C, et al. Application of neural networks in forecasting engine systems reliability[J].Applied Soft Computing, 2003, 2(4): 255–268.DOI:10.1016/S1568-4946(02)00059-5 |
[8] | WANG X, WU J, LIU C, et al. A hybrid model based on singular spectrum analysis and support vector machines regression for failure time series prediction[J].Quality & Reliability Engineering International, 2016, 32(8): 2717–2738. |
[9] | LECUN Y, BENGIO Y, HINTON G. Deep learning[J].Nature, 2015, 521(7553): 436–444.DOI:10.1038/nature14539 |
[10] | GRAVES A. Long short-term memory[M].Berlin: Springer, 2012: 1735-1780. |
[11] | SRIVASTAVA N, MANSIMOV E, SALAKHUTDINOV R. Unsupervised learning of video representations using LSTMs[C]//Proceedings of the 32nd International Conference on Machine Learning. Lille: JMLR W & CP, 2015: 843-852. |
[12] | DONAHUE J, HENDRICKS L A, ROHRBACH M, et al. Long-term recurrent convolutional networks for visual recognition and description[J].IEEE Transactions on Pattern Analysis & Machine Intelligence, 2015, 39(4): 677–691. |
[13] | VINYALS O, TOSHEV A, BENGIO S, et al. Show and tell: A neural image caption generator[C]//IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE Press, 2015: 3156-3164. |
[14] | MA X, TAO Z, WANG Y, et al. Long short-term memory neural network for traffic speed prediction using remote microwave sensor data[J].Transportation Research Part C Emerging Technologies, 2015, 54: 187–197.DOI:10.1016/j.trc.2015.03.014 |
[15] | HANSON J, YANG Y, PALIWAL K, et al. Improving protein disorder prediction by deep bidirectional long short-term memory recurrent neural networks[J].Bioinformatics, 2017, 33(5): 685. |
[16] | GREFF K, SRIVASTAVA R K, KOUTNIK J, et al. LSTM:A search space odyssey[J].IEEE Transactions on Neural Networks & Learning Systems, 2016, PP(99): 1–11. |
[17] | GRAVES A, SCHMIDHUBER J. Framewise phoneme classification with bidirectional LSTM and other neural network architectures[J].Neural Networks, 2005, 18(5-6): 602.DOI:10.1016/j.neunet.2005.06.042 |
[18] | AMARI S I. Backpropagation and stochastic gradient descent method[J].Neurocomputing, 1993, 5(4-5): 185–196.DOI:10.1016/0925-2312(93)90006-O |
[19] | DUCHI J, HAZAN E, SINGER Y. Adaptive subgradient methods for online learning and stochastic optimization[J].Journal of Machine Learning Research, 2011, 12(7): 257–269. |
[20] | YEUNG S, RUSSAKOVSKY O, NING J, et al. Every moment counts:Dense detailed labeling of actions in complex videos[J].International Journal of Computer Vision, 2017(8): 1–15. |
[21] | KINGMA D P, BA J. Adam: A method for stochastic optimization[C]//ICLR 2015, 2015: 1-15.https://dare.uva.nl/search?identifier=a20791d3-1aff-464a-8544-268383c33a75 |
[22] | CHUNG J, GULCEHRE C, CHO K H, et al. Empirical evaluation of gated recurrent neural networks on sequence modeling[C]//NIPS 2014 Deep Learning and Representation Learning Workshop, 2014: 1-9.https://link.springer.com/chapter/10.1007/978-3-319-67220-5_10 |
[23] | CHEN P W, WANG J Y, LEE H M. Model selection of SVMs using GA approach[C]//IEEE International Joint Conference on Neural Networks. Piscataway, NJ: IEEE Press, 2004: 2035-2040. |
[24] | BRATTON D, KENNEDY J. Defining a standard for particle swarm optimization[C]//IEEE Swarm Intelligence Symposium. Piscataway, NJ: IEEE Press, 2007: 120-127. |
[25] | SNOEK J, LAROCHELLE H, ADAMS R P. Practical Bayesian optimization of machine learning algorithms[C]//International Conference on Neural Information Processing Systems. Lake Tahoe: Curran Associates Inc., 2012: 2951-2959. |
[26] | HSU C W,CHANG C C,LIN C J.A practical guide to support vector classification[EB/OL].(2016-05-19)[2017-03-20]. https://www.csie.ntu.edu.tw/~cjlin/papers/guide/guide.pdf. |
[27] | SU C, JIN Q, FU Y. Correlation analysis for wind speed and failure rate of wind turbines using time series approach[J].Journal of Renewable & Sustainable Energy, 2012, 4(3): 687–700. |
[28] | CHATFIELD C. The Holt-Winters forecasting procedure[J].Journal of the Royal Statistical Society, 1978, 27(3): 264–279. |
[29] | BARTHOLOMEW D J. Time series analysis forecasting and control[J].Journal of the Operational Research Society, 1971, 22(2): 199–201.DOI:10.1057/jors.1971.52 |
[30] | HYNDMAN R J, KHANDAKAR Y. Automatic time series forecasting:The forecast package for R[J].Journal of Statistical Software, 2008, 27(3): 1–22. |
[31] | VAUTARD R, YIOU P, GHIL M. Singular-spectrum analysis:A toolkit for short, noisy chaotic signals[J].Physica D-Nonlinear Phenomena, 1992, 58(1-4): 95–126.DOI:10.1016/0167-2789(92)90103-T |
[32] | GOLYANDINA N, KOROBEYNIKOV A. Basic singular spectrum analysis and forecasting with R[J].Computational Statistics & Data Analysis, 2014, 71(1): 934–954. |
[33] | NIKOLOPOULOS K, GOODWIN P, PATELIS A, et al. Forecasting with cue information:A comparison of multiple regression with alternative forecasting approaches[J].European Journal of Operational Research, 2007, 180(1): 354–368.DOI:10.1016/j.ejor.2006.03.047 |
[34] | BIANCO V, MANCA O, NARDINI S. Electricity consumption forecasting in Italy using linear regression models[J].Energy, 2009, 34(9): 1413–1421.DOI:10.1016/j.energy.2009.06.034 |
[35] | BRERETON R G, LLOYD G R. Support vector machines for classification and regression[J].Analyst, 2010, 135(2): 230–267.DOI:10.1039/B918972F |
[36] | CHERKASSKY V, MA Y. Practical selection of SVM parameters and noise estimation for SVM regression[J].Neural Networks, 2004, 17(1): 113–126.DOI:10.1016/S0893-6080(03)00169-2 |
[37] | Google. tensorflow rminer 1. 4. 2[EB/OL]. [2017-03-20]. https://www.tensorflow.org/versions/r0.12. |
[38] | R Core Team. The R project for statistical computing[EB/OL]. [2017-03-20]. https://www.r-project.org. |
[39] | HYNDMAN R. robjhyndman/forecast[EB/OL]. [2017-03-20]. https://github.com/robjhyndman/forecast. |
[40] | KOROBEYNIKOV A. asl/rssa[EB/OL]. [2017-03-20]. https://github.com/asl/rssa. |
[41] | PAULO C. rminer: Data mining classification and regression methods[EB/OL]. [2017-03-20]. https://cran.r-project.org/package=rminer. |