(山東科技大學(xué) 電氣與自動(dòng)化工程學(xué)院,山東 青島 266590)
報(bào)警系統(tǒng)對(duì)于工業(yè)生產(chǎn)的安全性、高效性和有序性起著至關(guān)重要的作用[1-2]。工業(yè)報(bào)警系統(tǒng)的主要功能是幫助現(xiàn)場(chǎng)操作員監(jiān)測(cè)工業(yè)運(yùn)行的狀態(tài),當(dāng)設(shè)備運(yùn)行異常時(shí)產(chǎn)生報(bào)警,現(xiàn)場(chǎng)操作員需要分析報(bào)警根源,并采取相應(yīng)的措施消除報(bào)警。工業(yè)報(bào)警系統(tǒng)的研究已經(jīng)受到業(yè)界和學(xué)術(shù)界越來(lái)越多的關(guān)注[3-6]。
報(bào)警根源分析是工業(yè)報(bào)警系統(tǒng)的一個(gè)重要課題。Wen等[7]和Chang等[8]通過(guò)建立描述異常情況與報(bào)警變量之間關(guān)系的先驗(yàn)知識(shí),進(jìn)而分析報(bào)警原因,提出的算法需要進(jìn)行復(fù)雜的數(shù)學(xué)運(yùn)算,適用于復(fù)雜的報(bào)警處理問(wèn)題。Dashlstrand[9]和Souza等[10]分別通過(guò)使用多級(jí)流模型或模糊神經(jīng)網(wǎng)絡(luò)進(jìn)行報(bào)警根源分析,多級(jí)流模型使得數(shù)據(jù)建模工作相對(duì)容易,模糊神經(jīng)網(wǎng)絡(luò)使得系統(tǒng)故障的定位有較強(qiáng)的容錯(cuò)性,但給出的算法過(guò)度依賴(lài)專(zhuān)家經(jīng)驗(yàn)。Simeu-Abazi等[11]利用動(dòng)態(tài)故障樹(shù)來(lái)定位報(bào)警中的故障,該算法可以過(guò)濾掉大量的誤報(bào)警,提高報(bào)警診斷效率,但是其中所用到的參數(shù)難以確定。Guo等[12]基于原因假設(shè)和報(bào)警之間的時(shí)間約束網(wǎng)絡(luò)確定故障原因,并確定誤報(bào)警和漏報(bào)警原因。Wee等[13]從數(shù)據(jù)中得到貝葉斯信念網(wǎng)絡(luò)和模糊認(rèn)知圖,以推斷出報(bào)警的根本原因,消除了尋找領(lǐng)域?qū)<依щy、專(zhuān)家意見(jiàn)不一致以及知識(shí)學(xué)習(xí)過(guò)程中的人為錯(cuò)誤等問(wèn)題,但該方法需要豐富的數(shù)據(jù)才能有效地工作。雅斯太等[14]建立因果網(wǎng)絡(luò)模型,提出了一套基于可調(diào)參考范圍傳遞熵的報(bào)警根源分析方案,所設(shè)計(jì)的算法優(yōu)化了傳統(tǒng)的傳遞熵算法在參考變量預(yù)報(bào)范圍時(shí)存在的不足,使傳遞熵的計(jì)算結(jié)果更加合理,但算法準(zhǔn)確度過(guò)度依賴(lài)數(shù)據(jù)概率密度估計(jì)的精度,且需要較長(zhǎng)的計(jì)算時(shí)間,導(dǎo)致無(wú)法應(yīng)用于在線建模。陳忠圣等[15]結(jié)合過(guò)程的單元?jiǎng)澐址椒ê妥兞康膶哟蝿澐址椒ǎ酶怕蕡D網(wǎng)絡(luò)模型建立了變量間的因果關(guān)系,形成了一套基于概率圖網(wǎng)絡(luò)模型的報(bào)警根源識(shí)別方法,雖然考慮了變量之間的相關(guān)性,但是在確定因果關(guān)系網(wǎng)絡(luò)模型時(shí)沒(méi)有包含異常操作下的數(shù)據(jù),導(dǎo)致模型并不完善。馬小梅等[16]通過(guò)改進(jìn)布谷鳥(niǎo)算法并應(yīng)用于貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)學(xué)習(xí)中,結(jié)合偏相關(guān)性分析及貝葉斯網(wǎng)絡(luò)推理進(jìn)行報(bào)警根源分析,改進(jìn)之后的算法與傳統(tǒng)算法相比具有收斂速度快、精度高的特點(diǎn),但是該算法不適用于更大規(guī)模的網(wǎng)絡(luò)結(jié)構(gòu)。本研究所提出的算法從多個(gè)變量之間的物理關(guān)系出發(fā),通過(guò)對(duì)傳統(tǒng)相關(guān)系數(shù)算法的優(yōu)化,能更快速地幫助操作員進(jìn)行報(bào)警根源分析,貼合實(shí)際工業(yè)應(yīng)用。
由于歷史數(shù)據(jù)段的時(shí)間跨度大,記錄的數(shù)據(jù)量大,可以幫助現(xiàn)場(chǎng)操作員根據(jù)已出現(xiàn)過(guò)的異常歷史數(shù)據(jù)進(jìn)行異常狀況分析,本研究通過(guò)在歷史數(shù)據(jù)中查找與當(dāng)前異常數(shù)據(jù)相似的數(shù)據(jù)段,幫助操作員進(jìn)行報(bào)警根源分析。本研究在文獻(xiàn)[17]描述的Distance Profile基礎(chǔ)上,改進(jìn)了其中的單變量相似數(shù)據(jù)段查找算法,消除了其在計(jì)算樣本間距離時(shí)存在的誤差;提出一種新的基于距離分布的時(shí)間窗口確定方法;形成一套多變量相似數(shù)據(jù)段查找的方法,最終提出一種新的報(bào)警根源分析方法。
文獻(xiàn)[17]中的計(jì)算距離公式為:
(1)
(2)
對(duì)于兩段完全相同的數(shù)據(jù)段,相關(guān)系數(shù)應(yīng)為1,距離應(yīng)為0。綜合公式(1)和(2)得到計(jì)算距離
(3)
其中,XY[i]是X和Y[i]的卷積。本研究采用快速傅里葉變換的方法來(lái)計(jì)算卷積XY[i]。卷積定理可以簡(jiǎn)化卷積的運(yùn)算量,利用傅里葉變換的快速算法之后,總的計(jì)算復(fù)雜度為O(nlogn)。由公式(3)計(jì)算出兩段完全相同數(shù)據(jù)段的距離值為0,表明公式(1)存在的誤差被消除,因此本研究將公式(3)作為計(jì)算距離的公式。
歷史相似數(shù)據(jù)段查找的目標(biāo)是在歷史數(shù)據(jù)中找到相似度較高的相似數(shù)據(jù)段,體現(xiàn)在距離矩陣上就是得到較多的較小值(接近于0),如圖1圓點(diǎn)所示。
圖1 窗口寬度合適的距離分布圖Fig.1 Distance distribution map with appropriate window width
若給定數(shù)據(jù)段的時(shí)間窗口寬度過(guò)小,會(huì)找到很多相似數(shù)據(jù)段,但是這些相似數(shù)據(jù)段幾乎不包含數(shù)據(jù)特征,對(duì)于報(bào)警根源分析沒(méi)有意義。若給定數(shù)據(jù)段的時(shí)間窗口寬度過(guò)大,則幾乎找不到相似數(shù)據(jù)段,即查找結(jié)果距離均值較大,相似度很低。因此,確定合適的時(shí)間窗口寬度非常重要。
由于不同的窗口寬度m可以確定不同的距離矩陣D(m),取D(m)的局部極小值的平均值作為求解窗口寬度的指標(biāo),指標(biāo)最小時(shí)的窗口寬度就是合適的。若兩個(gè)窗口的指標(biāo)相等,則取較大的窗口寬度。如公式(4)所示:
(4)
輸入:窗口寬度m輸出:窗口寬度指標(biāo)Fmin[D(m)]n1 將m代入公式(3),得到距離向量D(m)2 找到D(m)的所有極小值并從小到大排序,得到向量fmin[D(m)]3 為fmin[D(m)]中的元素找到在D(m)中對(duì)應(yīng)的位置,形成位置向量Q4 fori←1tolength(Q)do5 j←Q(i)6 刪除Q中位于(j-m/2,j+m/2)且不等于j的元素7 更新length(Q)8 ifi=length(Q)9 then break10 end if11 end for 12 得到排序后的D(m)的局部極小值,形成Fmin[D(m)]13 根據(jù)用戶需求確定n,取D(m)中最小的n個(gè)局部極小值的均值,得到Fmin[D(m)]n
在實(shí)際工業(yè)生產(chǎn)中往往存在較多的相關(guān)變量,因此本節(jié)在單變量相似數(shù)據(jù)段查找的基礎(chǔ)上,將算法擴(kuò)展到多變量的情況。通過(guò)公式(3)已得到每一個(gè)單變量的距離矩陣
其中i=1,2,…,I,I為變量個(gè)數(shù)。將每一個(gè)變量的距離矩陣Di標(biāo)準(zhǔn)化到同一范圍[0,2],然后相加得到所有變量總的距離矩陣
(5)
其中:Wi為各變量所占權(quán)重,該權(quán)重值可由用戶確定;I為變量個(gè)數(shù)。D中就包含所有變量綜合之后的距離,距離越小,這些變量的綜合相似度就越高。相似度S與距離之間的關(guān)系為:
(6)
其中I為變量個(gè)數(shù)。若D中元素出現(xiàn)距離相等即D[i]=D[j]的情況,則進(jìn)一步比較主變量距離D1[i]與D1[j]的大小,若D1[i] 綜上,進(jìn)行多變量相似數(shù)據(jù)段查找的步驟為: 1) 通過(guò)公式(4)確定合適的時(shí)間窗口寬度m,即確定要查找的數(shù)據(jù)段X; 2) 由公式(3)計(jì)算出每一個(gè)變量的距離矩陣Di; 3) 通過(guò)公式(5)得到所有變量的總距離矩陣D; 4) 去除矩陣D中的“灰色區(qū)域”,具體過(guò)程的偽代碼為: 輸入:總距離向量D輸出:相似數(shù)據(jù)段所在的位置向量Q 1 對(duì)D從小到大進(jìn)行排序,得到向量D′2 為D′中的元素找到在D中對(duì)應(yīng)的位置,形成為位置向量Q3 fori←1tolength(Q)do4 j←Q(i)5 刪除Q中位于(j-m/2,j+m/2)且不等于j的元素6 更新length(Q)7 ifi=length(Q)8 then break9 end if10 end for 5)Q中的元素值即為相似數(shù)據(jù)段在原數(shù)據(jù)中的位置。 本節(jié)通過(guò)數(shù)據(jù)仿真和TE過(guò)程驗(yàn)證所提方法的有效性。 構(gòu)造多變量數(shù)據(jù)過(guò)程如下:首先構(gòu)造一組數(shù)據(jù)x=[x1,x2,…,xn],將其代入 y1=3x+[2,2,…,2] 得到相關(guān)變量的仿真數(shù)據(jù)如圖2所示。 圖2 三個(gè)相關(guān)變量的仿真數(shù)據(jù)Fig.2 Simulation data of three related variables 通過(guò)步驟1)確定時(shí)間窗口寬度,取n=16,m∈[300,600],得到指標(biāo)分布如圖3,可見(jiàn)在m=403時(shí)指標(biāo)值最小,即取窗口寬度為403。通過(guò)步驟2)~5)得到相似數(shù)據(jù)段查找的結(jié)果如圖4所示。圖4中虛線框內(nèi)為當(dāng)前時(shí)刻要查找的數(shù)據(jù)段(與標(biāo)號(hào)1數(shù)據(jù)段相同),長(zhǎng)度為403。數(shù)字標(biāo)出了16段相似數(shù)據(jù)段并對(duì)相似程度進(jìn)行了排序。相似度前16段數(shù)據(jù)的距離D以及經(jīng)過(guò)公式(6)得到的相似度S分別為: 圖3 窗口指標(biāo)圖Fig.3 Window index map 圖4中標(biāo)號(hào)1、2、3、4的數(shù)據(jù)段與被查找的數(shù)據(jù)段形狀完全相同,但幅值不同,標(biāo)號(hào)5~16的數(shù)據(jù)段與被查找的數(shù)據(jù)段形狀相似,但幅值不完全相同,并且幅值也不同。本文相似數(shù)據(jù)段查找的算法是計(jì)算兩段數(shù)據(jù)段的線性相關(guān)距離,所以標(biāo)號(hào)1、2、3、4的數(shù)據(jù)段與被查找的數(shù)據(jù)段的距離應(yīng)為0,相似度應(yīng)為1,剩下的數(shù)據(jù)段與被查找的數(shù)據(jù)段的距離應(yīng)逐漸增大,相似度逐漸降低。綜上,仿真結(jié)果與真實(shí)結(jié)果一致。 圖4 多變量相似數(shù)據(jù)段查找的仿真結(jié)果Fig.4 Simulation results of multivariate similar data segment search TE過(guò)程是一個(gè)實(shí)際化工過(guò)程的仿真模擬,主要由4種氣態(tài)物料A、C、D和E參與反應(yīng),生產(chǎn)出2種產(chǎn)品G和H,并伴有1種副產(chǎn)品F,此外在產(chǎn)品的進(jìn)料中含有少量的惰性氣體B。整個(gè)過(guò)程主要由4種反應(yīng)組成,反應(yīng)方程式為[18]: A(g)+C(g)+D(g)→G(l) TE過(guò)程由攪拌反應(yīng)器、冷凝器、產(chǎn)物分離器、汽提塔和壓縮機(jī)5個(gè)主要設(shè)備所組成,每個(gè)設(shè)備完成不同的工作。TE過(guò)程中有22個(gè)過(guò)程變量,同時(shí),TE過(guò)程模型還預(yù)設(shè)21種擾動(dòng)來(lái)體現(xiàn)系統(tǒng)發(fā)生的不同故障。 選取攪拌反應(yīng)器部分的5個(gè)相關(guān)過(guò)程變量進(jìn)行試驗(yàn),即物料A的流量(F1)、物料D的流量(F2)、物料E的流量(F3)、反應(yīng)器進(jìn)料的流量(F6)、攪拌反應(yīng)器的壓力(P7)以及設(shè)定d6故障(物料A流量發(fā)生損耗)。共取15 544個(gè)采樣點(diǎn),采樣間隔為1 s,其中設(shè)置了3次故障,第三次故障導(dǎo)致當(dāng)前時(shí)刻的報(bào)警。這里對(duì)攪拌反應(yīng)器的壓力進(jìn)行監(jiān)測(cè),報(bào)警線為2 895 kPa。TE過(guò)程數(shù)據(jù)如圖5所示。 圖5 TE過(guò)程數(shù)據(jù)Fig.5 TE process data 首先通過(guò)步驟1)確定時(shí)間窗口寬度,取n=2,m∈[50,300],通過(guò)公式(4)得到m=103。圖6為當(dāng)前數(shù)據(jù)段(被查找數(shù)據(jù)段),然后通過(guò)步驟2)~5)得到相似數(shù)據(jù)段查找的結(jié)果(如圖7)。 圖6 當(dāng)前數(shù)據(jù)段Fig.6 Current data segment 圖7 相似數(shù)據(jù)段查找結(jié)果Fig.7 Similar data segment search results 圖8 3種算法的計(jì)算速度對(duì)比Fig.8 Comparison of calculationspeeds of three algorithms 圖7(a)為找到的相似度第一的數(shù)據(jù)段,相似度為94.37%,7(b)為找到的相似度第二的數(shù)據(jù)段,相似度為89.97%,橫坐標(biāo)為三段數(shù)據(jù)分別在歷史數(shù)據(jù)中的位置。已知在歷史中圖7(a)(b)發(fā)生報(bào)警的原因,通過(guò)操作員的對(duì)比分析,可以準(zhǔn)確得到當(dāng)前數(shù)據(jù)段的報(bào)警根源。 圖8將本算法與采用歐氏距離、傳統(tǒng)相關(guān)系數(shù)算法進(jìn)行相似數(shù)據(jù)段查找速度對(duì)比,可見(jiàn)本算法不僅可以準(zhǔn)確地找到當(dāng)前數(shù)據(jù)的相似數(shù)據(jù)段,而且大幅度提高了計(jì)算速度。圖8中n代表時(shí)間序列長(zhǎng)度,m代表時(shí)間窗口寬度,可以看到在窗口寬度為500且時(shí)間序列足夠長(zhǎng)時(shí),本算法可以大大提高計(jì)算速度,更快地幫助操作員進(jìn)行報(bào)警根源分析。 本研究改進(jìn)了一種單變量相似數(shù)據(jù)段查找的算法,消除其在計(jì)算樣本距離時(shí)存在的誤差,然后提出一種新的基于距離分布的窗口寬度確定方法,最后形成一種可以用于多變量相似數(shù)據(jù)段查找的方法,并對(duì)數(shù)據(jù)段的相似程度進(jìn)行排序。通過(guò)該方法可以找到當(dāng)前報(bào)警變量及其相關(guān)變量的歷史相似數(shù)據(jù)段,以輔助操作員進(jìn)行報(bào)警根源分析。最后,通過(guò)數(shù)據(jù)仿真和TE過(guò)程驗(yàn)證了本方法的有效性。3 仿真案例
3.1 數(shù)據(jù)仿真
y2=5x+[3,2,…,3]3.2 TE過(guò)程
A(g)+C(g)+E(g)→H(l)
A(g)+E(g)→F(l)
3D(g)→2F(l)4 結(jié)論