丁新磊,李紹斌,譚澤漢,郭亞賓,陳煥新*
(1-華中科技大學(xué)能源與動力工程學(xué)院,湖北武漢 430074;2-空調(diào)設(shè)備及系統(tǒng)運行節(jié)能國家重點實驗室,廣東珠海 517907)
近年來,空調(diào)系統(tǒng)在各領(lǐng)域中的應(yīng)用越發(fā)普及[1]。由于工況的異常變化或長時間不間歇地運行等原因,空調(diào)系統(tǒng)會在非健康的條件下運行,這樣會導(dǎo)致不同故障的產(chǎn)生[2]。故障的產(chǎn)生又會造成工作和生活環(huán)境的惡化及能源消耗的增加等問題[3-5]。制冷系統(tǒng)的充注量故障也會導(dǎo)致能耗的增加。因此,對其進(jìn)行及時的故障檢測與診斷就顯得尤為重要[6-8]。
自數(shù)據(jù)驅(qū)動方法應(yīng)用于制冷行業(yè)以來,學(xué)者們便不斷地利用各種數(shù)據(jù)挖掘算法,研究制冷系統(tǒng)的故障檢測及診斷[9-12]。在眾多數(shù)據(jù)挖掘算法中,BP神經(jīng)網(wǎng)絡(luò)是一種多層前饋網(wǎng)絡(luò),它在訓(xùn)練過程中利用誤差逆?zhèn)鞑碚{(diào)整權(quán)值、閾值,直至達(dá)到設(shè)定的目標(biāo),進(jìn)而得到輸入數(shù)據(jù)與輸出數(shù)據(jù)之間的映射關(guān)系[13-14]。李志生等[15]使用真實測量的數(shù)據(jù)建立 BP神經(jīng)網(wǎng)絡(luò)模型,實現(xiàn)了對制冷機(jī)組故障的實時檢測與診斷。石書彪等[16]優(yōu)化了BP神經(jīng)網(wǎng)絡(luò),利用貝葉斯正則化提高了網(wǎng)絡(luò)的泛化能力,冷水機(jī)組的故障檢測效率及診斷精度也得以提高。梁晴晴等[17]利用BP神經(jīng)網(wǎng)絡(luò),建立了離心式冷水機(jī)組故障診斷模型,并通過貝葉斯歸一化,改變隱含層層數(shù)和隱含層節(jié)點數(shù)進(jìn)一步優(yōu)化模型,得到了較好的診斷效果。
基于數(shù)據(jù)驅(qū)動方法的制冷系統(tǒng)故障診斷模型,大都是利用已知類型的故障數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)模型訓(xùn)練,并對已知類型的故障進(jìn)行診斷。若系統(tǒng)產(chǎn)生了未參與建模訓(xùn)練的故障類型數(shù)據(jù),就無法做出準(zhǔn)確的判斷,可能將實際為未知類型的故障診斷為已知類型的故障,這樣不利于準(zhǔn)確地診斷出故障的種類,會對故障診斷的正確率產(chǎn)生較大的影響。針對這一問題,本文提出了一種優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)診斷策略。首先通過已知類型的故障數(shù)據(jù)建立BP神經(jīng)網(wǎng)絡(luò)模型,然后對模型的正確率進(jìn)行驗證,最后利用模型完成對未知類型故障的診斷。此策略可以診斷出未知類型故障。
本文所有的實驗都是在制冷工況下的焓差室中進(jìn)行。圖1為用于實驗的多聯(lián)機(jī)系統(tǒng)和其中一些主要傳感器的示意圖,此實驗系統(tǒng)由1個室外機(jī)和5個室內(nèi)機(jī)組成。室外機(jī)有1個過冷器。室內(nèi)機(jī)有5個風(fēng)機(jī)盤管。表1為系統(tǒng)的一些參數(shù)。

圖1 實驗用多聯(lián)機(jī)系統(tǒng)圖解

