聊方倫,周 平
(1.安徽安慶皖江發(fā)電有限公司,安徽 安慶 246008;2.浙江浙能嘉華發(fā)電有限公司,浙江 平湖 314201)
我國工業(yè)技術(shù)快速發(fā)展,相對應(yīng)的生產(chǎn)裝置也呈現(xiàn)出大型、高效以及自動化趨勢發(fā)展。在現(xiàn)實應(yīng)用中相關(guān)用戶對設(shè)備要求也在不斷提升,在保證設(shè)備高效節(jié)能的同時,還需要保證設(shè)備在正常運行中減少故障產(chǎn)生,但由于大多數(shù)電氣設(shè)備都是高科技產(chǎn)品,在實際運用中難以避免出現(xiàn)故障問題。診斷技術(shù)一般是在設(shè)備正常運行狀態(tài)下,尋找出運行出現(xiàn)異常的地方,并根據(jù)故障數(shù)據(jù)判定相對應(yīng)的解決對策,以此完成診斷。診斷的目的是在可以保證人員安全的同時,盡量減少因故障產(chǎn)生的影響,也是為了保障設(shè)備的基本安全,延長其使用壽命,從根本上提升設(shè)備生產(chǎn)效率,獲取出最大化的經(jīng)濟效益。
黃葆華等人利用SBM和FPSDG的優(yōu)點,將兩者融合得到基于SBM-FPSDG 的設(shè)備故障監(jiān)測診斷方法,以高壓加熱器為研究對象,利用其歷史運行數(shù)據(jù)建立SBM模型,根據(jù)設(shè)備運行特性建立了故障單元庫和概率,可以實現(xiàn)高壓加熱器監(jiān)測及故障診斷[1]。周璐婕等人提出一種基于反向傳播BP 神經(jīng)網(wǎng)絡(luò)的車載設(shè)備智能故障診斷方法。為了避免主特征信息的冗余,采用主成分啟發(fā)式屬性約簡算法進行降維降噪。另外,由于BP神經(jīng)網(wǎng)絡(luò)對初始權(quán)值比較敏感,采用遺傳算法對BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值進行了優(yōu)化[2]。
雖然上述兩種方法最后可以實現(xiàn)故障診斷,但由于該方法并不會針對故障特征提取分析,所以會出現(xiàn)計算量大的問題,因此本文提出基于PCA的火電廠電氣設(shè)備故障診斷方法。PCA(principal component analysis,主元分析)作為一種不依賴于系統(tǒng)數(shù)學(xué)模型的建模方法,它可以將多個相關(guān)變量同時轉(zhuǎn)化為幾個不相關(guān)的變量,為火電廠電氣設(shè)備故障診斷提供一種新的途徑。引用BP神經(jīng)網(wǎng)絡(luò)與遺傳算法相結(jié)合的診斷方法,利用其參數(shù)及結(jié)構(gòu)完成診斷。
該方法可以根據(jù)不同的正交向量,讓計算過程中的數(shù)據(jù)變化呈現(xiàn)在向量方向中,以便獲取出傳感器數(shù)據(jù)之間的相關(guān)性[3]。
首先在電氣設(shè)備正常運行時,選取出一段傳感器采集數(shù)據(jù),并把數(shù)據(jù)構(gòu)成數(shù)據(jù)矩陣,在矩陣集合中將n和m描述為采樣點數(shù)以及傳感器數(shù)量。為了能夠有效除掉因量綱不同帶來的不合理影響,便需要對進行標(biāo)準(zhǔn)化計算,獲取出對應(yīng)數(shù)據(jù)集合,構(gòu)建PCA 的過程統(tǒng)計模型如下所示:
計算結(jié)果的主元數(shù)量精準(zhǔn)程度,可以直接影響到后續(xù)步驟的實際取值結(jié)果,所以創(chuàng)建系統(tǒng)主元模型中,需要以確定主元數(shù)量為基本前提,此處本文采用最優(yōu)重構(gòu)法[4],通過下列計算確認構(gòu)建其模型的主元數(shù)量。該方法定義不可重構(gòu)方差為:
根據(jù)上式計算結(jié)果可以明顯看出,uj的取值結(jié)果與有明顯的關(guān)系,而則和計算主元個數(shù)有著直接聯(lián)系。為了可以在每個故障數(shù)據(jù)方向上都能實現(xiàn)重構(gòu)計算,本文根據(jù)下式計算結(jié)果,挖掘出可以符合其所有條件的主元個數(shù)來判定是否為最優(yōu)重構(gòu),有:
式中將a和l分別描述為計算中可能發(fā)生變化數(shù)據(jù)的數(shù)量以及實際存有的主元數(shù)量。通過計算不同的主元個數(shù),即可分別獲取出uj,這樣即可得知選取與其結(jié)果相對應(yīng)的主元數(shù)量為最優(yōu)主元數(shù)。
根據(jù)上式計算結(jié)果以及主元數(shù)據(jù)的所有投影,把最開始m個數(shù)據(jù)變量降低到目前這些l 個主元,l 維的主元空間便替換的之間的m維過程數(shù)據(jù)空間,還會除掉兩個空間之間的相關(guān)性[5]。
結(jié)合上述計算分析,采用PCA 對故障特征數(shù)據(jù)提取降維計算過程如下:
(1) 原始數(shù)據(jù)標(biāo)準(zhǔn)化:
根據(jù)上式計算結(jié)果,即可獲取出新的標(biāo)準(zhǔn)化矩陣:
(2) 構(gòu)建相關(guān)矩陣,求解特征取值與向量
根據(jù)上述計算可得知,PCA 不僅可以減少后續(xù)計算的次數(shù),而且可以提高整體性能[6]。
經(jīng)過上述計算得知,BP神經(jīng)網(wǎng)絡(luò)在電氣設(shè)備故障診斷過程中,極為容易出現(xiàn)誤差,導(dǎo)致后續(xù)診斷失誤情況,因此本文提出遺傳算法與BP 神經(jīng)網(wǎng)絡(luò)相結(jié)合。其基本運算過程如圖1所示。
圖1 遺傳算法流程圖
遺傳算法以及BP 神經(jīng)網(wǎng)絡(luò)都是基于生物學(xué)原理研究的數(shù)學(xué)計算方法,本文在診斷故障設(shè)備的過程將其結(jié)合,是為了能夠從中獲取出兩種算法不同優(yōu)點,在有效診斷的同時,得出有效的解決途徑[7]。
在實際計算過程中,首先利用遺傳算法對BP網(wǎng)絡(luò)中的結(jié)構(gòu)及參數(shù)進行優(yōu)化處理,從而獲取出最優(yōu)取值的網(wǎng)絡(luò)結(jié)構(gòu)、初始權(quán)值、閾值以及學(xué)習(xí)速率。
2.3.1 結(jié)構(gòu)與算法過程
計算過程中可以將BP 算法分為正向傳播、反向傳播,其工作過程如下:在正向傳播中,樣本從輸入層通過所有隱藏層傳輸?shù)捷敵鰧?,在輸出層比較當(dāng)前輸出和預(yù)期輸出。如果滿足誤差要求,則完成計算;如果不滿足,則進行反向傳播[8]。
在正向傳播計算過程中,首先需要將數(shù)據(jù)樣本從輸入層轉(zhuǎn)換到輸出層,轉(zhuǎn)到輸出層之后將目前計算結(jié)果和實際期望取值進行對比,經(jīng)對比結(jié)果得知,如果符合誤差條件要求,那就結(jié)束計算,如果不滿足,則執(zhí)行反向傳播;再現(xiàn)將返回一個錯誤信號,并修改單個神經(jīng)元閾值以將誤差最小化[9]。
其中具體計算流程如下述:
第一步:選取出合適的輸入樣本Xk和目標(biāo)樣本Tk,并將其代入至神經(jīng)網(wǎng)絡(luò)計算中;
第二步:正向計算。正向計算過程中分別將輸入層第i個神經(jīng)元輸出以及第h個神經(jīng)元輸出表示為:
第三步:計算輸出層第i個神經(jīng)的輸出以及輸入
第四步:求解輸出誤差
第五步改善輸出層、隱含層的全部閾值、權(quán)值:
第六步:計算BP神經(jīng)網(wǎng)絡(luò)總誤差
第七步:判斷是否達到預(yù)定的培訓(xùn)時間,如果符合條件則結(jié)束訓(xùn)練,反之,返回步驟二繼續(xù)訓(xùn)練。
2.3.2 隱層節(jié)點數(shù)和學(xué)習(xí)速度確定
由于神經(jīng)網(wǎng)絡(luò)的隱層節(jié)點數(shù)和學(xué)習(xí)速度是由實驗測試確定的,所以在確定隱層節(jié)點數(shù)時,學(xué)習(xí)速度為0.1。對5-10 個隱層節(jié)點的BP 網(wǎng)絡(luò)進行了10 次全訓(xùn)練,分別計算了平均運行長度和訓(xùn)練轉(zhuǎn)化率。表1列出了不同隱層節(jié)點的BP網(wǎng)絡(luò)的平均轉(zhuǎn)換階段數(shù)和平均工作時間,即10個培訓(xùn)班的培訓(xùn)專業(yè)數(shù)[11-12]。
表1 不同隱含層節(jié)點數(shù)的平均收斂次數(shù)及運行時間
由表1可知,當(dāng)隱層節(jié)點數(shù)為8 時,網(wǎng)絡(luò)收斂速度較低,工作時間較短,無故障訓(xùn)練。因此,神經(jīng)網(wǎng)絡(luò)層BP的隱節(jié)點數(shù)被定義為8個。
由表2可知,當(dāng)網(wǎng)絡(luò)中的學(xué)習(xí)率為0.1-0.3 時,網(wǎng)絡(luò)中的收斂階段數(shù)較少,工作時間也較短,且無訓(xùn)練失敗。在此之后,BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)速度為0.15。
表2 不同學(xué)習(xí)速率的平均收斂次數(shù)及運行時間
2.3.3 故障診斷輸出
其中具體計算流程如下:
步驟一:遺傳算法中的每個種群集合都將代表BP網(wǎng)絡(luò)中的一個結(jié)構(gòu)及參數(shù);
步驟二:保持在數(shù)據(jù)初始狀態(tài)下,構(gòu)建BP神經(jīng)網(wǎng)絡(luò);
步驟三:BP 網(wǎng)絡(luò)輸入層中輸入一組遺傳數(shù)據(jù)樣本,并利用遺傳樣本訓(xùn)練,獲取出神經(jīng)網(wǎng)絡(luò)的輸出誤差取值;
步驟四:根據(jù)上一步進行檢測,查看是否有遺漏沒有計算的樣本,如果沒有則將步驟三的取值,將其看作為適應(yīng)度函數(shù),然后分別計算每個樣本的適應(yīng)度取值;
步驟五:針對遺傳算法中的數(shù)據(jù)交叉可能性進行計算,利用交叉以及突變的遺傳方法產(chǎn)生新的種群;
步驟六:根據(jù)步驟五的結(jié)果,若是不符合下一步驟的條件則轉(zhuǎn)為上述步驟三,符合條件下一步;
步驟七:結(jié)束遺傳基本,計算出目前每個數(shù)據(jù)集合的適應(yīng)函數(shù)取值,并在眾多取值中選取出最高值,看為最優(yōu)單位。根據(jù)數(shù)據(jù)單元解碼計算,獲取出最優(yōu)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)、初始權(quán)值、閾值以及學(xué)習(xí)速率,并根據(jù)其結(jié)果構(gòu)建最優(yōu)神經(jīng)網(wǎng)絡(luò)。
步驟八:最優(yōu)BP 網(wǎng)絡(luò)中輸入層采樣一組數(shù)據(jù)樣本,計算得出訓(xùn)練網(wǎng)絡(luò)的實際輸出;
步驟九:再次檢測數(shù)據(jù)是否經(jīng)過訓(xùn)練計算,如果沒有返回步驟八;
步驟十:計算誤差與實際是否差距過大,若是滿足E<σ條件就可以結(jié)束訓(xùn)練計算[13-14]。
在實際應(yīng)用中本文根據(jù)編碼方式隨機產(chǎn)生含有80個個體的初始群體,每個個體的編碼長度為25+((8×25+25×4+25+4)+1)。其中,前面的是25 個是連接基因,采用二進制編碼方式,每個個體初始化為0 或 1;后面的((8×25+25×4+25+4)+1)個是參數(shù)基因,采用實數(shù)編碼方式。其中,(8×25+25×4+25+4)個是權(quán)閾基因,初始化為(-1,1)的實數(shù),最后的一個是速率基因,初始化為(0,1)的實數(shù)。
為了能夠進一步驗證本文方法的有效性,將在實際仿真環(huán)境中,對電氣設(shè)備中的軸承進行故障診斷驗證。一般情況下大型電氣設(shè)備軸承是比較容易出現(xiàn)故障的地方,所以在實際仿真中采用對軸承對的檢測來進一步驗證本文方法的實際有效性,以及檢測故障的診斷能力。
實際仿真數(shù)據(jù)采用某數(shù)據(jù)庫提供的軸承故障數(shù)據(jù)集合,然后將其分為三種,分別是外圈故障、內(nèi)圈故障以及滾珠故障。從三個數(shù)據(jù)集合中分別抽取出1500 個樣本,其中1000個樣本進行訓(xùn)練,另外500個用于測試。
診斷過程中分別為將本文方法與文獻方法[1]、[2]進行診斷精準(zhǔn)度對比,其中對比結(jié)果如下表所示。
表3 故障診斷準(zhǔn)確度對比表/%
從上表中即可看出,與文獻方法相比,本文方法在三種故障方面都具有較高的診斷率,由此可得知本文方法所使用的PCA進行故障特征提取時,具有較大的優(yōu)勢。
將網(wǎng)絡(luò)診斷實際輸出和期望輸出進行對比,輸出結(jié)果如圖2所示。其中神經(jīng)網(wǎng)絡(luò)隱含層節(jié)點數(shù)、收斂步數(shù)、學(xué)習(xí)速率以及網(wǎng)絡(luò)誤差分別設(shè)置為13、9、0.182以及0.048。
圖2 故障診斷輸出對比圖
從上述圖2可以看出,本文算法輸出結(jié)果與實際值相差極小,同時圖3能夠看出,本文算法經(jīng)過多次計算,誤差都能有效保持在0.1之下,獲得的結(jié)果誤差在實際運用過程中可忽略不計,可廣泛使用。
圖3 故障診斷誤差曲線圖
由于電氣設(shè)備故障診斷方法,容易出現(xiàn)因故障特征提取困難導(dǎo)致診斷失誤等情況,本文提出基于PCA的火電廠電氣設(shè)備故障診斷方法。根據(jù)PCA算法計算得知相關(guān)性,確定主元數(shù)量,并構(gòu)建主元分析模型,隨后采用BP神經(jīng)網(wǎng)絡(luò)進行故障診斷,計算中發(fā)現(xiàn)BP用于診斷會出現(xiàn)隱含層節(jié)點數(shù)難判定的情況,基于此本文采用GA+BP相結(jié)合算法,構(gòu)建合適的網(wǎng)絡(luò)結(jié)構(gòu)進行診斷。雖然可以有效解決其缺陷,但在故障提取計算中,需要嚴(yán)謹(jǐn)?shù)挠嬎?,因為主元?shù)量一旦有差異,那么后續(xù)步驟都會失誤,所以仍有待優(yōu)化。