安汝嶠, 楊春節(jié), 潘怡君,2
(1. 浙江大學(xué) 控制科學(xué)與工程學(xué)院, 浙江 杭州 310027; 2. 中國科學(xué)院 沈陽自動化研究所,遼寧 沈陽 110016)
高爐煉鐵是國家工業(yè)生產(chǎn)過程的重要組成部分,具有復(fù)雜性和時變性的特征[1]。因此,研究高爐生產(chǎn)過程的故障檢測具有重要意義,許多學(xué)者對工業(yè)過程故障檢測進行了大量的研究[2-4]。突變點檢測作為一種工業(yè)過程故障檢測的方法,近些年被廣泛研究[5]。由于高爐煉鐵過程發(fā)生各種各樣的物理化學(xué)變化,以及復(fù)雜的生產(chǎn)原理,導(dǎo)致生產(chǎn)狀態(tài)時刻變化,因此需要利用非參數(shù)的方法。此外,高爐煉鐵是一個需要人為操作的半自動化過程,主觀性較強,采集得到完全無故障的數(shù)據(jù)矩陣十分困難,需要無監(jiān)督的過程監(jiān)測方法[6]。
近些年來,一些無監(jiān)督和非參數(shù)的突變點檢測方法已經(jīng)被廣泛研究[7-10]。LUNG-YUT-FONG等[11]提出了一種基于Wilcoxon秩統(tǒng)計量的非參數(shù)突變點檢測方法。ADAMS等[12]提出了一種基于Bayesian的在線突變點檢測方法。CHU等[13]構(gòu)建了一種非參數(shù)模型的突變點檢測的框架,利用觀測值之間的相似信息,應(yīng)用在多種不同類型的數(shù)據(jù)中進行突變點檢測。AN等[14]提出了一種基于歐式距離和時間間隔圖方法的突變點檢測,并實施在實際的高爐生產(chǎn)過程。CHEN等[15-16]提出了一種基于圖的突變點檢測方法,并建立了相應(yīng)的統(tǒng)計量。與上述介紹方法相比較,基于圖的方法是同時具有無監(jiān)督和非參數(shù)特征的。此外,基于圖的突變點檢測方法,對采集到的數(shù)據(jù)特征沒有過多限制,適合于高爐煉鐵流程。除了本文作者的研究之外,目前尚未應(yīng)用于工業(yè)過程故障檢測。MUSULIN等[17-18]利用譜圖分析理論進行過程監(jiān)測,與上述文獻不同的是,基于圖方法利用的是歐式距離構(gòu)造最小生成樹,并建立了相應(yīng)的突變點檢測統(tǒng)計量。 基于圖方法的突變點檢測首先計算觀測值之間的歐式距離,并根據(jù)此構(gòu)造最小生成樹。其次,每一個采樣點作為突變點候選值依次將觀測值分為兩個部分,并計算連接來自兩個部分的觀測值的邊的數(shù)目。如果連接兩個不同組觀測值的邊數(shù)目較少,則說明存在突變點。這是因為,如果沒有突變點存在,觀測值之間的連接應(yīng)該是無序且雜亂無章的。而突變點的存在,觀測值更傾向于連接同一組內(nèi)的觀測值,使連接兩個組的觀測值的邊數(shù)目較少,從而確定突變點的存在。高爐煉鐵是一個復(fù)雜的工業(yè)生產(chǎn)過程,由于傳感器的誤差,數(shù)據(jù)傳輸干擾等原因,采集到的數(shù)據(jù)矩陣很可能包含異常值。而異常值存在干擾計算邊的數(shù)目,從而導(dǎo)致較高的故障誤報率。作者進一步考慮加權(quán)圖方法,對于不同觀測值利用不同權(quán)值,有效降低異常值對故障檢測的影響。
給定一個數(shù)據(jù)矩陣 X ∈Rn×m,每一行xi, i = 1,2,…,n是一個包含m個變量的觀測值。本文研究目的是驗證在上述數(shù)據(jù)矩陣X中是否存在一個突變點τ。這是一個二樣本檢驗的問題。其中的零假設(shè)為
備擇假設(shè)為
其中,τ為突變點,F(xiàn)0和F1為兩種不同的數(shù)據(jù)分布。
本文需要考慮下述兩個假設(shè):
假設(shè)1:高爐煉鐵過程采集到的觀測值之間是彼此獨立的。
假設(shè)2:在整個高爐生產(chǎn)過程中噪聲的分布是不變的。
上述假設(shè)的合理性以及可實現(xiàn)性在作者的另一篇文章中已經(jīng)敘述[14]。
假定存在一個數(shù)據(jù)矩陣X,在一系列時間序列xi,i = 1,2,…,n中,是否存在突變點的零假設(shè)和備擇假設(shè)均與問題描述中相同?;趫D方法的突變點檢測首先需要獲得觀測值之間的連接圖。目前得到連接圖的方法主要有3種:最小生成樹[19]、最小距離對[20]以及近鄰圖的方法[21]。CHEN等[15]在文獻中證明,獲得觀測值之間連接圖的方法不影響突變點檢測的結(jié)果。
其次,計算連接兩個來自不同組觀測值的邊數(shù)目作為統(tǒng)計量。依次設(shè)定每一個觀測值作為疑似突變點,將全部觀測值分為2組,在得到觀測值連接圖之后,計數(shù)連接來自不同組觀測值的邊數(shù)目。當這個邊的數(shù)目較小時,意味著觀測值更傾向于連接同一組內(nèi)的觀測值,則說明此時的疑似突變點為真正的突變點。因為此時兩個組的數(shù)據(jù)分布存在差異,導(dǎo)致觀測值連接出現(xiàn)規(guī)律。下面將上述突變點檢測的方法用公式表示。
首先定義一個指示函數(shù)xI,如式(3)所示[22]。
因此,對于突變點 τ 的每個疑似值t,連接兩個來自不同組觀測值的邊數(shù)目可以式(4)表示[15]。
圖1 10個數(shù)據(jù)點的最小生成樹圖 Fig.1 Minimum spanning tree of 10 observations
利用一組數(shù)據(jù)舉例介紹基于圖方法的突變點檢測原理。給定10個數(shù)據(jù),每組數(shù)據(jù)包含2個變量。其中前5個觀測值服從N(0,0.1*I2)分布,后5個觀測值服從N((2,2)’,0.1*I2)分布,即在第5個數(shù)據(jù)處存在一個突變點。根據(jù)這10個數(shù)據(jù),繪制最小生成樹如圖1所示。上述10個數(shù)據(jù)點連接順序如表1所示。
基于圖方法的突變點檢測計算連接每個突變點疑似值前后兩組數(shù)據(jù)點的邊的數(shù)目。例如,當假設(shè)第3個數(shù)據(jù)點為突變點,從表1可以得知,連接第3個點前后兩組數(shù)據(jù)的邊數(shù)目為2 (數(shù)據(jù)點3連接數(shù)據(jù)點4;數(shù)據(jù)點5連接數(shù)據(jù)點2)。其他連接疑似突變點前后兩組數(shù)據(jù)點的邊數(shù)目如表2所示。
從表2可以得知,去除兩邊數(shù)據(jù)點后,當?shù)?個數(shù)據(jù)點作為疑似突變點時,連接前后兩個組邊數(shù)目最小,則說明第5個數(shù)據(jù)點存在突變,和數(shù)據(jù)設(shè)定一致。
提出一種新的獲得觀測值之間連接權(quán)值的方法。首先,計算前10個測試觀測值之間的歐式距離,人為剔除與其他觀測值之間歐氏距離較大的觀測值,如果出現(xiàn)異常觀測值,則可以再取一個新觀測值重新計算。剔除可能存在的異常觀測值后,計算觀測值之間歐式距離的平均值,以及作為參考的觀測值平均值 (此步驟可以簡單作為異常值剔除的方法,僅用于獲得一組正常的觀測值。本文提出的加權(quán)圖方法可以簡便地剔除異常值,無需一直人為觀察可能出現(xiàn)的異常值,適用于測試觀測值維數(shù)較高的情況,同時魯棒性更好)。然后,計算待檢測觀測值與上述觀測值平均值之間的歐式距離。如果該歐式距離大于兩倍的標準歐式距離平均值,則認為可能出現(xiàn)異常值,權(quán)值設(shè)置為0。否則,權(quán)值設(shè)置為1。如果連續(xù)3個及以上的權(quán)值為0,則不認為是異常值,作為故障可能出現(xiàn)的情況,權(quán)值重新設(shè)定為1。然后,計算待檢測觀測值之間的歐式距離,并與上述的指示權(quán)值矩陣加權(quán),將視為異常值的觀測值與所有其他觀測值之間的歐式距離設(shè)置為零,消除異常值的影響。從后續(xù)的仿真過程中,可以得出在最小生成樹中,這些作為異常值的觀測值均會與第1個觀測值相連接,消除了異常值的影響。最后,計算連接來自兩個部分觀測值的邊數(shù)作為統(tǒng)計量,實現(xiàn)故障檢測。
基于圖的突變點檢測方法通過將觀測值分為2組,計算連接來自兩個組的觀測值的邊的數(shù)目實現(xiàn)故障檢測。由于高爐具有時變性以及正常工況數(shù)據(jù)采集困難的特點,需要利用無監(jiān)督以及非參數(shù)的方法進行故障檢測,所以基于圖的突變點檢測方法是適用的[14]。考慮到3.1節(jié)中介紹的基于圖方法突變點檢測原理,異常值的出現(xiàn)能影響觀測值的連接順序,導(dǎo)致突變點的檢測出現(xiàn)誤差,增大故障誤報率。因此,需要降低異常值對突變點檢測的影響。本文利用最小生成樹的方法構(gòu)建觀測值連接圖,通過修改邊的權(quán)值提高突變點檢測效果。
表1 10個數(shù)據(jù)點的連接順序 Table 1 Connection order of 10 observations
表2 連接每個突變點疑似值前后兩組數(shù)據(jù)點的邊的數(shù)目 Table 2 The number of edges connecting the observations derived from two group divided by a change point candidate
計算最小生成樹的連接權(quán)值,首先考慮觀測值xi, i = 1,2,…,n之間的歐式距離,如式(5)所示。
其次,利用點乘加權(quán)的方法調(diào)節(jié)邊之間的權(quán)值,如式(6)所示。
其中
bij= 0時人為設(shè)定為inf,起到避免觀測值與本身連接,以及將異常值分開的作用。
計算一組正常工況觀測值之間的歐式距離,并求平均,記為ave;計算這些正常工況觀測值的平均值,記為xstd。計算每一個測試觀測值xi與平均觀測值xstd之間的歐式距離ti,
當不超過連續(xù)3個觀測值得到的ti大于2倍的平均值ave時,視為異常值出現(xiàn),此時將權(quán)值記為0;其他情況均記為1。
通過引入加權(quán)值 λ,將異常值與正常工況和異常值與故障工況觀測值之間的歐式距離人為修改為無窮大,避免異常值參與統(tǒng)計量計算,有效地降低了異常值對故障檢測的影響,提高故障檢測率。
給定一個高爐過程測試數(shù)據(jù)矩陣 X ∈Rn×m,包含n個采樣觀測值,每個采樣觀測值包含m個變量。以及一組正常工況觀測值 Y ∈Rl×m,包含l個采樣觀測值,每個采樣觀測值包含m個變量(從測試數(shù)據(jù)矩陣中獲得,可以通過觀察變量的散點圖結(jié)合高爐操作工人的手冊以及觀察觀測值之間的歐式距離獲得)。τ 是一個突變點,則基于加權(quán)圖方法的高爐過程故障檢測步驟如下。其流程圖如圖2所示。
步驟1:計算歐氏距離
計算高爐過程采集到的需故障檢測的觀測值之間的歐式距離,存儲在矩陣A中[23]。
圖2 基于加權(quán)圖方法的高爐過程故障檢測流程圖 Fig.2 Flow sheet of fault detection based on the weight graph method in a blast furnace process
步驟2:計算參考歐式距離以及觀測值
計算正常工況觀測值之間的歐式距離,并求平均值;計算正常工況觀測值的均值。
步驟3:計算權(quán)值參數(shù)
計算測試觀測值xi, i = 1,2,…,n與均值xstd之間的歐式距離。
如果pi> 2 * ave,則qi> 0。如果qi以及相鄰的qi+1, qi+2不超過連續(xù)3個為0,則ri= 0;反之,ri= 1。最后兩個觀測值的權(quán)值參數(shù),根據(jù)倒數(shù)第3個觀測值的權(quán)值參數(shù)確定。
步驟4:計算圖中邊的權(quán)值
根據(jù)步驟3中得到的權(quán)值參數(shù),計算得到加權(quán)值λ。如果ri= 0,則λ(i,:) = λ(:,i) = 0,反之為1。通過點乘的方式計算最小生成樹的權(quán)值。
人為將bij= 0設(shè)置為無窮大inf,防止觀測值連接自己以及剔除異常值的目的。
步驟5:繪制圖
根據(jù)步驟4中得到的加權(quán)值,利用最小生成樹方法繪制圖。根據(jù)權(quán)值的大小連接觀測值,連接不能出現(xiàn)首尾相連的情況。
步驟6:計算邊的數(shù)目
根據(jù)式(4)計算連接來自兩個不同組的觀測值的邊的數(shù)目,其中疑似突變點將觀測值分為兩個部分。
步驟7:統(tǒng)計量計算
由于邊的數(shù)目RG(t)和疑似突變點t的位置是有關(guān)的,因此為了降低疑似突變點t的位置影響,將邊的數(shù)目RG(t)標準化。由于較小的RG(t)意味著突變點的存在,因此,為了方便觀察,在標準化RG(t)同時,利用取反的方式方便觀察故障檢測結(jié)果[15]。
其中
步驟8:高爐過程故障檢測
如果ZG(t)中,某一個值大于其他值,則說明有突變點存在。從采樣得到的測試觀測值中可以分析得到,高爐煉鐵過程有故障的存在。
上述章節(jié)中,介紹了基于加權(quán)圖方法的故障檢測原理及步驟。在本章節(jié)中,首先利用數(shù)值仿真,驗證了所提出的加權(quán)圖方法的突變點檢測效果。然后,利用實際的高爐生產(chǎn)數(shù)據(jù),驗證加權(quán)圖方法的異常值剔除及故障檢測效果。
本節(jié)中,利用40個采樣觀測值驗證所提出的方法的有效性。其中前20個觀測值服從N(0,0.1*I2)分布,后20個觀測值服從N((2,2)’,0.1*I2)分布。為了驗證算法剔除異常值的效果,在全部40個采樣觀測值中,人為引入10% 的異常值,并且服從N((5,5)’,0.1*I2)分布。為了簡便,正常工況數(shù)據(jù)直接生成?;趫D和加權(quán)圖方法的數(shù)值仿真突變點檢測結(jié)果如圖3和4所示,橫坐標是采樣觀測點,縱坐標為相應(yīng)的檢測統(tǒng)計量。為了清楚地對比兩種方法的突變點檢測效果,檢測出突變點時刻以及數(shù)值較大的3個統(tǒng)計量的方差如表3所示。比較數(shù)值較大的3個統(tǒng)計量的方差是為了驗證所提出算法能較精確地檢測出突變點,在突變點出現(xiàn)的采樣時刻對應(yīng)于較大的統(tǒng)計量,其他時刻的統(tǒng)計量較小,減少誤報的出現(xiàn)。
圖3 基于圖方法的突變點檢測數(shù)值仿真結(jié)果 Fig.3 Change point detection result based on the graph method for a numerical example
圖4 基于加權(quán)圖方法的突變點檢測數(shù)值仿真結(jié)果 Fig.4 Change point detection result based on the weight graph method for a numerical example
表3 2種方法在數(shù)值仿真中突變點檢測效果對比 Table 3 Comparison of two methods for change point detection in a numerical simulation
從圖3和4中可以得出,基于兩種方法均可以準確地檢測出突變點,但是基于加權(quán)圖方法的突變點檢測效果較好,且可清楚地得出突變點的出現(xiàn)位置。表3中可以看出,基于圖方法的前3個較大統(tǒng)計量數(shù)值差別較小,在突變點檢測判定中,可能出現(xiàn)誤判。而基于加權(quán)圖方法的突變點檢測,利用觀測值之間歐式距離,改變了最小生成樹中權(quán)值計算方式,能夠有效降低異常值的影響,使觀測值之間的連接具有更好的加魯棒,減少波動的出現(xiàn)。因此,基于加權(quán)圖方法的突變點檢測具有降低異常值影響的作用,并且可準確地檢測到數(shù)值仿真過程中存在的突變點,可以進一步實施在實際高爐過程生產(chǎn)數(shù)據(jù)中。
高爐煉鐵是一個復(fù)雜的生產(chǎn)過程,近些年來許多研究學(xué)者對高爐煉鐵的生產(chǎn)原理[24-25]以及故障檢測做了大量研究[26-28]。然而,在高爐煉鐵生產(chǎn)過程中,傳感器出現(xiàn)故障、網(wǎng)絡(luò)數(shù)據(jù)傳輸出錯、少量原料的投入等都能導(dǎo)致異常值的出現(xiàn),而常見故障檢測方法對異常值較敏感,如k-nearest neighbor (kNN)等[29-30]。而異常值的出現(xiàn)能直接影響最小生成樹中觀測值之間的連接順序,從而導(dǎo)致較高的故障誤報率。本節(jié)利用加權(quán)圖方法降低異常值的影響,提高高爐過程故障檢測的效果。
本章節(jié)利用某鋼鐵廠高爐數(shù)據(jù)驗證所提出算法的有效性。采集到的高爐數(shù)據(jù)矩陣包含18個變量,高爐煉鐵過程主要包含6種故障,低料線、爐溫過涼、爐溫過熱、管道形成、懸料以及塌料,具體介紹可以參考文獻[6]。本節(jié)利用低料線、爐溫過涼以及塌料3種故障驗證所提出算法的有效性。10個正常工況數(shù)據(jù)作為校驗數(shù)據(jù)。測試數(shù)據(jù)包含40個采樣觀測值,前20個正常工況數(shù)據(jù),后20個為相應(yīng)的故障工況數(shù)據(jù)。仿真結(jié)果如圖5~圖10所示,橫坐標是采樣觀測點,縱坐標為相應(yīng)的檢測統(tǒng)計量。具體的故障檢測時間以及前3個較大統(tǒng)計量的方差如表4所示(故障在第21個采樣時刻出現(xiàn))。
圖5 基于圖方法對高爐低料線故障檢測仿真結(jié)果 Fig.5 Fault detection result based on the graph method for low stock line in a blast furnace process
圖6 基于加權(quán)圖方法對高爐低料線故障檢測仿真結(jié)果 Fig.6 Fault detection result based on the weight graph method for low stock line in a blast furnace process
圖7 基于圖方法對高爐塌料故障檢測仿真結(jié)果 Fig.7 Fault detection result based on the graph method for slip in a blast furnace process
圖8 基于加權(quán)圖方法對高爐塌料故障檢測仿真結(jié)果 Fig.8 Fault detection result based on the weight graph method for slip in a blast furnace process
圖9 基于圖方法對高爐爐溫過涼故障檢測仿真結(jié)果 Fig.9 Fault detection result based on the graph method for cooling in a blast furnace process
圖10 基于加權(quán)圖方法對高爐爐溫過涼故障檢測仿真結(jié)果 Fig.10 Fault detection result based on the weight graph method for cooling in a blast furnace process
從圖5~10以及表4中可以看出,基于圖方法不能有效地檢測出高爐過程存在的低料線故障,以及爐溫過涼故障也不能及時檢測出來。而基于加權(quán)圖方法對于3種故障,均能夠在第一時間準確地檢測出故障。此外,基于加權(quán)圖方法得到的前3個數(shù)值較大的統(tǒng)計量方差較大,說明突變點可以明確地被檢測,降低了誤報率。因此,通過引入權(quán)值的方式,計算觀測值之間歐式距離,判斷數(shù)據(jù)矩陣中可能存在的異常值,降低了異常值對構(gòu)造最小生成樹的影響,提高了故障檢測的效果。而在實際的高爐煉鐵生產(chǎn)過程中,及時檢出故障是十分重要的,能夠降低財產(chǎn)損失,提高操作人員的安全,具有十分重要的意義。
表4 兩種方法的高爐故障檢測效果對比 Table 4 Comparison of two methods for fault detection
針對高爐過程采集觀測值包含異常值的問題,提出了一種加權(quán)圖的故障檢測方法?;诩訖?quán)圖方法利用觀測值之間的歐式距離,計算得到新的加權(quán)值,有效降低了異常值對構(gòu)造最小生成樹的影響,提高了故障檢測結(jié)果。從數(shù)值仿真和實際高爐生產(chǎn)數(shù)據(jù)的仿真結(jié)果說明本文提出的基于加權(quán)圖方法可以準確及時地檢測出采樣觀測值中存在的突變點。同時,基于圖方法是無監(jiān)督以及非參數(shù)的,適用于復(fù)雜的工業(yè)生產(chǎn)過程。因此,本文將基于圖方法創(chuàng)新性地應(yīng)用到高爐過程實際工業(yè)生產(chǎn)中,具有十分重要的意義。但本文所提出的是一個離線故障檢測的方法,在未來的研究中,可以通過考慮聚類方法的思想,實現(xiàn)在線故障檢測。
符號說明:
aij— 歐氏距離
ave — 正常工況觀測值歐式距離平均值
G — 最小生成樹得到的圖以及邊的集合
RG(t) — 邊的數(shù)目
t — 可能突變點
xstd— 正常工況觀測值的平均值
Gi — 子圖,包含所有連接觀測值xi的邊
Ix— 指示函數(shù)
ZG(t) — 算法統(tǒng)計量
τ — 突變點
inf — 無窮大