表1 多聯(lián)機(jī)系統(tǒng)的相關(guān)參數(shù)
實驗在5組不同充注量水平下進(jìn)行,如表2所示,充注量水平的范圍為63.64%至120.00%,其中包含了充注不足與過量的情況。此外,每組充注量水平的實驗,都將在3種不同的制冷工況下進(jìn)行,這3種不同工況分別為低溫制冷、中溫制冷和高溫制冷工況。
在兩個空氣處理機(jī)組的調(diào)節(jié)下,實驗時,室內(nèi)外的溫度和相對濕度如表3所示。在進(jìn)行實驗時,每次實驗的時間至少持續(xù)45 min,實驗數(shù)據(jù)測量的周期為15 s。所有的實驗結(jié)果都由數(shù)據(jù)采集器收集。這些數(shù)據(jù)樣本就構(gòu)成了完整的數(shù)據(jù)集。

表2 5組充注量水平實驗

表3 3種不同制冷工況
此次實驗的主要目的是獲得多聯(lián)機(jī)系統(tǒng)的制冷劑充注量數(shù)據(jù),用來對多聯(lián)機(jī)系統(tǒng)進(jìn)行分析。在本文中,此次實驗獲得的數(shù)據(jù)將用于未知類型的故障診斷。本文采用了5種充注量水平,將在第3章進(jìn)行介紹。
在實際應(yīng)用中,約80%的模型使用了BP神經(jīng)網(wǎng)絡(luò)或其變化形式[18-19]。它在訓(xùn)練過程中利用誤差反向傳播算法對網(wǎng)絡(luò)權(quán)值和網(wǎng)絡(luò)閾值進(jìn)行調(diào)整,直至網(wǎng)絡(luò)誤差平方和達(dá)到最小、效果達(dá)到最優(yōu)。BP神經(jīng)網(wǎng)絡(luò)模型通常包含輸入層、隱含層和輸出層 3部分,圖2為單隱層BP神經(jīng)網(wǎng)絡(luò)模型示意圖。

圖2 BP神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖
在圖2中,X1、X2、…、Xn是輸入值;O1、O2、O3、O4、…、Oj是隱含層輸出值;Y1、Y2、…、Yk是最終輸出值;隱含層前后分別為輸入層的權(quán)值ωij、閾值qj和輸出層的權(quán)值ωjk、閾值qk。利用網(wǎng)絡(luò)輸入值及訓(xùn)練得到的權(quán)值、閾值,可以計算出隱含層的輸出為[20]:

在利用隱含層輸出及訓(xùn)練得到的權(quán)值、閾值,可以計算出輸出層的輸出為:

