戴幸澤 竇慧洋
(內(nèi)蒙古工業(yè)大學(xué)信息工程學(xué)院 內(nèi)蒙古自治區(qū)呼和浩特市 010051)
風(fēng)電機(jī)組運行環(huán)境通常較為惡劣,由風(fēng)機(jī)部件頻繁發(fā)生故障造成的停機(jī)發(fā)電損失,以及產(chǎn)生的維護(hù)費用都會對風(fēng)電場的效益產(chǎn)生嚴(yán)重影響[1]。齒輪箱是風(fēng)機(jī)的核心傳動部件,其故障發(fā)生率一直居高不下,必要時需要下塔進(jìn)行周期較長的維修,從而造成經(jīng)濟(jì)損失。為此,及時準(zhǔn)確的發(fā)現(xiàn)隱患,有計劃性的定期維護(hù),可以有效預(yù)防齒輪箱出現(xiàn)嚴(yán)重故障[2]。
針對齒輪箱故障診斷,可以通過對采集的高頻振動數(shù)據(jù)進(jìn)行分析,文獻(xiàn)[3]和文獻(xiàn)[4]分別提出了一種基于粒子群優(yōu)化和縱橫交叉法優(yōu)化的BP 神經(jīng)網(wǎng)絡(luò)算法,提取振動信號特征,建立誤差模型,進(jìn)行故障診斷。但由于高頻振動數(shù)據(jù)需要在機(jī)艙內(nèi)安裝大量傳感器,也會出現(xiàn)故障且成本較高,而有效利用風(fēng)機(jī)SCADA 系統(tǒng)采集的多通道數(shù)據(jù)同樣可以對齒輪箱故障進(jìn)行診斷預(yù)警[5,6]。文獻(xiàn)[7]利用隨機(jī)森林算法對SCADA 數(shù)據(jù)的特征進(jìn)行提取。文獻(xiàn)[8]對SCADA 數(shù)據(jù)建立的神經(jīng)網(wǎng)絡(luò)模型,依據(jù)馬氏距離對主軸承進(jìn)行故障預(yù)警。
本文提出了一種基于遺傳算法優(yōu)化的BP 神經(jīng)網(wǎng)絡(luò)模型,可以解決網(wǎng)絡(luò)易陷入局部極小值問題,從而有效的進(jìn)行全局搜索。以齒輪箱軸承溫度為預(yù)測目標(biāo),利用L1 正則化對SCADA 數(shù)據(jù)進(jìn)行特征選取作為網(wǎng)絡(luò)輸入,建立齒輪箱故障預(yù)警模型。測試表明了該方法的有效性,對齒輪箱故障的更深層次分析提供了一種新的研究方法。
采用誤差反向傳播(BackPropagation,BP)算法的多層前饋神經(jīng)網(wǎng)絡(luò),由輸入層,隱含層和輸出層組成[9],圖1 為有n 個輸入節(jié)點,m 個隱層節(jié)點,l 個輸出節(jié)點的單隱層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。
圖1:單隱層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
式中,η 代表學(xué)習(xí)率,在0-1 范圍取值,wjk為隱含層第j 個節(jié)點到輸出層第k 個節(jié)點的權(quán)值,vij代表輸入層第i 個節(jié)點到隱含層第j個節(jié)點的權(quán)值。通過鏈?zhǔn)角髮?dǎo)法則,可以推算出各權(quán)值的改變量,進(jìn)而優(yōu)化整個網(wǎng)絡(luò)。
由于BP 算法采用梯度下降法搜索最優(yōu)解,從而很容易使得誤差函數(shù)陷入局部極小,網(wǎng)絡(luò)的初始權(quán)值對最終結(jié)果影響較大[10]。
遺傳算法(Genetic Algorithms,GA)是模擬自然界優(yōu)勝劣汰的進(jìn)化過程建立的數(shù)學(xué)模型,依據(jù)遺傳概率在解空間中搜索全局最優(yōu)解,可以用來解決多參數(shù)的最優(yōu)化問題[11]。所以,利用遺傳算法優(yōu)化BP 神經(jīng)網(wǎng)絡(luò)的初始權(quán)值,對網(wǎng)絡(luò)進(jìn)行訓(xùn)練可以進(jìn)一步逼近全局最小。
GA-BP 算法首先需要確立BP 神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),從而確定網(wǎng)絡(luò)權(quán)值和閾值的個數(shù),并對其進(jìn)行編碼生成初始種群,種群中的任一個體均攜帶了整個網(wǎng)絡(luò)的權(quán)值和閾值信息;其次需要計算種群個體適應(yīng)度,適應(yīng)度函數(shù)F(x)=-E(x),E(x)為網(wǎng)絡(luò)訓(xùn)練誤差,根據(jù)設(shè)定的選擇、交叉、變異算子,循環(huán)迭代搜索種群最優(yōu)個體;最后利用最優(yōu)個體解碼得到的權(quán)值和閾值對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,預(yù)測樣本輸出。GA-BP 算法流程如圖2所示。
由于完整的SCADA 數(shù)據(jù)特征較多,里面存在著大量的多重共線性特征,且許多屬性與齒輪箱故障分析并不相關(guān),所以在確定網(wǎng)絡(luò)輸入?yún)?shù)時,需要對SCADA 數(shù)據(jù)特征進(jìn)行選取。
利用L1 正則化可以對數(shù)據(jù)進(jìn)行降維選取主要特征,進(jìn)而有效避免變量特征較多時造成的過擬合現(xiàn)象,提高模型的泛化能力[12]。
圖2:GA-BP 算法流程圖
圖3:遺傳算法進(jìn)化曲線
L1 正則化代價函數(shù)如式(2)所示:
式中hθ(x)為預(yù)測值,y 為真實值,m 為樣本個數(shù),λ 為正則化系數(shù),n 為特征數(shù)量。通過增添約束項使得部分特征權(quán)重置0 獲得稀疏解,進(jìn)而降低維度。
針對齒輪箱軸承溫度對SCADA 數(shù)據(jù)進(jìn)行特征選取,表1 為按相關(guān)度排序前10 的主要特征:
特征選取后,為了消除量綱之間的差別,需要對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,如式(3)所示:
式中,x 為某一特征的樣本數(shù)據(jù),μ 為均值,σ 為標(biāo)準(zhǔn)差。
風(fēng)電機(jī)組齒輪箱故障預(yù)警算法主要分為三步:
表1:齒輪箱軸承溫度特征選擇
圖4:殘差概率分布
圖5:殘差預(yù)警限值
第一步,根據(jù)特征選擇結(jié)果,利用風(fēng)機(jī)無故障歷史運行數(shù)據(jù)訓(xùn)練網(wǎng)絡(luò)模型;第二步,利用測試數(shù)據(jù)得到風(fēng)機(jī)正常運行下的齒輪箱軸承溫度預(yù)測值,計算與實際值的殘差E 及其均值μ 和標(biāo)準(zhǔn)差σ,設(shè)定預(yù)警限值第三步,對實時SCADA 數(shù)據(jù)進(jìn)行預(yù)測,設(shè)定容錯個數(shù)k=6,當(dāng)連續(xù)k 個運行數(shù)據(jù)預(yù)測得到的殘差超過預(yù)警限值時,對齒輪箱進(jìn)行故障預(yù)警。
本文選取某風(fēng)場1.5MW 機(jī)組進(jìn)行了測試,其齒輪箱結(jié)構(gòu)為一級平行軸加二級行星輪的傳動形式。訓(xùn)練數(shù)據(jù)集為SCADA 系統(tǒng)2016年12月-2017年1月的10min 運行數(shù)據(jù),為無故障運行數(shù)據(jù),以2017年2月的10min 運行數(shù)據(jù)作為測試數(shù)據(jù),進(jìn)行驗證。
本文采用單隱層網(wǎng)絡(luò),輸入層節(jié)點個數(shù)為10,隱層節(jié)點個數(shù)為21,輸出層節(jié)點個數(shù)為1,網(wǎng)絡(luò)隱層激活函數(shù)使用Sigmoid 函數(shù),輸出層激活函數(shù)使用ReLu 函數(shù),f(x)=max(0,x),訓(xùn)練次數(shù)設(shè)為2000,學(xué)習(xí)率為0.11。
設(shè)定種群數(shù)目為10,最大遺傳代數(shù)為500。使用二進(jìn)制編碼方式對網(wǎng)絡(luò)權(quán)值和閾值進(jìn)行編碼,選擇操作使用輪盤賭算子,交叉操作使用兩點交叉,交叉概率pc為0.7,變異操作使用二進(jìn)制染色體的變異算子,變異概率pm為0.01。
對GA-BP 網(wǎng)絡(luò)進(jìn)行訓(xùn)練,圖3 為遺傳算法進(jìn)化曲線,可以看出當(dāng)進(jìn)化約300 次后,種群最優(yōu)個體適應(yīng)度函數(shù)值趨于穩(wěn)定。
由于適應(yīng)度函數(shù)為網(wǎng)絡(luò)訓(xùn)練誤差的相反數(shù),即最優(yōu)個體適應(yīng)度值和訓(xùn)練誤差成反比,對進(jìn)化后的最優(yōu)個體進(jìn)行解碼后,開始訓(xùn)練BP 神經(jīng)網(wǎng)絡(luò),用無故障運行的數(shù)據(jù)計算預(yù)測值與真實值的殘差,其概率分布如圖4所示,計算預(yù)警限值如圖5所示。
用該模型對2017年2月SCADA 數(shù)據(jù)進(jìn)行測試,得到殘差如圖6所示。
可以看出自2月13日起已經(jīng)出現(xiàn)連續(xù)預(yù)警,2月15日出現(xiàn)明顯異常,由此推斷齒輪箱可能發(fā)生故障。對有明顯超過報警限值的2月15日齒輪箱溫度數(shù)據(jù)進(jìn)行分析,發(fā)現(xiàn)油溫明顯偏高,其風(fēng)速-功率-油溫曲線如圖7所示。
根據(jù)曲線可看出在6:55 以前齒輪箱油溫與風(fēng)速及功率呈正相關(guān),即將達(dá)到75℃時,機(jī)組出現(xiàn)了一次停機(jī),油溫迅速下降至69℃。在此期間,齒輪箱油溫和功率隨風(fēng)速變化而變化。11:35 以后風(fēng)速增加,功率達(dá)到滿發(fā),油溫迅速上升至75.6℃,導(dǎo)致機(jī)組限功率運行在1000kW。20:15 油溫降至74.6℃,機(jī)組限功率解除達(dá)到滿發(fā),油溫再次迅速上升至75.7℃,機(jī)組繼續(xù)限功率運行,嚴(yán)重影響機(jī)組發(fā)電效率,而且油溫高直接導(dǎo)致齒輪油粘度降低,油膜變薄,致使齒輪箱內(nèi)部齒輪、軸承等部件磨損加重,壽命降低,同時油溫高加速齒輪油的氧化速度,導(dǎo)致齒輪箱油使用壽命降低,形成惡性循環(huán)。經(jīng)檢查,導(dǎo)致油溫過高的原因為齒輪箱配套冷卻器風(fēng)側(cè)流道污染,堵塞嚴(yán)重。過高的油溫導(dǎo)致軸承溫度持續(xù)增加,從而產(chǎn)生SCADA 報警。
根據(jù)測試數(shù)據(jù)殘差可以發(fā)現(xiàn),在SCADA 自身報警前已經(jīng)多次出現(xiàn)預(yù)測異常點,且在15日當(dāng)天殘差值達(dá)到最大。由此表明,該方法可以有效判斷風(fēng)機(jī)齒輪箱是否發(fā)生故障,且能夠提前預(yù)警,結(jié)合SCADA 自身報警可以有效的對齒輪箱故障進(jìn)行診斷,及時維護(hù)。
由于風(fēng)機(jī)配備的SCADA 系統(tǒng)報警經(jīng)常存在誤報、延報現(xiàn)象。本文采用遺傳算法優(yōu)化的BP 神經(jīng)網(wǎng)絡(luò)對風(fēng)機(jī)齒輪箱軸承溫度進(jìn)行預(yù)測,設(shè)定預(yù)警限值,結(jié)合實例驗證表明該方法可以有效判斷機(jī)組齒輪箱是否發(fā)生故障且提前預(yù)警,對風(fēng)電場檢修人員進(jìn)行維護(hù)工作具有一定的指導(dǎo)意義。
圖6:測試數(shù)據(jù)殘差
圖7:風(fēng)速-功率-油溫曲線