关键词:工业生产过程;数据驱动;故障预测;数据采集与监控
1 引言
随着如今“中国制造2025”战略的提出,我国工业生产制造业整体向着创新化、智能化、绿色化等多方向前进,这是促使制造业转型发展的伟大战略[]。在水泥、钢铁、制药等行业,工业生产过程越来越复杂,各个环节,环环相扣,紧密相连,系统日益复杂。当生产过程中发生故障的时候,由于工业生产过程之间的强耦合性,会给整个流程带来巨大的影响,轻则影响生产产品的质量,给企业带来巨大的经济损失,重则发生员工的人身安全问题。因此随着对系统可靠性要求的提升,故障预测技术在工业界以及学术界都受到了重点关注。我国工业正处于快速发展的关键时期,将人工智能与实体经济深度融合是大势所趋,实现工业生产过程的自动化和智能化是促使我国工业弯道超车的重要举措。故障预测技术作为工业智能化中重要的一环,起着保证产品质量、提高生产效率甚至保护生产安全的重要作用。若流程中某一环节出现故障可能会带来严重的灾害,若能及时发现故障,甚至在故障发生之前进行预测并提前排除故障,对设备进行维护是十分必要的[]。随着工业大数据挖掘技术的快速发展,可以在工业生产过程中收集海量数据,对这些数据进行深度分析,通过挖掘数据中的生产工况与状态信息,实现故障预测已经成为目前过程控制领域的研究热点之一,对工业生产的意义十分重要。
2 研究现状
工业大数据的意思是指在工业领域里,智能制造模式中产品的完整生命周期所产生的各类数据,以及相关的技术和应用都总称为工业大数据[]。其中,工业生产过程的数据具有其特殊属性,并且具有时序性较强、关联性较强、准确性较强、闭环性较强等特点[]。数据采集与监控系统(supervisory control and data acquisition,SCADA)指的是用在工业生产、基础设施或者设备中具有监控以及数据收集能力的计算机控制系统[]。SCADA是监控以及控制的集中式系统,可以由分散于某个区域中许多系统来共同组成。SCADA系统一般都会配合分布式数据库使用,这种数据库一般称为标签数据库,存在其中的数据点称为标签(tag)或点(point)[]。每个点都是可以通过系统进行控制或者监视,代表着一个输入或者输出值。数据点可以是通过传感器采集后直接输入,也可以是进行数学运算或者逻辑运算之后的结果。操作员通过人机界面(HMI)来进行设备的监控以及控制程序,HMI连接SCADA系统的数据库,将数据库里面的数据进行可视化的显示出来,从中可以观察到数据的变化趋势、诊断数据、以及相关管理信息[]。目前,SCADA系统更加开放和网络化,开始借助广域网中开放式的标准通信协议,而不仅仅局限于局域网。网络化的SCADA系统与第三方周边设备进行数据交互[],采集工业生产过程的海量数据,从而通过数据挖掘,进行故障预测成为了可能。
2.1 故障预测技术的发展
预测是通过某些特征来预测系统的状态,常见的预测方法有特征状态预测、剩余寿命预测等。故障预测的传统方法是基于传感器实时监控的方式,而如今的故障预测可以通过分析数据的历史状态来预测未来数据的走向趋势,从传统对工业生产过程状态的实时监控改变为对工业生产过程或者设备的主动性维护。基于数据分析的故障预测的核心是通过各种传感器采集的工业生产过程中的数据,如:控制变量、流量比、含量变化、温度、液位、压力、功率等作为数据源,再通过现在成熟的算法如:机器学习,深度学习算法来进行建模,之后利用建模好的模型对历史数据进行分析,对未来的工业生产过程状态进行预测[]。
人们从对故障和异常事件被动响应转化为分析历史状态从而对未来故障和事件进行主动性预防,可以说,这是人类认识和利用自然规律的一个演变。而在工业领域中进行故障预测开始于1927年,由Yule和Slutsky提出的自回归和滑动平均模型是故障预测研究领域最早的理论基础,当时在工业中无法对该理论进行大量实践。但是随着20世纪80年代人工智能、神经网络等兴起,故障预测理论又得到进一步的发展,自动化领域中也越来越多的人开始研究故障预测理论。对于复杂流程系统,1979年Sacks等人开始研究系统出现的故障征兆,但是由于当时技术不成熟,该研究陷入停滞。后来到了1991年,借助人工智能技术,英国学者Dr.Robert等人设计出实时专家系统将其应用于某钢铁厂,获得的预测效果不错。但是该系统存在局限性,难以处理实际工业中海量的数据,并且对于有缺失的数据效果不好;1992年,Taghi M. Khoshgoftaar等人开始研究将神经网络应用于软件系统中来达到故障测定,预测故障发展趋势的目的;1993年,Nikitas J.Dimopoulos 等人对有线电视网使用专家网络分析器来研究其故障发生规律,取得不错的效果。到了1995年,B.Lennox教授等人开始在工业中应用神经网络,将预测值和实际值之间的方差作为新特征来预测故障,这也是神经网络第一次在工业故障预测领域的应用,给故障预测研究提供了一个新的思路。神经网络也不是完美的,它的隐含层函数难以确定,学者们为了解决这个问题又开始研究不同的网络模型和新的方法[]。
国内故障预测技术方面的研究开始时间较晚,1998年,哈尔滨工业大学程惠涛等人研发了我国第一个故障预测系统,该系统集成了灰色理论、专家诊断系统和预测技术,并成功将其应用于航天飞船空间推进汽路部分。2000年石家庄黄景德教授将模糊数学知识应用于复杂武器设备故障预测;2005年张雷对系统性能退化状态使用PCA与CMAC结合的方法进行预测研究;2008年浙江大学葛志强提出一种新的多变量统计方法,该方法在过程微小故障中的检测效果很好;2009年国防科技大学曾庆虎针对预测故障发生时间问题提出基于KPCA-HSMM系统的故障预测方法。这些基于故障预测方法为过程工业的故障预测做出了伟大的贡献,为后来学者提供了重要的参考和指导作用[]。
2.2 预测方法研究现状
故障预测是指维护人员为了对工业生产过程的故障及时预防,在故障还没有发生之前,通过某些方法对未来发生的故障进行一个预测。据统计,故障预测方法可以大致分为基于模型的预测、基于数据驱动的预测和基于统计学的预测这三大类,如图1所示。
图1 故障预测方法分类
基于模型的预测方法在石油、电力、和航空等工业领域都取得了有效的应用。它不仅是理论研究的产物,更是工业实践的产物。基于模型的预测方法一般由预测模型、反馈校正、滑动优化、参考轨迹这四部分组成[]。预测模型起到展示特征未来行为的作用,反馈纠正使系统利用模型与实际情况之间的误差来进行修正,滚动优化使在线进行中反复优化控制算法,参考轨迹要求输出是沿着平缓的曲线到达设定值。预测控制算法有很多,最常用的是模型算法控制(MAC)、动态矩阵控制(DMC)、和广义预测控制(GPC)[]。MAC的基本思想是:首先对未来对象的输出状态进行预测,再通过预测的状态来确定当前应该使用什么样的控制指令。因此,它的预测性能比传统PID算法强。动态矩阵控制使用的是易于测取的对象阶跃响应,从而其算法计算量较少,鲁棒性强,也更简单。而广义预测控制是将自适应控制思想和上述算法相结合,它改善了内部模型准确性差的问题,改善了系统的稳定性。
基于数据驱动的故障预测算法有很多,常用的有神经网络、相关向量机、高斯过程回归、粒子滤波算法、树类算法等等[]。神经网络可以学习动物的神经网络并模仿神经网络的行为特征,并且神经网络可以对信息分布式处理。神经网络系统内部具有大量复杂节点,类似于大脑突触,模拟突触之间的连接结构以进行信息处理。神经网络如今发展得非常快,但这些模型相对复杂且难以理解。相关向量机(RVM)本身是监督学习方法,并且是类似于支持向量机(SVM)的稀疏概率模型。RVM在贝叶斯框架下进行训练。 基于主动相关决策理论,首先验证参数以去除不相关的点,从而获得稀疏模型[]。与SVM相比,RVM大大减少内核函数的计算,克服了必须满足Mercer核函数的缺点。有文章表明,RVM的泛化能力要优于SVM,训练时间更短,在回归和分类问题上的准确性上却相近。高斯过程回归(Gaussian Process Regression, GPR)是使用高斯过程(Gaussian Process, GP)先对数据进行回归分析的非参数模型(non-parameteric model)。若不限制核函数的形式,GPR在理论上是紧致空间(compact space)内任意连续函数的通用近似(universal approximator)。因此,GPR是一个具有泛用性和可解析性的概率模型。GPR由于其计算量较大,所以一般使用于样本量较小的预测问题。粒子滤波指的是,为了促进系统状态得到最小方差估计的过程,用一组在状态空间中传播的随机样本近似表示概率密度函数,而这些样本也被称为“粒子”。粒子滤波技术在非线性非高斯系统中具有良好的效果,因此在经济,军事,工业等许多领域都有应用。虽然粒子滤波技术被广泛应用,但是其必须使用大量的样本数据来近似系统的概率密度。当样本的数量多了之后,系统的复杂性也就随之上升。常见的机器学习中可用于预测的树类算法有:决策树,梯度提升决策树(GBDT),随机森林(RF),极端梯度提升(XGBoost)等。这些树类算法的结构较简单,算法相关的参数也较简单,在预测方面具有较好的效果。
基于统计学的预测包含很多方法技术,定性预测技术是在搜集各个人对特征过程所做的判断之后,再进行预测的方法,依赖于预测人员所收集的信息,个人经验等。回归预测技术是从历史数据中挖掘出事务发展的规律,将这种规律转换成数学表达式并用于预测未来。时间序列分解和平滑预测技术是使用曲线拟合来描述观察的时间序列数据。趋势外推法则认为过去事务发展的规律在将来也适用,并且是渐进的,不会阶跃变化,由此可以推导出未来事务发展的趋势。季节性预测的预测技术是预测时间和季节变化的情况,专用季节变动时间序列进行预测的方法。Box-Jenkins预测技术则是根据系统历史运行的记录,建立其中包含的有依存关系的模型,再用这个模型对系统进行预测。灰色模型则认为,系统中内部特征全部知道的称为白色模型,全部都不知道称为黑色模型,灰色系统则是介于已知信息和未知信息之间。对原始数据使用关联分析处理,找到系统变化的内部规律,然后将该内部规律转化为微分方程,用于对未来发展趋势的预测。马尔科夫预测法是认为事务发生过程中有关随机变量、随机函数与随机过程的信息,从而预测事件发生的概率,但是不适用于系统中长期的预测。
3 基于数据驱动的故障预测方法分析
鉴于工业大数据的容量大、价值密度低、还具有时序性等特点,如果采用基于模型或者基于统计学来进行故障预测将造成建模时间长,预测精度低等问题,建模时间过长则不能及时预测出故障变化的趋势,造成缺少时间提前解除故障的困难。预测精度低则会造成预测结果不准确,出现误判的情况,可能出现故障发生却未检测出,或者实际不会发生故障却需要维护工业生产过程的情况。目前,基于数据驱动的故障预测方法应用广泛,主要包含性回归、KNN最近邻算法、决策树、GBDT、XGBoost、随机森林、SVM等。
(1)线性回归的思想是用梯度下降法对最小二乘法形式的误差函数进行优化。线性回归计算量小,实现起来很简单,但是它的缺点是不能拟合非线性数据。
(2)KNN的主要思想是:首先计算在测试和训练样本中每个样本点的距离,距离的测量通常使用欧氏距离和马氏距离计算,之后对计算完的距离值进行排序,选取排序中前k个最小距离的样本,最后对这个k个样本点的标签以投票的方式得出分类类别。KNN的时间复杂度为O(n),理论成熟,思想简单,既可以用于线性分类,也可以用于非线性分类,还可以用于回归,预测效果不错。但是它有样本点数量少,计算量大,需要大量的训练才能取得不错的结果。
(3)决策树的基本思想是递归选择最优特征,然后根据最优特征对训练集进行分割,使每个子数据集在特征分割下具有最佳分类。决策树具有简单的原理,高度可解释性,并且具有较少的计算量。除此之外它还可以处理不相关和缺少属性的样本,对大型数据处理的结果也可以有不错的效果。然而,决策树倾向于忽略数据时间的相关性,并且发生过拟合现象,信息增益的结果也将偏向于更多样本的特征。
(4)GBDT可以认为是决策树的一种升级,它是由多颗决策树组成,每一棵树学习的训练集是之前所有决策树得到的结论和真实值之间的误差,我们称这个误差为残差。它是将所有树的结论结合起来,具有预测精度高,灵活处理各种类型的数据,要调节的参数较少。但是决策树生成过程中存在依赖关系,空间消耗大,并且难以并行计算,如果数据量较大将会加大算法的训练时间。
(5)Boosting是在训练过程中不断改变训练样本的权重以获得多个分类器,再从多个分类器中获得最佳分类器。在此过程中执行多次训练,每次训练都会增加错误分类的样本点并减少正确分类的样本点。当不断迭代这个过程后,被错误分类的样本将获得更多关注,并且减少对正确样本的关注,将迭代得到的分类器进行组合得到最终的分类器。而XGBoost是在Boosting训练过程中引入了多线程机制,并且加上正则项和剪枝,避免模型过于复杂,减少了过拟合现象。XGBoost还支持线性分类器,当样本存在缺失值时,自动学习分裂方向,借助于并行计算的优势,训练时间也更短。但是每次迭代时都会多次遍历整个训练集,如果训练集过大将占据过大的内存,甚至出现内存不足的情况,如果用硬盘替代内存,训练时间成本将非常大。
(6)随机森林是从原始数据中有放回的提取多个样本,训练生成弱分类器,多次重复该过程,然后将这些弱分类器组合在一起投票,最后通过投票获得最终分类或者预测的结果。随机森林具有表现性能好,可以处理高纬度的数据,可以转换成并行计算,抗拟合能力好,泛化能力强等优点。但是它不能给出一个连续的输出,所以在回归问题上变现不如分类问题,并且在噪声较大情况下会出现过拟合现象。
(7)SVM支持向量机在高维、抗拟合、文字分类方面表现很好,即使数据在原特征空间不可分,但是如果给一个合适的核函数就可以取得很好的效果。但是内存消耗大,可解释性较弱,调参困难。可以采用粒子群方法进行参数优化。
值得注意的是,在工业生产过程中,由于环节的复杂性,收集数据难免会出现异常值(如缺失,离群),对异常值不处理也能会造成数据分析结果的不准确甚至出现错误结论。因此,在基于数据驱动的工业生产过程故障预测时,需先进行数据清洗,提高数据质量等。常使用KMeans、LOF、KNN等算法对异常数据进行判断和清洗。
4 应用案例介绍
某工业生产过程包括41个检测变量,11个控制变量,总共52个变量,包括流量比、含量变化、温度、液位、压力、功率、控制参数等数据。数据集中包含21种故障数据变化情况,样本每3分钟记录一次。其中,训练样本总计500个样本点,只包含故障数据;测试集前160个为正常样本,后800个为故障样本,共960个样本点。首先使用动态平均偏差和方差的方法进行特征提取并构建时间序列得到新特征,之后使用DT、GBDT、RF、XGBoost进行故障预测,分析了在相同训练测试数据下DT、GBDT、RF、XGBoost这四种算法对故障预测精度和训练时间方面的对比,如附表所示。执行算法的CPU为:Intel i5-4200,内存12GB(DDR3,1600MHz)。其中,DT的预测均方误差最差,为0.000543,但是由于决策树较简单,运行时间最短,仅为8.2毫秒。GBDT的预测值与真实值之间的均方误差为0.000341,运行时间为1707毫秒,RF的预测值和真实值之间的均方误差低于GBDT,为了0.000430,运行时间比GBDT短,为1144毫秒。而XGBoost的预测精度表现最好,预测值和真实值之间的均方误差达到了0.000338,同时运行时间方面为312毫秒。
当故障预测要求精度较低的时候,DT、GBDT、RF、XGBoost都可以满足要求,但是若故障预测要求精度高,则在预测精度方面表现较差了DT不再适用。而当GBDT、RF、XGBoost的预测精度都满足要求的时候,此时应当重点考虑算法的运行时间,三者之中XGBoost的运行时间最短,表现也最好。因此在故障预测精度和运行时间都要求较高的时候,可以优先考虑XGBoost算法。
5 结论
随着工业自动化系统越来越复杂,准确建立系统模型来对生产过程系统进行故障诊断与预测愈发困难,当今人工智能与实体经济的正在进行深度融合,工业生产制造朝着智能化方向升级,设备状态和生产过程信息能够得到测量、处理与存储。本文介绍了基于数据驱动的工业生产过程故障预测研究现状,并分析了几种采用数据驱动的预测方法,通过挖掘数据中的生产工况与状态信息,对基于数据驱动的生产过程故障预测应用具有积极的参考价值。
共0条 [查看全部] 网友评论