BP神經(jīng)網(wǎng)絡(luò)可以使用多種節(jié)點傳遞函數(shù),常見的有線性傳遞函數(shù) Purelin,對數(shù) S型傳遞函數(shù)Logsig。BP神經(jīng)網(wǎng)絡(luò)能夠使用的訓(xùn)練函數(shù)同樣種類繁多,常見的有負(fù)梯度下降 BP算法訓(xùn)練函數(shù)Traingd、負(fù)梯度下降動量 BP算法訓(xùn)練函數(shù)Traingdm、Bayes規(guī)范化BP算法訓(xùn)練函數(shù)Trainbr等,本文選用的是函數(shù)Trainbr。在進(jìn)行預(yù)測前,要先通過訓(xùn)練使網(wǎng)絡(luò)具備聯(lián)想記憶和預(yù)測能力[21]。
圖3為本文提出的基于BP神經(jīng)網(wǎng)絡(luò)的故障模型的診斷流程圖,它主要由兩個部分組成,分別為模型建立與故障診斷。
第一部分故障診斷模型的建立。首先,從數(shù)據(jù)庫中選取5種不同程度的制冷劑充注量數(shù)據(jù),將其劃分為兩類,第一類作為已知類型的故障數(shù)據(jù),用于訓(xùn)練與測試,它包含4種不同程度的制冷劑充注量數(shù)據(jù)。第二類作為未知類型的故障數(shù)據(jù),僅用于測試,只包含1種不同于前4種程度的制冷劑充注量數(shù)據(jù);然后,取第一類數(shù)據(jù)的60%作為訓(xùn)練數(shù)據(jù),剩余的先分出15%用于驗證模型,再分出25%與第二類數(shù)據(jù)混合作為測試數(shù)據(jù);最后,初始化神經(jīng)網(wǎng)絡(luò),對輸入數(shù)據(jù)進(jìn)行預(yù)處理,將處理好的數(shù)據(jù)輸入BP神經(jīng)網(wǎng)絡(luò)中,訓(xùn)練網(wǎng)絡(luò),使其符合要求。在使用前4種不同程度的制冷劑充注量數(shù)據(jù)對模型進(jìn)行訓(xùn)練時,所用數(shù)據(jù)應(yīng)盡可能充足可靠,以增強(qiáng)所得網(wǎng)絡(luò)的逼近和推廣能力。
第二部分為使用第一部分得到的網(wǎng)絡(luò)模型進(jìn)行故障診斷。主要診斷原理如下:本文將神經(jīng)網(wǎng)絡(luò)的輸出向量作為故障標(biāo)簽,其最大值所在的列數(shù)代表著不同的故障程度。因此,對于參與訓(xùn)練的已知類型故障,只需找到其輸出向量的最大值所在,就能夠確定其故障類型。對于未參與訓(xùn)練的未知類型故障,本文通過下文對訓(xùn)練數(shù)據(jù)的輸出結(jié)果進(jìn)行分析,確定了一個區(qū)分閾值,最大值若小于此值,則為已知類型的故障數(shù)據(jù),若大于此值,則為未知類型的故障數(shù)據(jù)。利用 Logsig-Purelin函數(shù)確定此值所在的輸出向量的計算公式如下:

式中:
ωij——輸入層到隱含層的權(quán)值;
qj——輸入層到隱含層閾值;
ωjk——隱含層到輸出層的權(quán)值;
qk——隱含層到輸出層的閾值;
Xi——某一次的輸入數(shù)據(jù),Xi的選取詳見第 4章對訓(xùn)練數(shù)據(jù)的結(jié)果分析。

圖3 未知類型故障診斷流程圖
3.1.1 故障診斷模型輸入變量的確定
本文采用的數(shù)據(jù)是空調(diào)系統(tǒng)制冷劑充注量的故障數(shù)據(jù)。基于制冷系統(tǒng)熱力學(xué)原理與數(shù)據(jù)挖掘分析,本文選擇表4所示的18個參數(shù)作為優(yōu)化模型的故障指示特征,這些參數(shù)能夠反映出系統(tǒng)運行故障(健康狀態(tài))。
3.1.2 故障診斷模型輸出變量的確定
本文選用的5種不同程度的故障數(shù)據(jù)如表5所示,其中包含了充注過量、適中和不足3種情況。表5說明了各故障對應(yīng)的故障標(biāo)簽及其神經(jīng)網(wǎng)絡(luò)輸出。其中故障1~4代表了4種不同程度的已知類型故障數(shù)據(jù),故障5代表了第5種程度的未知類型故障數(shù)據(jù)。在神經(jīng)網(wǎng)絡(luò)輸出的向量中,最大的數(shù)值越接近1,則表明越接近該種水平。如:(1 0 0 0)表示編號為1的120%故障水平,(0 0 0 1)表示編號為4的80%故障水平。

表4 優(yōu)化BP網(wǎng)絡(luò)模型的故障指示特征
由上文選擇的18個特征參數(shù),確定BP神經(jīng)網(wǎng)絡(luò)輸入層的節(jié)點數(shù)為18,再由BP神經(jīng)網(wǎng)絡(luò)模型的輸出向量,確定輸出層的節(jié)點數(shù)為 4。隱含層的層數(shù)由映射定理分析可知[22],本文采用單隱含層。對于拓?fù)浣Y(jié)構(gòu)的確定,HORNIK等[23]已經(jīng)證明,隱含層若采用 Sigmoid函數(shù),輸出層配合其采用線性Purelin函數(shù),則單隱層的網(wǎng)絡(luò)能夠以任意精度逼近任何有理函數(shù)。故本文采用的傳遞函數(shù)分別為Logsig函數(shù)和Purelin函數(shù)。BP神經(jīng)網(wǎng)絡(luò)隱含層節(jié)點數(shù)的確定也十分重要,對網(wǎng)絡(luò)精度的影響很大:數(shù)量不足,學(xué)習(xí)效果不好;數(shù)量太多,容易過擬合。隱含層節(jié)點數(shù)的確定可參考式(4):

