夏文苗,黃 偉
(上海電力大學(xué)自動(dòng)化工程學(xué)院,上海 200090)
電廠風(fēng)機(jī)作為火電機(jī)組的重要組成部分,直接影響機(jī)組能否安全負(fù)荷運(yùn)行,其主要作用是保障機(jī)組運(yùn)行的空氣循環(huán)。由于風(fēng)機(jī)運(yùn)行條件較惡劣,進(jìn)氣箱所輸送的氣體中常含有煤粉等雜質(zhì),容易造成風(fēng)機(jī)故障。典型的故障包括轉(zhuǎn)子不對(duì)中,失速,喘振,軸承裂紋等,其故障主要體現(xiàn)在溫度、振動(dòng)及風(fēng)壓信號(hào)上,如風(fēng)機(jī)葉片遭到酸性物質(zhì)腐蝕影響葉片質(zhì)量,會(huì)導(dǎo)致軸承振動(dòng);軸承箱潤(rùn)滑油系統(tǒng)故障導(dǎo)致軸承超溫;風(fēng)機(jī)失速故障表現(xiàn)在風(fēng)壓信號(hào)中。因此,實(shí)現(xiàn)風(fēng)機(jī)設(shè)備的早期故障預(yù)警對(duì)于火電安全生產(chǎn)具有重大意義。
目前,主要研究方法有基于故障機(jī)理的預(yù)警方法和基于歷史數(shù)據(jù)的故障預(yù)警方法。徐小剛等[1]針對(duì)離心風(fēng)機(jī)失速故障,采用對(duì)稱點(diǎn)模式分析和圖像匹配相融合的方法,建立不同狀態(tài)下的SDP模板圖并提取特征,結(jié)果表明該方法可以快速發(fā)現(xiàn)失速故障起始點(diǎn)。楊婷婷等[2]采用多元狀態(tài)估計(jì)技術(shù)建立模型,通過(guò)相似度原理得到相似度曲線,利用滑動(dòng)窗口法確定閾值。朱朋成等[3]針對(duì)磨煤機(jī)故障預(yù)警,以熱力學(xué)為基礎(chǔ)進(jìn)行機(jī)理分析,確定其特征參數(shù),并通過(guò)數(shù)據(jù)挖掘建立預(yù)警模型,判斷磨煤機(jī)的早期異常?;诠收蠙C(jī)理分析的預(yù)警方法建立在故障案例上,故障實(shí)驗(yàn)成本高,機(jī)理研究較困難。胡杰等[4]、趙勁松等[5]、Lv You等[6]都是基于多元狀態(tài)估計(jì)技術(shù)進(jìn)行建模預(yù)測(cè),主要將過(guò)程記憶矩陣用不同算法加以改進(jìn),提升模型的預(yù)測(cè)精度,通過(guò)繪制殘差曲線和設(shè)定閾值來(lái)實(shí)現(xiàn)早期故障預(yù)警。宋瑩等[7]采用多元狀態(tài)估計(jì)建模獲得多維的殘差向量,并利用超橢球分析模型對(duì)殘差向量進(jìn)行分析,相比于固定閾值分析能夠更早的發(fā)現(xiàn)故障起始點(diǎn)。但由于多元狀態(tài)估計(jì)技術(shù)是多輸入多輸出建模,無(wú)法準(zhǔn)確判斷故障的類型,并且采用傳統(tǒng)的固定閾值方法在機(jī)組變負(fù)荷情況下易產(chǎn)生誤報(bào)警。尹詩(shī)等[8]將隨機(jī)森林算法與Bi-RNN算法結(jié)合建立預(yù)警模型,實(shí)現(xiàn)對(duì)風(fēng)電機(jī)組主軸承的狀態(tài)監(jiān)測(cè)。李俊卿等[9]采用棧式自動(dòng)編碼器的方式選取數(shù)據(jù)特征,結(jié)合誤差反向傳播算法建立預(yù)警模型。其主要通過(guò)用機(jī)器學(xué)習(xí)算法建立預(yù)測(cè)模型。
針對(duì)風(fēng)機(jī)數(shù)據(jù)的多變量、數(shù)據(jù)量大等特點(diǎn),采用高效并行的XGBoost算法,其適用于多數(shù)據(jù)類型的情況,能夠有效利用大規(guī)模數(shù)據(jù),并在保證效率的前提下提升預(yù)測(cè)精度?;谏鲜龇治?,本文以風(fēng)機(jī)軸承溫度為切入點(diǎn),利用XGBoost算法進(jìn)行風(fēng)機(jī)軸承故障預(yù)警,通過(guò)相似度曲線和自適應(yīng)閾值判斷故障發(fā)生的起始點(diǎn),提前發(fā)出預(yù)警信號(hào)。
XGBoost是一個(gè)可擴(kuò)展的機(jī)器學(xué)習(xí)系統(tǒng),用于樹(shù)的增強(qiáng),其是由多個(gè)分類回歸樹(shù)(CART)進(jìn)行組合而成的樹(shù)集成模型[10]。對(duì)于有n個(gè)樣本數(shù),m個(gè)特征的數(shù)據(jù)集:D={(xi,yi)}(|D|=n,xi∈Rm,yi∈R),xi是第i個(gè)樣本的特征向量,yi是真實(shí)值,樹(shù)集成模型由K棵樹(shù)組成,如式(1)所示
(1)
通過(guò)定義損失函數(shù),衡量真實(shí)值與預(yù)測(cè)值的偏差,其取值越小則偏差越小,損失函數(shù)如式(2)所示
(2)
(3)
(4)
(5)
定義Ij={i|qt(xi)=j}為所有葉節(jié)點(diǎn)的樣本集,通過(guò)擴(kuò)展Ω(fi)進(jìn)一步簡(jiǎn)化目標(biāo)函數(shù),如式(6)所示
(6)
(7)
則最優(yōu)損失函數(shù)為
(8)
圖1 XGBoost算法流程圖
XGBoost模型正則化學(xué)習(xí)目標(biāo),避免模型出現(xiàn)過(guò)擬合,通過(guò)對(duì)目標(biāo)函數(shù)的Taylor化簡(jiǎn),引入損失函數(shù)的一階,二階導(dǎo)數(shù),又將樣本的遍歷轉(zhuǎn)化成對(duì)葉子節(jié)點(diǎn)的遍歷,得到最終的目標(biāo)函數(shù)。通過(guò)加法進(jìn)行訓(xùn)練,每次訓(xùn)練一棵樹(shù),循環(huán)創(chuàng)建決策樹(shù),最后的結(jié)果是所有樹(shù)的和。
模型預(yù)測(cè)值與真實(shí)值之間有著不同程度的偏差,因此,需要定量地將偏差進(jìn)行處理。通過(guò)構(gòu)造相似度函數(shù)來(lái)表示預(yù)測(cè)值和實(shí)際值之間的偏差,相似度值越大則兩變量越相似,反之相似度值越小則差異性越大,通常表示向量間的相對(duì)距離的方法有距離度量函數(shù),相似系數(shù)度量法,本文選用距離度量函數(shù)中的歐式距離。
相似性定義:對(duì)于任意兩個(gè)n維時(shí)間序列X,Y,sim(X,Y) 是X與Y之間的相似性函數(shù),當(dāng)0 (9) 將相似度映射到[0,1]之間,當(dāng)sim(X,Y)值越接近1則相似度越大,反之則越小。 預(yù)警閾值是衡量研究對(duì)象是否發(fā)生故障的標(biāo)準(zhǔn),是故障預(yù)警研究中重要的一部分,在已有的研究中多采用固定閾值的方法,即通過(guò)滑動(dòng)窗口法對(duì)殘差進(jìn)行處理,取殘差均值的最大值作為固定閾值,但在設(shè)備實(shí)際運(yùn)行過(guò)程中,由于機(jī)組負(fù)荷的快速變化,或者在變工況階段時(shí),設(shè)備的運(yùn)行狀態(tài)會(huì)有偏離正常狀態(tài)的可能,此時(shí)相似度會(huì)出現(xiàn)不同程度的下降,并且由于信號(hào)干擾等外部不確定因素,也會(huì)導(dǎo)致相似度下降,若采用固定閾值的方法,則可能會(huì)導(dǎo)致系統(tǒng)誤報(bào)警,影響設(shè)備故障預(yù)警的準(zhǔn)確率[11]。 (10) (11) (12) 由式(10),(11)可知,求解相似度的均值和方差需要循環(huán)利用采樣點(diǎn),當(dāng)采樣點(diǎn)數(shù)目較大時(shí)會(huì)增大計(jì)算量,實(shí)時(shí)性較差,為此采用迭代思想對(duì)上式進(jìn)行改進(jìn),如式(13),(14)所示 (13) (14) 本文選取溫州某電廠4機(jī)組B送風(fēng)機(jī)歷史數(shù)據(jù)作為模型數(shù)據(jù)。從2018年2月1日0點(diǎn)到2月11號(hào)10點(diǎn),時(shí)間間隔為10分鐘,共1500組數(shù)據(jù),已知在2月11號(hào)9:30發(fā)生風(fēng)機(jī)故障停機(jī)。對(duì)風(fēng)機(jī)軸承溫度建立回歸預(yù)測(cè)模型,送風(fēng)機(jī)軸承溫度故障預(yù)警流程圖如圖2所示。 圖2 軸承溫度故障預(yù)警流程圖 1)數(shù)據(jù)歸一化。首先將原始數(shù)據(jù)的空值和異常值刪除,再將數(shù)據(jù)進(jìn)行歸一化處理,將特征數(shù)據(jù)映射到(0,1)內(nèi),消除不同量綱的影響。計(jì)算公式如式(15)所示 (15) 式中,x為原始數(shù)據(jù),xmean為每個(gè)特征數(shù)據(jù)的均值,xmax為最大值,xmin為最小值。 2)數(shù)據(jù)特征選取。電廠風(fēng)機(jī)原始數(shù)據(jù)中的特征有26個(gè),其中包含與風(fēng)機(jī)軸承溫度無(wú)關(guān)的特征,若利用所有特征建模,則會(huì)降低模型的預(yù)測(cè)精度,所以需要選取合適的特征,采用皮爾遜相關(guān)系數(shù)法確定相關(guān)特征,將軸承溫度特征記為X,其觀測(cè)特征記為Y1~Yn,帶入式(16)中得到X與Yi的皮爾遜相關(guān)系數(shù)R (16) 相關(guān)性系數(shù)取值區(qū)間為[-1,1],兩特征相關(guān)性系數(shù)絕對(duì)值越大,則相關(guān)性越強(qiáng),最終選取的特征及相關(guān)性系數(shù)如表1所示。 表1 觀測(cè)特征及相關(guān)性系數(shù) 3)Box-Cox變換。在回歸預(yù)測(cè)中,默認(rèn)各個(gè)特征滿足獨(dú)立同分布,Box-Cox變換可以在不丟失數(shù)據(jù)信息的前提下,使回歸模型滿足正態(tài)性,對(duì)稱性[13]。計(jì)算公式如式(17)所示 (17) (18) 故障預(yù)警算法主要使用部件的正常歷史數(shù)據(jù)建立回歸預(yù)測(cè)模型,其步驟為: Step1:將已完成數(shù)據(jù)預(yù)處理和特征工程的1500組數(shù)據(jù)按6:2:2劃分成正常狀態(tài)下的訓(xùn)練集,測(cè)試集,故障狀態(tài)下的驗(yàn)證集。 Step2:初始化XGBoost模型,設(shè)置模型的一些基本參數(shù)。 Step3:建立CART樹(shù)并求出葉子結(jié)點(diǎn)的預(yù)測(cè)分值,累加葉子節(jié)點(diǎn)的分值,得到預(yù)測(cè)值。 Step4:進(jìn)行模型訓(xùn)練部分,使用網(wǎng)格搜索法對(duì)模型進(jìn)行調(diào)參,找出最優(yōu)的參數(shù),最后進(jìn)行預(yù)測(cè)。 風(fēng)機(jī)正常狀態(tài)下的訓(xùn)練集數(shù)據(jù)進(jìn)行模型訓(xùn)練,測(cè)試集數(shù)據(jù)進(jìn)行模型預(yù)測(cè),預(yù)測(cè)結(jié)果如圖3所示。 圖3 正常狀態(tài)預(yù)測(cè)結(jié)果圖 由圖3可知,真實(shí)值與預(yù)測(cè)值能夠較好的擬合。為了更好的判斷真實(shí)值與預(yù)測(cè)值之間的偏差,以及閾值的設(shè)定,圖4給出了真實(shí)值與預(yù)測(cè)值的相似度曲線,固定閾值與自適應(yīng)閾值的對(duì)比結(jié)果,其中固定閾值的求取詳見(jiàn)文獻(xiàn)[2]。自適應(yīng)閾值因子n的大小會(huì)影響故障預(yù)警的效果,閾值因子n越大,則閾值區(qū)間越大,正常狀態(tài)下相似度曲線超出閾值區(qū)間的概率越小,根據(jù)“3σ原則”,將閾值因子n的初始值設(shè)為3[14],此時(shí)的閾值區(qū)間上限會(huì)出現(xiàn)相似度大于1的樣本點(diǎn),超出了相似度取值范圍,故對(duì)閾值因子進(jìn)行調(diào)節(jié),取得n=2.5,由式(12)可得誤檢率a為0.16。 圖4 相似度曲線及閾值方法對(duì)比圖 由圖4可知,相似度曲線維持在較高的數(shù)值范圍內(nèi),說(shuō)明模型預(yù)測(cè)精度較高;其次,采用固定閾值方法會(huì)導(dǎo)致誤報(bào)警,分別在采樣點(diǎn)38、99、215發(fā)生誤報(bào)警,而自適應(yīng)閾值能夠在變工況的情況下減少甚至沒(méi)有發(fā)生誤報(bào)警,快速跟隨相似度的變化,因此,自適應(yīng)閾值能夠提高故障預(yù)警判斷的精確度。 將風(fēng)機(jī)故障狀態(tài)下的驗(yàn)證集中280組數(shù)據(jù)輸入模型,得到的預(yù)警結(jié)果如圖5所示。 圖5 故障狀態(tài)下預(yù)警結(jié)果圖 由圖5可知,在第226個(gè)采樣點(diǎn)處之后相似度處于閾值下方,開(kāi)始發(fā)出預(yù)警信號(hào),故障停機(jī)發(fā)生在第277個(gè)點(diǎn),表明模型可以提前8.5h發(fā)出預(yù)警信號(hào),該模型可以較早的對(duì)風(fēng)機(jī)故障狀態(tài)進(jìn)行預(yù)警,具有較高的故障檢測(cè)效率。 為表明XGBoost算法在本文故障預(yù)警中的優(yōu)勢(shì),利用相同的數(shù)據(jù),分別采用梯度提升樹(shù)(GBDT)算法和支持向量機(jī)(SVM)算法對(duì)風(fēng)機(jī)軸承進(jìn)行故障預(yù)警,所得到的預(yù)警結(jié)果如圖6,圖7所示。 圖6 GBDT算法預(yù)警結(jié)果 圖7 SVM算法預(yù)警結(jié)果 由圖6,圖7可知,利用GBDT算法在第233個(gè)采樣點(diǎn)后發(fā)出預(yù)警信號(hào),而SVM算法在第229個(gè)采樣點(diǎn)后發(fā)出預(yù)警信號(hào)。三種算法的預(yù)測(cè)結(jié)果對(duì)比分析如表2所示。 表2 預(yù)測(cè)結(jié)果對(duì)比分析 由表2可知,基于XGBoost算法的故障預(yù)警方法比基于GBDT或SVM的預(yù)警方法能更早的發(fā)出預(yù)警信號(hào),且均方誤差最小,表明模型預(yù)測(cè)的精度較高。采用基于XGBoost算法的故障預(yù)警方法在處理多變量數(shù)據(jù)方面具有明顯優(yōu)勢(shì),并且在對(duì)數(shù)據(jù)的處理中,選取合適的特征進(jìn)行Box-Cox變換,在提高模型預(yù)測(cè)精度的基礎(chǔ)上提前預(yù)警出故障。 為了實(shí)現(xiàn)電廠風(fēng)機(jī)故障預(yù)警,提出來(lái)一種基于XGBoost算法和數(shù)據(jù)驅(qū)動(dòng)的故障預(yù)警方法。該方法利用XGBoost算法建立模型進(jìn)行回歸預(yù)測(cè),將預(yù)測(cè)值與真實(shí)值的偏差用相似度函數(shù)進(jìn)行表示,并設(shè)計(jì)自適應(yīng)閾值方法精確找出故障的起始點(diǎn)。通過(guò)對(duì)風(fēng)機(jī)軸承進(jìn)行故障預(yù)警仿真,以及對(duì)GBDT算法和SVM算法的對(duì)比,結(jié)果表明自適應(yīng)閾值方法能有效降低誤報(bào)率,該故障預(yù)警方法能夠較早的發(fā)出預(yù)警信號(hào),便于操作人員進(jìn)行檢修。3.2 自適應(yīng)閾值
4 基于XGBoost算法的風(fēng)機(jī)故障預(yù)警仿真
4.1 數(shù)據(jù)預(yù)處理與特征工程
4.2 XGBoost溫度回歸預(yù)測(cè)模型
4.3 故障預(yù)警的仿真實(shí)現(xiàn)
4.4 算法對(duì)比
5 結(jié)論