本发明涉及一种设备故障预测方法,尤其涉及一种基于arma和ann的混合动态故障预测方法。
背景技术:
预测学是一门新兴学科,它根据历史数据和状态数据,在相关理论和方法的指导下,分析和推断研究对象未来的发展状态和趋势,预测技术目前已经被广泛应用在工业、商业、金融、气象等领域。状态预测技术是依据设备运行状况,评估设备当前状态并预测未来状态。根据预测方法的应用程度、预测精度及相关成本可以将将预测技术分为三类:基于可靠性理论的预测方法、基于数据驱动的预测方法和基于时效物理模型的预测方法,三种方法在工程应用中的广泛性依次减弱,但是预测精度依次升高,与其相关的难度和成本也随之增加。
现有的预测技术在理论研究和实际应用方面已经取得了较大的进步,但是,已有的预测方法也存在诸多局限,预测过程对数学模型的依赖程度较大,不能满足复杂系统的实际要求,在系统的数学模型不精确时无法获得满意的结果。并且多数预测模型属于静态模型,缺乏自学习能力,预测模型通过一次建模获得,模型参数保持固定不变,没有考虑到新增样本对模型参数的影响,对于复杂装备的预测通常出现单步预测不精确、多步预测无效的问题。
目前的故障预测方法中,自回归滑动平均模型适合于捕捉时间序列的线性部分,而在解决复杂非线性问题时,误差往往很大;而神经网络在预测非线性时间序列时效果较好,但是神经网络在预测线性时间序列时表现较差。
技术实现要素:
为克服现有技术的不足,结合arma和ann方法各自的优点,从而较好地对时间序列进行预测,提高预测精度,本发明提出一种基于arma和ann的混合动态故障预测方法。
本发明的技术方案是这样实现的:
一种基于arma和ann的混合动态故障预测方法,包括步骤
s1:根据样本数据的特点,对样本数据进行平稳化数据预处理,生成数据序列;
s2:根据所述数据序列的自相关系数和偏相关系数的性质及aic准则,估计数据序列的自回归阶数和移动平均阶数,确定数据序列的模型;
s3:根据最小二乘法进行模型参数估计,确定当前时刻的观测值与历史时刻观测值和白噪声序列的关系;
s4:使用所述数据序列校验所述模型是否达到精度,若否则转回步骤s2,直到得到合理的arma模型,进而得到静态多步预测误差;
s5:将历史数据代入所述aram模型的预测方程,得到下一时刻的数据;
s6:重复步骤s3-s5进行l步预测,并将预测的数据加入数据序列;
s7:如果进行l步预测时预测循环测速小于预测数据个数,则转步骤s8;否则,得到线性部分的预测结果,转步骤s9;
s8:将实际观测值代入第l步预测值,作为时间序列,转步骤s3,进行下一次循环的l步预测;
s9:实用所述静态多步预测误差,训练ann模型,根据所述预测结果得到预测残差,作为ann模型的时间序列数据,重复步骤s5-s8,得到非线性部分的预测结果;
s10:由所述线性部分的预测结果和非线性部分的预测结果,得到混合模型的预测结果。
进一步地,步骤s10中混合模型的预测结果=所述线性部分的预测结果+非线性部分的预测结果。
本发明的有益效果在于,与现有技术相比,本发明结合arma在捕捉时间序列线性部分方面的优点和ann在预测非线性时间序列方面的优势,在预测过程中考虑实时数据对模型参数的影响,结合arma和ann的预测过程,建立实时动态预测模型,避免单一模型各自的局限性。
附图说明
图1是本发明一种基于arma和ann的混合动态故障预测方法流程图;
图2是本发明一种基于arma和ann的混合动态故障预测方法流程逻辑图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于自回归滑动平均模型适合于捕捉时间序列的线性部分,而在解决复杂非线性问题时,误差往往很大。而神经网络在预测非线性时间序列时效果较好,但是神经网络在预测线性时间序列时表现较差。所以,提出一种arma和ann方法相结合的混合模型使其同时具有两种模型各自的优点,从而可以较好地对时间序列进行预测,提高预测精度。混合模型包括arma线性子模型和ann非线性子模型两部分。
请参见图1,本发明一种基于arma和ann的混合动态故障预测方法,包括步骤
s1:根据样本数据的特点进行平稳化、数据预处理,设处理后数据序列为
设所述的时间序列x=(x1,x2,…,xl),t为当前时刻,对其进行混合动态l步预测。初始时刻k=t,j=1(j为预测循环次数),n1为预测数据个数。
s2:模型识别,即模型结构的确定,根据转速数据序列的自相关系数(acf)和偏相关系数(pacf)的性质和aic准则去估计自回归阶数n和移动平均阶数m;
自回归滑动平均模型(arma)是一种时序模型,不仅可以揭示动态数据的规律,预测其未来值,而且还能够从多方面研究系统的有关特性。
对于正态、平稳、零均值的时间序列{xt},若xt的取值不仅与其前n步的取值有关,而且与前m步的激励有关,则有一般的arma模型由自回归(ar)模型和滑动平均(ma)模型组合而成。
其中,n和m分别为自回归和滑动平均阶数,简记为arma(n,m),若n=0,此模型即为ma模型,若m=0,此模型即为ar模型。实数
s3:依据最小二乘法进行模型参数估计,确定当前时刻的观测值与历史时刻观测值和白噪声序列的关系;
arma模型对时间序列进行预测过程中,首先对时间序列进行差分,得到平稳随机序列,然后确定模型阶数,选择合适的模型,再对模型参数进行估计,计算模型参数值,最后对模型进行适应性检验,进行模型应用。
s4:利用训练数据
s5:将历史数据
输入层:输入向量x=(x1,x2,…,xl)为设备或系统的状态监测数据,并经过了一定的预处理,如降噪、归一化等。中间层:中间层又称为隐含层,可以是一层也可以是多层结构,通过wij和wjk连接输入层和输出层。输出层:输出值即为预测值,输出层节点数m为预测结果的总数,yt=(y1,y2,…,yt)。
s6:若k+1-n<l,则k=k+1,其中l为进行l步混合动态预测,将预测数据加入序列,转步骤3,重新估计参数;否则转步骤7;
神经网络主要通过两种方法实现预测功能,第一种将神经网络作为函数逼近器,对参数进行拟合预测,第二种考虑输入、输出之间的动态关系,用带反馈的动态神经网络对参数建立动态模型进行预测。在对时间序列进行预测过程中,通常采用带反馈的神经网络进行预测。
基于神经网络模型进行预测过程中,首先以状态监测数据为样本,选择合理的训练、测试和分析样本;然后通过网络参数设置训练模型;再用测试样本对训练的网络模型进行测试,检验网络性能;最后用模型和分析样本进行预测。
s7:若jl<n,既第j次循环时,进行l步混合动态预测时预测循环次数小于预测数据的个数,转步骤8;否则得到预测结果
假设对于时间序列输入为x=(x1,x2,…,xl),其真是期望输出为yt=(y1,y2,…,yt)。首先利用arma模型对时间序列进行预测,则有:
其中
其中,n为样本容量,
将式3写成如下形式,采用最小二乘法进行参数估计
其中,
对上试求导可以求得参数β的估计量
s8:通过步骤s7得到l,将实际观测值代替之前的l步预测值,作为时间序列,转步骤s3,进行第j=j+1次循环的l步预测;
s9:用步骤s4的etrain(t)来训练ann模型,由步骤s7中arma得到的预测结果
利用式6得到的余项yn(t)建立神经网络模型,建立非线性子模型部分:
其中
s10:由
综合式1、6和7,得到混合模型表达式为:
其中,
由于自回归滑动平均模型不能捕捉时间序列的非线性部分,所以式9得到的余项包含了时间序列的非线性成分,利用神经网络建模余项,再将两部分结果合并起来会得到更高的预测精度。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。