式中,M代表輸入層神經(jīng)元的數(shù)量;L代表輸出層神經(jīng)元的數(shù)量;K值范圍3到5,ΔA值范圍4到10。式(4)僅可計算出大致范圍,最佳節(jié)點數(shù)的確定,最終還要通過試湊法實現(xiàn)。
本文設(shè)置的網(wǎng)絡(luò)訓(xùn)練次數(shù)為1,000次,學(xué)習(xí)率為 0.01,目標(biāo)精度為 0.05,最小下降梯度為1.00×10-10,最大值為 1.00×10100。本文采用的訓(xùn)練函數(shù)是貝葉斯正則化的梯度下降BP算法訓(xùn)練函數(shù)Trainbr。選用的傳遞函數(shù)為Logsig-Purelin搭配。

表5 故障編號對應(yīng)的故障水平及神經(jīng)網(wǎng)絡(luò)輸出
本部分主要針對訓(xùn)練數(shù)據(jù)、驗證數(shù)據(jù)和測試數(shù)據(jù)這3組數(shù)據(jù)的輸出結(jié)果進(jìn)行分析。其中對訓(xùn)練數(shù)據(jù)的分析是為了更好地理解所得到的網(wǎng)絡(luò)模型,理解已知類型故障數(shù)據(jù)的輸出向量的特征;對驗證數(shù)據(jù)的分析是為了驗證模型的正確率;對測試數(shù)據(jù)的分析是最關(guān)鍵的,是為了區(qū)分出未知類型故障。
針對用于訓(xùn)練的故障數(shù)據(jù),用所得模型對訓(xùn)練數(shù)據(jù)進(jìn)行模擬,分析其輸出結(jié)果有助于理解網(wǎng)絡(luò)模型,理解已知類型故障的特征,便于對未知類型故障進(jìn)行區(qū)分,故這一步十分重要。表6用混淆矩陣表示訓(xùn)練數(shù)據(jù)的診斷結(jié)果。從表中可以看到,編號3故障誤診為編號2的數(shù)量最多,這是因為編號3代表的充注量程度與編號2代表的很接近,故障影響參數(shù)的輸出也比較相似。

表6 訓(xùn)練數(shù)據(jù)輸出的混淆矩陣
訓(xùn)練數(shù)據(jù)的詳細(xì)診斷結(jié)果如圖4所示。結(jié)合上表分析可知,對于訓(xùn)練數(shù)據(jù),網(wǎng)絡(luò)的效果比較好,誤診數(shù)不多,總的診斷正確率為89.04%。對編號4故障的診斷效果最好,其訓(xùn)練樣本總數(shù)最多,且正確率也最高。對不同故障的神經(jīng)網(wǎng)絡(luò)輸出進(jìn)行分析,可以知道輸出向量的最大值代表著故障類型。因此,對于訓(xùn)練數(shù)據(jù)的每個樣本,本文取其輸出向量的最大值,進(jìn)行從小到大排序,然后取位于排序后95%位置的數(shù)據(jù),代入式(3)中計算出區(qū)分閾值。對于測試數(shù)據(jù)的各個樣本,取其輸出向量的最大值與區(qū)分閾值比較,就能夠確定故障的類型了。

圖4 訓(xùn)練數(shù)據(jù)的樣本總數(shù)、誤診數(shù)與正確率
選取故障1~4的15%用于模型驗證。由于訓(xùn)練過程中僅存在4種故障類型,故此處驗證的結(jié)果也只包含這4種故障。表7用混淆矩陣表示驗證數(shù)據(jù)的診斷結(jié)果。

