左帥,徐璐璐,陶鑫,王培紅
(1.國家電投集團協(xié)鑫濱海發(fā)電有限公司,江蘇 鹽城 224500;2. 東南大學(xué)能源與環(huán)境學(xué)院,南京 210096)
基于數(shù)據(jù)驅(qū)動的設(shè)備狀態(tài)診斷方法是借助人工智能來構(gòu)建基于設(shè)備大量歷史運行數(shù)據(jù)的狀態(tài)診斷方法。數(shù)據(jù)驅(qū)動[1]來源于計算機科學(xué)領(lǐng)域,指將某種算法應(yīng)用于大量數(shù)據(jù)的分析處理來支持決策。與基于機理模型的方法不同,數(shù)據(jù)驅(qū)動型狀態(tài)診斷方法不需要建立設(shè)備精確的數(shù)學(xué)模型,只需對采樣數(shù)據(jù)進行處理[2]。人工智能算法包括模糊聚類、神經(jīng)網(wǎng)絡(luò)、粒子群算法等[3-4],被廣泛應(yīng)用到火電機組建模、預(yù)測及優(yōu)化中??疹A(yù)器是電廠重要的輔機設(shè)備,對電廠安全運行具有重要意義。林文輝等[5]對空預(yù)器差壓升高進行研究,并提出提高吹灰壓力降低空預(yù)器差壓的方案。戴松貴等[6]對空預(yù)器堵管與低溫腐蝕進行研究,分析了堵管原因,并給出減輕低溫腐蝕的措施。汪德友[7]通過對網(wǎng)絡(luò)參數(shù)的選擇、樣本的選取與處理以及網(wǎng)絡(luò)結(jié)構(gòu)的選擇和設(shè)計,確定了針對回轉(zhuǎn)式空預(yù)器的人工神經(jīng)網(wǎng)絡(luò)模型,對空預(yù)器漏風(fēng)率進行預(yù)測。TERUEL等[8]引入神經(jīng)網(wǎng)絡(luò)算法建立積灰監(jiān)測模型,實時監(jiān)測積灰情況。趙明和孫平[9]利用神經(jīng)網(wǎng)絡(luò)建立空預(yù)器污染系數(shù)預(yù)測模型,反映空預(yù)器積灰的變化情況。此類方法直接利用電廠實時運行數(shù)據(jù)對空預(yù)器積灰情況進行分析。李慶等[10]針對國內(nèi)某電站600 MW機組鍋爐的三分倉回轉(zhuǎn)式空預(yù)器進行仿真與建模,分析和驗證其故障模擬真實性,在此基礎(chǔ)上,又采用基于仿真平臺的神經(jīng)網(wǎng)絡(luò)技術(shù)進行空預(yù)器故障診斷的研究。王興龍等[11]設(shè)計了空預(yù)器智能診斷管理系統(tǒng),通過遠程數(shù)據(jù)網(wǎng)絡(luò)對現(xiàn)有PI實時數(shù)據(jù)庫中的數(shù)據(jù)進行挖掘提取,對空預(yù)器的相關(guān)數(shù)據(jù)進行采集、計算與分析,確定空預(yù)器的臟堵、漏風(fēng)、能效等指標,從而確定空預(yù)器當(dāng)前的運行狀態(tài)和發(fā)展趨勢,從而進一步實現(xiàn)在線智能診斷功能。另外,閔國政等[12]對回轉(zhuǎn)式空預(yù)器的智能分析及動態(tài)診斷系統(tǒng)進行研究,通過對空預(yù)器運行指標實時統(tǒng)計和動態(tài)分析給出了全方位的性能診斷評估,對空預(yù)器運行狀態(tài)進行預(yù)測及預(yù)警,并指導(dǎo)優(yōu)化運行和故障處理。
但是現(xiàn)實故障診斷等領(lǐng)域的數(shù)據(jù)中存在許多不均衡數(shù)據(jù),這類不均衡數(shù)據(jù)集的特點是同一數(shù)據(jù)集中歸屬于某一類別的數(shù)據(jù)對象的數(shù)量和密度與其他類別數(shù)據(jù)對象的數(shù)量和密度有較大差異。將數(shù)據(jù)樣本數(shù)量較多的類稱之為大類,數(shù)據(jù)樣本數(shù)量較少的類稱之為小類。通常聚類算法使用全局參數(shù)來計算每個數(shù)據(jù)點的密度,這使得在衡量存在密度差異的數(shù)據(jù)集時容易忽略小類,又或者習(xí)慣于將大類中的部分對象劃分到小類中,從而使獲得的類擁有相對均勻的尺度,這限制了基于數(shù)據(jù)樣本聚類特征的應(yīng)用。
為了解決不均衡數(shù)據(jù)的聚類問題,學(xué)者們從不同角度提出了多種方法,大致可以分成以下三類:數(shù)據(jù)預(yù)處理、多中心點和優(yōu)化目標函數(shù)。第一類方法是數(shù)據(jù)預(yù)處理,此類方法對數(shù)據(jù)集進行欠采樣和過采樣處理后再進行聚類;過采樣方法通過增加小類中對象數(shù)量來進行數(shù)據(jù)分析,使原有數(shù)據(jù)集達到均衡狀態(tài)。第二類方法是多中心點的方法,此類方法基于多中心的角度解決模糊聚類算法的“均勻效應(yīng)”問題,其思想是用多個類中心代替單個類中心代表一個類,在某些情況下,借助該思想模糊聚類算法在迭代過程中根據(jù)距離“中心”最近的原則,能夠讓部分被錯分到小類中的數(shù)據(jù)對象校正回大類中,具有一定的有效性和可行性。第三類方法是優(yōu)化目標函數(shù)的方法,此類方法從目標函數(shù)優(yōu)化的角度提出新的算法,通過推導(dǎo)出相應(yīng)的聚類優(yōu)化目標函數(shù),以解決“均勻效應(yīng)”問題[13]。趙戰(zhàn)民等[14]提出的對類大小不敏感的圖像分割模糊C均值聚類方法(FCM_S),將類大小引入至含鄰域信息模糊聚類算法的目標函數(shù)中,使得類大小在目標函數(shù)中發(fā)揮作用,從而能均衡較大類和較小類對目標函數(shù)的貢獻,弱化算法對類大小不均衡的敏感度。
然而,目前還沒有一種既可以自動識別聚類中心個數(shù)又有效保留小類的聚類方法。因此,本文根據(jù)類間容量差異均衡化的思想對競爭聚類算法目標函數(shù)進行加權(quán),提出一種新的聚類算法,稱為加權(quán)競爭聚類算法,簡稱為CA_S算法。該方法通過推導(dǎo)出新的隸屬度函數(shù)和聚類中心使得類間容量在聚類目標函數(shù)中發(fā)揮效用從而弱化了類間容量差異對聚類判決的干擾,有效保留了小類,同時通過競爭策略可自動確定最佳聚類個數(shù),改善了CA算法[15]在類間競爭機制中容易淘汰小類的問題。同時,本文將改進后的算法應(yīng)用于空預(yù)器的故障識別中,并與傳統(tǒng)的CA算法進行比較。
競爭聚類算法首先將一個數(shù)據(jù)集劃分為大量的小類。隨著算法的發(fā)展,相鄰的類爭奪數(shù)據(jù)點,一些失去競爭的類逐漸枯竭和消失,最后的分區(qū)具有“最優(yōu)”類別數(shù),應(yīng)該注意的是,類別的數(shù)量c在每次迭代中都是動態(tài)更新的。CA算法使以下目標函數(shù)式(1)[15]最小化:
(1)
滿足以下約束條件:
(2)
式中:uij為第j個樣本點對于第i個類的隸屬度;U=[uij]是一個c×n維的矩陣,稱為隸屬度劃分矩陣;V表示由類心組成的矩陣;m為算法的模糊程度,本文取2;dij為第i個聚類中心與第j個樣本點間的歐式距離;α為平衡前后兩項的權(quán)重。
構(gòu)造CA_S算法的目標函數(shù)如式(3)所示,可以看到,其目標函數(shù)由兩個分量組成:第一個分量J1類似于FCM_S的目標函數(shù),它能夠控制類的形狀和大小,并獲得緊湊的類,當(dāng)聚類中心個數(shù)c等于樣本數(shù)n時,即每個類只包含一個樣本點時,可以得到目標函數(shù)的全局最小值;第二個分量J2是類似于CA算法目標函數(shù)的第二個分量,它能夠控制聚類個數(shù)。當(dāng)所有樣本點都在一個類中,而所有其他類都為空時,就可以實現(xiàn)目標函數(shù)的全局最小值。當(dāng)這兩項結(jié)合并正確選擇α?xí)r,最終的分區(qū)將類內(nèi)的距離之和最小化,同時將數(shù)據(jù)集劃分為盡可能小的聚類中心個數(shù)。
JCA_S(U,V)=J1-J2
(3)
(4)
(5)
滿足以下約束條件:
(6)
式中:各變量的含義與CA聚類算法相同,同樣將m取2代入式(4)從而用于下一步的推導(dǎo)。
目標函數(shù)最小值的選取是一個優(yōu)化問題,在CA_S聚類算法中,采用的是拉格朗日乘子法交替迭代優(yōu)化來達到目標函數(shù)最小值。具體推導(dǎo)如下:首先假設(shè)聚類中心V恒定,解決關(guān)于隸屬度矩陣U的約束極小化問題,通過構(gòu)建拉格朗日函數(shù):
(7)
(8)
(9)
式中:帶“-”的隸屬度表示上一次迭代的隸屬度;Ni表示為第i類的基數(shù),為保留較大的類而淘汰虛假類的評價指標,表達式如式(10):
(10)
由此得到λj的表達式:
(11)
(12)
(13)
在CA_S算法中,選擇目標函數(shù)式(3)中的α是很重要的,因為它反映了第二項相對于第一項的重要性。如果α太小,則將忽略第二項,類別的數(shù)量也不會減少。如果α太大,第一項將被忽略,所有的點將被歸為一個類。α的選值如式(14)所示,使這兩項具有相同的數(shù)量級。
(14)
式中:η(k)=η0exp(-k/τ),k為迭代次數(shù),η0是初始值常數(shù),τ為迭代次數(shù)中間值。
加權(quán)競爭聚類算法可用偽代碼表示,如表1。
表1 加權(quán)競爭聚類算法
首先, 用不均衡Aggregation數(shù)據(jù)集來測試CA_S聚類算法識別小類的能力;隨后,在4個公共數(shù)據(jù)集上對CA_S聚類算法、FCM_S算法和CA聚類算法進行比較,其中,FCM_S算法由趙戰(zhàn)民等[14]提出,該算法能有效處理不均衡數(shù)據(jù)集,但無法有效識別聚類個數(shù),需要根據(jù)經(jīng)驗提前設(shè)置該參數(shù);最后,將CA_S算法應(yīng)用于熱工設(shè)備空預(yù)器的故障識別中,驗證CA_S算法的實用性。
將類大小引入至含鄰域信息模糊聚類算法的目標函數(shù)中,使得類大小在目標函數(shù)中發(fā)揮作用,從而能均衡較大類和較小類對目標函數(shù)的貢獻,弱化算法對類大小不均衡的敏感度。
首先,選取UCI標準數(shù)據(jù)集[11]Aggregation中的3個不均衡類,命名為Aggregation2。Aggregation2數(shù)據(jù)集分為3類,每類包含的樣本點數(shù)目不同,為2維341個樣本點。算法仿真輸入的數(shù)據(jù)集經(jīng)過標準化處理,輸入?yún)?shù)設(shè)定為最大迭代次數(shù)kmax=30、最大聚類個數(shù)cmax=10、η0=1.3、τ=10、ε1=7。圖1~ 圖2為實驗結(jié)果。
圖1 Aggregation2:聚類個數(shù)和目標函數(shù)的進化
圖2 Aggregation2:CA_S聚類算法執(zhí)行全過程
圖1描述了CA_S聚類算法在Aggregation2數(shù)據(jù)集迭代過程中聚類個數(shù)、目標函數(shù)值的變化。圖1(a)~(b)為隨著迭代的進行,聚類個數(shù)和目標函數(shù)值JCA_S的變化過程,可以看到,聚類個數(shù)由cmax=10逐漸減少到c=3(即最佳聚類個數(shù)),目標函數(shù)值JCA_S緩慢上升,最后隨著迭代的進行,最佳聚類個數(shù)不再變化,目標函數(shù)值趨于穩(wěn)定。圖1(c)為該數(shù)據(jù)集使用CA_S聚類算法進行聚類迭代過程中目標函數(shù)值中的第一分量J1、第一分量J2以及JCA_S值的變化趨勢。
由于目標函數(shù)式(3)的第二分量J2在不斷減小,且減小的程度大于第一分量J1,因此CA_S聚類算法每次迭代記錄的JCA_S值是呈現(xiàn)由陡變緩的上升趨勢,隨著迭代的進行,第一分量逐漸減少,第二項趨向于0,兩者相減的值趨于穩(wěn)定。
圖2(a)~(f) 是CA_S聚類算法在Aggregation2數(shù)據(jù)集中的實現(xiàn)過程。中心的位置顯示為疊加在數(shù)據(jù)集上的“+”符號。圖2(a)是原始數(shù)據(jù)集。圖2(b)顯示了聚類的初始參數(shù),該數(shù)據(jù)集被分解成許多小類。圖2(c)表明,CA_S聚類算法在3次迭代后減少了2個類。圖2(d)表明,在第6次迭代后,再次減少了3個類。圖2(e)表明,在第11次迭代后,再減少2個類后,類心個數(shù)減少為3個。圖2(e)~(f)表明,在后續(xù)的迭代中,類心個數(shù)不再變化,并在3個類的基礎(chǔ)上調(diào)整了類心的位置。在達到設(shè)定的最大迭代次數(shù)后,算法就會終止。結(jié)果驗證了CA_S聚類算法可以在沒有先驗知識的情況下識別這3個類,其中包含2個小類。
本文選擇FCM_S和CA算法作為比較,采用的數(shù)據(jù)集總結(jié)如表2所示,其中前三個數(shù)據(jù)集來自UCI數(shù)據(jù)庫[16],選取的數(shù)據(jù)集都為不均衡數(shù)據(jù)集。第一個即3.1小節(jié)所采用的數(shù)據(jù)集,最后一個為本文構(gòu)造的一個具有多密度的人工數(shù)據(jù)集,簡稱為DS3。為保證算法的有效執(zhí)行,仿真輸入的數(shù)據(jù)集都經(jīng)過標準化處理,且需要對各聚類算法進行輸入?yún)?shù)設(shè)置,CA_S聚類算法的參數(shù)與上述相同,FCM_S聚類算法需要提前設(shè)置聚類中心的個數(shù)。為了公平起見,以CA_S聚類算法獲得的聚類中心個數(shù)作為FCM_S聚類算法的前提。對于CA聚類算法,參數(shù)設(shè)置參考文獻[15]。
表2 本文采用數(shù)據(jù)集基本信息
本文采用ARI (Adjusted Rand Index)來衡量這些聚類算法的性能。表3為FCM_S、CA和CA_S算法分別運行30次后模擬的ARI值(平均±方差)。每一行中粗體和下劃線的值表示三種算法中聚類效果最優(yōu)的數(shù)據(jù),括號中的數(shù)字表示算法應(yīng)用于此數(shù)據(jù)集時產(chǎn)生的聚類個數(shù)。
表3 FCM_S、CA和CA_S的ARI值對比
可以看出,根據(jù)ARI值,與CA算法相比,CA_S在大多數(shù)情況表現(xiàn)優(yōu)于CA算法,在Aggregation2數(shù)據(jù)集中,CA算法雖然正常識別出了該數(shù)據(jù)集的聚類個數(shù),但ARI值極低,說明最后的聚類結(jié)果不合理;在Thyroid和DS3數(shù)據(jù)集中,CA算法無法正確識別出數(shù)據(jù)集的聚類個數(shù);僅在synthetic數(shù)據(jù)集上,CA算法表現(xiàn)優(yōu)于CA_S算法;與FCM_S聚類算法相比,CA_S算法的表現(xiàn)與FCM_S算法接近或者略好,考慮到FCM_S算法不能自動獲得聚類個數(shù),CA_S算法優(yōu)于FCM_S算法。如上所述,CA_S算法在這幾種算法中的綜合表現(xiàn)最好。
將CA_S算法應(yīng)用于熱工設(shè)備空預(yù)器中用于狀態(tài)識別,以某600 MW機組空預(yù)器作為研究對象,采用提出的CA_S算法對空預(yù)器有功功率、出口煙溫、入口二次風(fēng)溫、進出口煙氣壓降、進出口煙氣含氧量差進行聚類分析,并與采用CA算法的聚類結(jié)果進行比較。我們選取了一段空預(yù)器運行過程中包含異常運行樣本的數(shù)據(jù)作為測試數(shù)據(jù),數(shù)據(jù)共分為三類,其中一個小類為異常運行樣本,包含的樣本點遠遠小于其它兩類正常運行樣本。
CA算法仿真輸入?yún)?shù)設(shè)定初始迭代次數(shù)k=0、最大迭代次數(shù)kmax=30、最大聚類個數(shù)cmax=10、η0=5、τ=10、ε1=7,得到如圖3所示的聚類結(jié)果,用兩種不同的符號代表兩個類所包含的數(shù)據(jù)樣本點,兩個類記為ωi={ω1,ω2},可以看到CA算法無法識別出異常類。在空間劃分上,以出口煙溫-有功功率兩個變量間為例,如圖4所示,可以看出CA算法將異常類歸并到了正常類,以此均勻了兩個類包含的樣本點。
圖3 CA算法下的空預(yù)器聚類結(jié)果
圖4 CA算法下的空預(yù)器出口煙溫-有功功率空間劃分
CA_S算法仿真輸入?yún)?shù)設(shè)定為初始迭代次數(shù)k=0、最大迭代次數(shù)kmax=30、最大聚類個數(shù)cmax=10、η0=1.3、τ=10、ε1=7,得到如圖5所示的聚類結(jié)果,用三種不同的符號代表各個類所包含的數(shù)據(jù)樣本點,三個類記為ωi={ω1,ω2,ω3},可以看到CA_S正確識別異常類。圖6為 CA_S算法下的空預(yù)器各變量間的空間劃分,可以看出有功功率與出口煙溫、有功功率與進出口煙氣壓降、出口煙溫與進出口煙氣壓降兩兩變量的空間劃分較為清晰,可為后續(xù)空預(yù)器狀態(tài)劃分指標提供指導(dǎo)性意見。
圖5 CA_S算法下的空預(yù)器聚類結(jié)果
圖6 CA_S算法下的空預(yù)器各變量間的空間劃分
針對故障數(shù)據(jù)在海量歷史數(shù)據(jù)中占比往往較低、傳統(tǒng)聚類算法較難識別的問題,本文提出了一種新的聚類算法——加權(quán)競爭聚類算法(CA_S),該算法在公共數(shù)據(jù)集Aggregation上表現(xiàn)很好,成功地識別出了1個大類、2個小類。在與FCM_S算法、CA算法的比較中,CA_S算法也有更好的表現(xiàn),綜合ARI指標最佳。在火電機組空預(yù)器的故障識別中,CA_S算法能夠很好地識別出歷史數(shù)據(jù)集中的故障類,而傳統(tǒng)的CA算法無法識別出故障類。