复杂工业过程生产中的安全和质量因素是企业发展的必要条件,保证稳定且优质的产品更是在市场中取胜的关键。由于复杂的工业过程不确定性很大,某一个小单元的故障就可能造成小到财产损失大到空气污染及人员伤亡的严重后果,因此对故障诊断的研究一直受到研究学者的关注。
Raich等[1]提出了数据监控的4个步骤:故障检测、故障辨识、故障诊断以及过程恢复。其中故障诊断环节尤为重要。根据应用对象、具体情况和数据等的不同,故障诊断方法通常被分为基于定性经验知识、基于分析模型和基于数据驱动3大类[2-4]。基于数据驱动的方法可在不熟悉系统精确机理模型的情况下利用数据对系统生产过程进行故障诊断,从而得到广泛的应用[5-7]。
贝叶斯网络[8](Bayesian network,BN)是基于数据驱动方法的一个有前景的分支。它是一种概率有向图,因其在描述变量间因果关系方面的优势,在计算机辅助诊断、电力诊断等领域得到广泛应用[9-10]。由Cooper等[11]提出的K2评分搜索算法是贝叶斯网络建模的经典算法,由于变量顺序作为K2算法的重要输入在复杂化工过程较难获取,目前通常采用专家经验进行确定[12],而该方法对最后结果的主观影响较大。本文利用层次分析法[13]在分析复杂数据上具有融合特征信息的优点,提出了一种基于层次分析法的贝叶斯网络化工过程故障诊断方法。首先通过基于关联函数的层次分析法得到所有变量的权值,然后将变量按权值排序后作为K2评分搜索算法的学习,输入建立贝叶斯网络模型,最后对构建的网络模型结合网络分析指标进行Tennessee-Eastman(TE)过程的故障诊断。
1 贝叶斯网络结构学习贝叶斯网络是一种有向无环图,对于一个n维贝叶斯网络B=(X, G, Φ);X是一个n维有向随机向量,每一个随机变量Xi取自一个有限的区域Di,联合域表示为
变量集的联合概率PB可分解为
$ {P_B}\left( {{X_1}, \cdots ,{X_n}} \right) = \prod\limits_{i = 1}^n {{P_B}\left( {{X_i}\prod {{X_i}} } \right)} $ | (1) |
PB经过加入证据信息后的概率称为后验概率,用PA表示。变量Xi的后验概率表示为
$ {P_A}\left( {{X_i}\left| Y \right.} \right) = \frac{{P\left( {Y\left| {{X_i}} \right.} \right){P_B}\left( {{X_i}} \right)}}{{P\left( {Y\left| {{X_j}} \right.} \right){P_B}\left( {{X_j}} \right)}} $ | (2) |
本文使用的K2算法的实质是选择后验概率最优的网络,即为评分最优的网络。
评分公式为
$ \begin{array}{l} {\rm{score}}\left( {{B_i},\mathit{\boldsymbol{T}}\left( {{B_i}} \right)} \right) = \prod\limits_{i = 1}^n {\prod\limits_{j = 1}^{{m_i}} {\frac{{\left( {n - 1} \right)!}}{{\left( {{N_{ij}} + n - 1} \right)!}}} } \\ {N_{ij}}\prod\limits_{k = 1}^{{l_i}} {{N_{ijk}}} \end{array} $ | (3) |
其中,Bi为变量排序为第i种情况时所学习到的贝叶斯网络,T (Bi)为其对应的数据样本,li为节点Xi的状态数,Nijk为节点Xj(节点Xi的父节点)处于第k种状态的个数,Nij为Xj所有状态数的总和,即
本文通过层次分析法对数据预处理,得到不同节点的权值W,进而得到各节点的顺序S。
首先设下侧关联函数为
$ {h_{mn}}\left( z \right) = \left\{ \begin{array}{l} 0\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;z \notin \left[ {{z_n}\left( 1 \right),{z_n}\left( 4 \right)} \right]\\ \frac{{{z_{mn}} - {z_n}\left( 1 \right)}}{{{z_n}\left( 2 \right) - {z_n}\left( 1 \right)}}\;\;\;\;\;\;z \in \left[ {{z_n}\left( 1 \right),{z_n}\left( 2 \right)} \right]\\ \frac{{{z_n}\left( 4 \right) - {z_{mn}}}}{{{z_n}\left( 4 \right) - {z_n}\left( 3 \right)}}\;\;\;\;\;\;z \in \left[ {{z_n}\left( 3 \right),{z_n}\left( 4 \right)} \right] \end{array} \right. $ | (4) |
其中zn(1) 为样本数据最小值,zn(2)=zn(3) 为数据平均值,zn(4) 为数据最大值。
其次设预处理后的样本数据为Z=[Z(1) Z(2) … Z(M)]T,经由式(4) 可得到如式(5) 的信息矩阵HM×N
$ {\mathit{\boldsymbol{H}}_{M \times N}} = \left[ {\begin{array}{*{20}{c}} h&h& \cdots &h\\ h&h& \cdots &h\\ \vdots & \vdots & \ddots & \vdots \\ h&h& \cdots &h \end{array}} \right] $ | (5) |
然后进行中心归一
最后通过qmn=h′mn-tn+ε(m=1, 2, …, M; n=1, 2, …, N),tn=min(h′mn),将负数迁移到一个接近零点的正数,即可得到正矩阵QM×Nn
$ \mathit{\boldsymbol{Q}}_{M \times N}^n = \left[ {\begin{array}{*{20}{c}} {{q_{11}}}&{{q_{12}}}& \cdots &{{q_{1N}}}\\ {{q_{21}}}&{{q_{22}}}& \cdots &{{q_{2N}}}\\ \vdots & \vdots & \ddots & \vdots \\ {{q_{M1}}}&{{q_{M2}}}& \cdots &{{q_{MN}}} \end{array}} \right] $ | (6) |
利用QM×Nn得到M维的矩阵
$ \mathit{\boldsymbol{R}} = \mathit{\boldsymbol{Q}}{\mathit{\boldsymbol{Q}}^{\rm{T}}} = \left[ {\begin{array}{*{20}{c}} {{o_{11}}}&{{o_{12}}}& \cdots &{{o_{1N}}}\\ {{o_{21}}}&{{o_{22}}}& \cdots &{{o_{2N}}}\\ \vdots & \vdots & \ddots & \vdots \\ {{o_{M1}}}&{{o_{M2}}}& \cdots &{{o_{MN}}} \end{array}} \right] $ | (7) |
对于M阶对称矩阵R,根据几何平均法wm=om/o(m=1, 2, …, M)得到特征向量
$ \mathit{\boldsymbol{W = }}{\left( {{w_1},{w_2}, \cdots ,{w_M}} \right)^{\rm{T}}} $ | (8) |
其中
本文基于数据驱动的AHP算法得到变量的权重,进而得到客观的变量排序。通过AHP中式(8) 的权值W得到排序后的变量S,将其作为输入学习贝叶斯网络,对学习到的网络用评分公式(9) 评分
$ \begin{array}{l} {\rm{score}}\left( {{S_i},\mathit{\boldsymbol{T}}\left( {{S_i}} \right)} \right) = \prod\limits_{i = 1}^n {\prod\limits_{j = 1}^{{m_i}} {\frac{{\left( {n - 1} \right)!}}{{\left( {{N_{ij}} + n - 1} \right)!}}} } \\ {N_{ij}}\prod\limits_{k = 1}^{{l_i}} {{N_{ijk}}} \end{array} $ | (9) |
其中Si是变量排序为第i种情况时所学习到的网络结构,T (Si)为其对应的数据样本。
利用改进的学习算法K2评分结合贪婪搜索进行贝叶斯结构学习,得到式(9) 中score值最高的贝叶斯网络模型。
基于AHP的贝叶斯网络学习算法的步骤为:
1) 对获取的离散数据利用AHP方法进行预处理,经式(4)~(7) 分别得到下侧关联函数、信息阵、正矩阵等,最后由式(8) 算得变量的重要性排序S;
2) 将步骤1) 中得到的所有22个变量的排序作为由K2评分和贪婪搜索组成的K2算法的输入进行网络学习;
3) 通过贪婪搜索和K2评分的对模型进行选择优化,得到score(Si, T (Si))评分最优的贝叶斯网络模型。
3 故障诊断 3.1 诊断步骤通过对历史数据进行分析建模,对比有、无故障时的贝叶斯网络的属性及指标的不同来实现对TE过程故障诊断。诊断流程如图 1所示。
具体诊断步骤如下:
1) 对TE过程无故障历史数据和运行数据进行预处理,通过式(4)~(8) 计算所有22个变量的排序,将其作为由K2评分和贪婪搜索组成的K2算法的输入进行网络学习,构建无故障贝叶斯网络模型,并对无故障贝叶斯网络进行聚集系数、平均度、平均距离的指标分析;
2) 将步骤1) 中的无故障和运行数据的网络指标进行对比,判断其是否发生故障,若发生则找到变化最显著的节点,即为最大可能的故障原因节点,从而实现对故障的定位;反之返回步骤2)。
3.2 故障分析指标本文选用聚集系数、平均度、平均距离3个指标进行网络故障分析。
(1) 聚集系数
聚集系数是网络间具有相同邻居节点的两节点相互连接的平均概率。若一个网络中节点vi有mi个邻接点,所有邻居节点间的连边数为Qi,则节点vi的聚集系数Ci为
$ {C_i} = \frac{{2{Q_i}}}{{{m_i}\left( {{m_i} - 1} \right)}} $ | (10) |
网络的平均聚集系数为
$ C = \frac{1}{N}\sum\limits_{i = 1}^n {{C_i}} $ | (11) |
(2) 平均度
网络中一个节点的邻居节点个数被定义为该节点的度,有向图中节点的度由入度和出度组成。网络的平均度M是各节点度Mi的平均值
$ M = \frac{1}{N}\sum\limits_{i = 1}^N {{M_i}} $ | (12) |
(3) 平均距离
定义网络中两节点间连边数最少的一条路径经过边的数量为该两节点的距离,公式如下
$ L = \frac{1}{N}\sum\limits_{j = 1}^m {\sum\limits_{i = 1}^n {{d_{ij}}} } $ | (13) |
故障发生时,系统某些变量的数据会发生较大的波动,所构造的贝叶斯网络模型和故障节点的一些属性也会发生改变。通过分析模型及相关网络属性的改变寻找变化最大的节点,此节点即为最有可能发生故障的节点。
3.3 模拟实验及结果分析 3.3.1 故障类型TE过程[14]是一个反映实际化工反应过程的典型模型,包括41个测量变量、12个操作变量、4种故障类型共计20个故障。本文选取TE过程测量变量中22个非组分变量,用编号1~22代替变量名。实验数据来源于由Larsson等[15]实现的MATLAB仿真模型,相关参数设置为仿真时长48 h、采集间隔3 min、故障时刻8 h,总数据长度为960。
选取阶跃、随机、黏滞类型的故障各1个来分析,具体故障如表 1所示。
作为对比,首先对无故障数据由式(4)~(8) 得到22个TE变量的权值,将权值按降序排列得到节点序列S0如式(14)
$ \begin{array}{l} {\mathit{\boldsymbol{S}}_0} = \left[ {3\;2\;16\;7\;13\;20\;19\;9\;22\;11\;21\;8\;18\;15\;12\;6} \right.\\ \left. {5\;14\;17\;4\;10\;1} \right] \end{array} $ | (14) |
将S0与无故障数据D0作为贝叶斯结构学习的输入,经K2算法学习到的网络如图 2所示。
对故障4(反应器冷却水入口温度,阶跃)数据由式(4)~(8) 得到的22个TE变量的权值,按权值降序排列后得到的节点序列S4如式(15) 所示
$ \begin{array}{l} {\mathit{\boldsymbol{S}}_4} = \left[ {3\;2\;16\;7\;13\;20\;19\;22\;9\;11\;21\;8\;18\;15\;12\;6} \right.\\ \left. {5\;14\;17\;4\;10\;1} \right] \end{array} $ | (15) |
将S4与故障4数据D4作为K2算法的输入进行贝叶斯结构学习,得到故障4下的贝叶斯结构模型如图 3所示。对图 3进行指标分析得出在故障和故障4下网络特征参数对比如表 2所示,各个节点的度分布如图 4所示。
由表 2看出,平均度比无故障时增大,说明故障4的发生使得22个节点中一些节点的联系更加紧密;聚集系数与平均距离比无故障时减小,说明故障4的发生导致了某些节点间的连接减少,联系变稀疏。
由图 4看出,总体来说网络的连接更趋于复杂,连边总数即整个网络的度增大。其中节点9相对于无故障时度的变化最显著,节点9的度从无到有,即变化率为100%。对比故障4下节点9的运行数据可知,当冷却水入口温度变化时出现阶跃变化,表明模拟结果与实际情况相符。因此在发生故障4时,本文方法可有效定位到最有可能发生故障的根源节点9。
3.3.4 故障10故障10(物料C温度发生变化,随机)数据经式(4)~(8) 得到22个TE变量的权值,将权值按降序排列,得到节点排序S10如式(16) 所示
$ \begin{array}{l} {\mathit{\boldsymbol{S}}_{10}} = \left[ {3\;2\;16\;7\;13\;20\;19\;22\;8\;11\;21\;18\;15\;12\;6\;9} \right.\\ \left. {5\;14\;17\;4\;10\;1} \right] \end{array} $ | (16) |
将S10和故障数据D10作为贝叶斯结构学习输入得到的网络如图 5所示,故障分析指标对比如表 3。故障10下各个节点的度分布如图 6所示。
由表 3看出,平均度比无故障时增大,说明故障10的发生使得22个节点中某些节点的联系更加紧密;聚集系数与平均距离减小,说明故障10的发生导致某些节点间的连边减少,联系变稀疏。
由图 6看出,网络的连接更趋于复杂,连边总数即整个网络的度增大。其中节点18相对无故障时度的变化最显著,变化率为75%,远超其他变化率。此结果与实际情况相符,表明发生故障10时,本文方法同样可有效定位到相应的故障节点18。
3.3.5 故障14对故障14(反应器冷却水阀门,黏滞)数据经式(4)~(8) 得到22个TE变量的权值,按权值按大小降序排列,得到节点排序S14如式(17)
$ \begin{array}{l} {\mathit{\boldsymbol{S}}_14} = \left[ {3\;2\;16\;7\;13\;20\;19\;22\;11\;21\;8\;18\;12\;9\;15\;6} \right.\\ \left. {5\;14\;17\;4\;10\;1} \right] \end{array} $ | (17) |
将S14和故障数据D14作为贝叶斯结构学习的输入,得到的网络如图 7,故障分析指标对比如表 4,故障14下相比于无故障下各个节点的度分布如图 8所示。
由表 4看出,平均度和聚集系数比无故障时增大,说明故障14的发生使得22个节点中某些节点的联系更加紧密;平均距离减小,说明故障14的发生导致某些节点间的连边减少,联系变稀疏。
由图 8看出,网络的连边更趋于复杂,连边总数即整个网络的度增大。其中节点9相对无故障时度的变化最显著,变化率为100%,远超其他变化率。此结果与故障14下节点9的实际运行情况相符,表明在发生故障时,本文方法同样可有效定位到相应的故障节点9。
4 结论(1) 本文提出了一种基于数据驱动的故障诊断方法,避免了对复杂化工过程的机理建模,同时通过用AHP改进K2算法的学习输入,解决了复杂化工过程中通过专家知识获取变量节点顺序的主观因素的影响。
(2) 在TE过程中对故障4、10、14下的运行数据进行分析建模诊断,对比无故障情况的网络指标,可以诊断到以上3种类型故障的发生,并定位到最有可能发生故障的原因节点,证明了本文方法的有效性。在后续研究中,我们将进一步研究粒子群等智能优化方法在贝叶斯故障诊断中的运用,并与本文方法作比较研究。
[1] |
Raich A, Cinar A. Statistical process montioring and disturbbance diagnosis in multivariable continuous processes[J]. AIChE Journal, 1996, 42(4): 995-1009. DOI:10.1002/(ISSN)1547-5905 |
[2] |
刘磊, 孙树栋, 蔡志强, 等. 基于FMECA知识的故障诊断贝叶斯网络建模研究[J]. 机械设计与制造工程, 2010, 39(5): 24-28. Liu L, Sun S D, Cai Z Q, et al. The modeling of failure diagnosis Bayesian networks based on FMECA knowledge[J]. Machine Design and Manufacturing Engineering, 2010, 39(5): 24-28. (in Chinese) |
[3] |
Lei Y, Dragan D. Diagnosis of intermittent connections for devicenet[J]. Chinese Journal of Mechanical Engineering, 2010, 23(5): 606-612. DOI:10.3901/CJME.2010.05.606 |
[4] |
周东华, 史建涛, 何潇. 动态系统间歇故障诊断技术综述[J]. 自动化学报, 2014, 40(2): 161-171. Zhou D H, Shi J T, He X. Review of intermittent fault diagnosis techniques for dynamic systems[J]. Acta Automatica Sinica, 2014, 40(2): 161-171. (in Chinese) |
[5] |
李晗, 萧德云. 基于数据驱动的故障诊断方法综述[J]. 控制与决策, 2011, 26(1): 1-9. Li H, Xiao D Y. Survey on data driven fault diagnosis methods[J]. Control and Decision, 2011, 26(1): 1-9. (in Chinese) |
[6] |
Li G, Qin S J, Yuan T. Data-driven root cause diagnosis of faults in process industries[J]. Chemometrics & Intelligent Laboratory Systems, 2016, 159: 1-11. |
[7] |
文成林, 吕菲亚, 包哲静, 等. 基于数据驱动的微小故障诊断方法综述[J]. 自动化学报, 2016, 42(9): 1285-1299. Wen C L, Lv F Y, Bao Z J, et al. A review of data driven-based incipient fault diagnosis[J]. Acta Automatica Sinica, 2016, 42(9): 1285-1299. (in Chinese) |
[8] |
Koller D, Friedman N. Probabilistic graphical models:principles and techniques-adaptive computation and machine learning[M]. Cambridge, USA: MIT Press, 2009.
|
[9] |
Jagdale S, Kolekara M H, Khot U P. Smart sensing using Bayesian network for computer aided diagnostic systems[J]. Procedia Computer Science, 2015, 45: 762-769. DOI:10.1016/j.procs.2015.03.150 |
[10] |
Zhu Y L, Huo L M, Lu J L. Bayesian networks-based approach for power systems fault diagnosis[J]. IEEE Transactions on Power Delivery, 2006, 21(2): 634-639. DOI:10.1109/TPWRD.2005.858774 |
[11] |
Cooper G F, Herskovits E. A Bayesian method for the induction of probabilistic networks from data[J]. Machine Learning, 1992, 9(4): 309-347. |
[12] |
吴红, 王维平, 杨峰. 融合先验信息的贝叶斯网络结构学习方法[J]. 系统工程与电子技术, 2012, 34(12): 2585-2591. Wu H, Wang W P, Yang F. Structure learning method of Bayesian network with prior information[J]. Systems Engineering and Electronics, 2012, 34(12): 2585-2591. (in Chinese) DOI:10.3969/j.issn.1001-506X.2012.12.32 |
[13] |
Han Y M, Geng Z Q, Liu Q Y. Energy efficiency evaluation based on data envelopment analysis integrated analytic hierarchy process in ethylene production[J]. Chinese Journal of Chemical Engineering, 2014, 22(11/12): 1279-1284. |
[14] |
Downs J J, Vogel E F. A plant-wide industrial process control problem[J]. Computers & Chemical Engineering, 1993, 17(3): 245-255. |
[15] |
Larsson T, Hestetun K, Hovland E, et al. Self-optimizing control of a large-scale plant:the Tennessee Eastman process[J]. Industrial & Engineering Chemistry Research, 2001, 40(22): 4889-4901. |