表7 驗證數(shù)據(jù)輸出的混淆矩陣
驗證數(shù)據(jù)包含所有的已知故障類型,總的診斷正確率為88.62%。驗證數(shù)據(jù)的詳細(xì)診斷結(jié)果如圖5所示。對比圖4和圖5,可以看到,驗證數(shù)據(jù)的模型診斷結(jié)果與訓(xùn)練數(shù)據(jù)相近似,說明本文訓(xùn)練出來的網(wǎng)絡(luò)對于二者有著相似的作用,認(rèn)為模型是有效的,達(dá)到了驗證的效果。

圖5 驗證數(shù)據(jù)的樣本總數(shù)、誤診數(shù)與正確率
在對網(wǎng)絡(luò)模型進(jìn)行了驗證之后,就要診斷未知類型的故障,這一部分是本文的關(guān)鍵點。第2章中提到將故障 1~4的 25%和故障 5混合作為測試數(shù)據(jù),這樣測試數(shù)據(jù)中既包括參與訓(xùn)練的已知故障,又包括未參與訓(xùn)練的未知故障。由于此處加入了一種未知類型故障,故對應(yīng)的故障種類增加到了5種,所得到的混淆矩陣同樣產(chǎn)生變化,表8為其結(jié)果。從表中可以清楚地看到,實際種類為故障5的類型,被誤診為其他4種類型的數(shù)量并不多,實現(xiàn)了診斷未知故障的目的。

表8 測試數(shù)據(jù)輸出的混淆矩陣
測試數(shù)據(jù)的詳細(xì)診斷結(jié)果如圖6所示,總的診斷正確率為88.56%。將其與圖4、圖5對比,可以看到,對于已知類型故障1~4,模型診斷結(jié)果與訓(xùn)練數(shù)據(jù)、驗證數(shù)據(jù)的相似,區(qū)別在于編號1~4的故障都有少量被識別為第二類故障,也就是故障5。對于未知類型故障5,其誤診總數(shù)并不多,在可以接受的范圍內(nèi),其診斷正確率達(dá)到99.48%,很好地診斷出了這種未參加網(wǎng)絡(luò)訓(xùn)練的未知類型故障。

圖6 測試數(shù)據(jù)的樣本總數(shù)、誤診數(shù)與正確率
圖7 將上述驗證數(shù)據(jù)和測試數(shù)據(jù)共有的4種已知類型故障的診斷正確率結(jié)合在一起進(jìn)行對比。從這張對比圖中可以很清晰地看到,4種故障的診斷正確率相差不大,說明新加入的未知類型故障5,對測試數(shù)據(jù)中前4種已知類型故障的診斷正確率未產(chǎn)生很大影響,模型有著很好的效果。

圖7 驗證數(shù)據(jù)與測試數(shù)據(jù)的正確率對比
本文建立了一個優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)模型,實現(xiàn)了對未知類型故障的準(zhǔn)確診斷。首先使用已知類型的故障數(shù)據(jù)訓(xùn)練網(wǎng)絡(luò)模型,然后使用同類數(shù)據(jù)對模型進(jìn)行準(zhǔn)確率驗證,并通過對訓(xùn)練數(shù)據(jù)的分析計算出區(qū)分閾值,最后對未知類型的故障進(jìn)行診斷。得到如下主要結(jié)論:
1)模型對驗證數(shù)據(jù)的故障診斷正確率為88.62%,表明網(wǎng)絡(luò)模型有效地對已知類型故障進(jìn)行了診斷;編號3故障的識別正確率最低,為73.71%,這是因為編號3代表的充注量程度與編號2代表的很接近,這也表明數(shù)據(jù)樣本的選取會對模型的診斷正確率產(chǎn)生一定影響;
2)模型對測試數(shù)據(jù)的故障診斷正確率為88.56%,對于其中未參與訓(xùn)練的未知類型故障,診斷正確率達(dá)到99.48%;對于參與訓(xùn)練的已知類型故障,其診斷正確率也并未受到未知類型故障的影響;相比其他同類研究,實現(xiàn)了對未知類型故障的診斷。