辛凱,陳運(yùn)啟
(1.哈爾濱電站設(shè)備成套設(shè)計(jì)研究所有限公司,哈爾濱 150046; 2.中國市政工程華北設(shè)計(jì)研究總院有限公司,天津 300074)
近些年來,電站鍋爐往往存在排煙溫度超出設(shè)計(jì)值的現(xiàn)象。一般來講,造成電站鍋爐排煙溫度過高的原因,主要是燃燒煤質(zhì)和設(shè)計(jì)燃用煤質(zhì)二者之間有著一定的偏差,在設(shè)計(jì)過程中,忽視了管壁沾污狀況,空氣預(yù)熱器的受熱面相對過小,以及尾部受熱面吹灰器布置存在嚴(yán)重的缺陷等。
針對排煙溫度的影響因素,已有多位學(xué)者進(jìn)行了相關(guān)的研究。陳運(yùn)啟[1]對電站鍋爐機(jī)組運(yùn)行過程當(dāng)中的參數(shù),以及排煙溫度二者之間的相關(guān)性做了統(tǒng)計(jì)分析,找出了影響排煙溫度的相關(guān)運(yùn)行參數(shù),進(jìn)而明確了排煙溫度受到影響的直接原因。仲亞飛[2]基于支持向量機(jī)建立了鍋爐排煙溫度模型,同時(shí)利用改進(jìn)后的混沌粒子群算法,針對支持向量機(jī)的有關(guān)參數(shù)做了優(yōu)化,從而使模型的準(zhǔn)確性得到明顯提高?;诹W尤核惴ㄅc支持向量機(jī)的排煙溫度模型可以有效地預(yù)測機(jī)組運(yùn)行過程中,排煙溫度所發(fā)生的變化,能夠?yàn)殄仩t機(jī)組的運(yùn)行給予科學(xué)的指導(dǎo)。沈利[3]立足于煤質(zhì)對鍋爐燃燒工況所起到的影響,通過支持向量機(jī)法,結(jié)合煤質(zhì)影響因素,針對排煙溫度做了建模預(yù)測。結(jié)果顯示,結(jié)合煤質(zhì)影響的排煙溫度建模預(yù)測方法有著較高的精確性。本文利用KNN 算法,針對某電廠660 MW 機(jī)組燃燒鍋爐建立排煙溫度預(yù)測模型,同時(shí)對模型參數(shù)做出單因素變化,分析其對排煙溫度所起到的影響,力求對電廠鍋爐優(yōu)化運(yùn)行,以及建立在線排煙溫度預(yù)測模型給予一定的指導(dǎo)。
KNN 是鄰近算法的簡稱,也被稱作K最近鄰算法,作為簡單以及原始的分類器,是將所有的訓(xùn)練數(shù)據(jù)相對應(yīng)的類別進(jìn)行記錄。在測試對象的屬性與某個(gè)訓(xùn)練對象的屬性相符條件下,便能夠?qū)ζ渥龀龇诸?。但是如何將全部測試對象均找到與之完全相符的訓(xùn)練對象,即存在一個(gè)測試對象同時(shí)和眾多不同的訓(xùn)練對象相符,從而令一個(gè)訓(xùn)練對象被歸屬到了眾多個(gè)類的問題,由此便產(chǎn)生了KNN[4]。
KNN 是借助于測量不同特征值之間的距離做出相應(yīng)分類。其主要思路是:假如一個(gè)樣本在特征空間當(dāng)中的K個(gè)最相似(也就是特征空間當(dāng)中最鄰近)的樣本當(dāng)中大多數(shù)屬于某一個(gè)具體的類別,那么該樣本也便屬于該類別。在這其中,K一般是小于20 的整數(shù)。在KNN 算法當(dāng)中,所選取的鄰居均是完成了正確分類的對象。該方法從定類決策方面來講,僅僅按照最鄰近的一個(gè),或者是多個(gè)不同樣本的類別來明確待分樣本所歸屬的相應(yīng)類別。
這里可以通過一個(gè)簡單的例子進(jìn)行描述,如圖1所示,圓形將要被劃分到哪個(gè)類,究竟是三角形還是四方形。假如K=3,因?yàn)槿切嗡紦?jù)的比例是2/3,圓形將被劃分到三角形那個(gè)類別中。假如K=5,那么因?yàn)樗姆叫嗡紦?jù)的比例是3/5,所以圓形被劃分到四方形類別中。
圖1 KNN 算法示意Fig.1 KNN algorithm diagram
由此也體現(xiàn)出了KNN 算法的結(jié)果從較大程度上來講,受到K的選擇影響。
在KNN 算法中,借助于計(jì)算對象之間的距離,來作為不同對象之間的非相似性指標(biāo),可以有效避免不同對象之間的匹配問題。在此處,距離通常應(yīng)用歐氏距離或者是曼哈頓距離,如式(1)和式(2)所示。
歐式距離:
曼哈頓距離:
與此同時(shí),KNN 按照K個(gè)對象當(dāng)中占據(jù)優(yōu)勢的類別做出決策,而并非屬于單一對象類別上的決策。上述兩點(diǎn)便屬于KNN 算法的獨(dú)到優(yōu)勢[5]。
接著針對KNN 算法的思想進(jìn)行總結(jié):即在訓(xùn)練集當(dāng)中的數(shù)據(jù)與標(biāo)簽已知的基礎(chǔ)上,這時(shí)輸入測試數(shù)據(jù),將測試數(shù)據(jù)的特征和訓(xùn)練集中所相對應(yīng)的特征做出對比,找到訓(xùn)練集當(dāng)中與之相似度最高的前K個(gè)數(shù)據(jù),那么該測試數(shù)據(jù)所對應(yīng)的類別,即K個(gè)數(shù)據(jù)當(dāng)中出現(xiàn)最頻繁的那個(gè)分類,可對其算法做出以下幾點(diǎn)描述。
(1)計(jì)算測試數(shù)據(jù)和各個(gè)訓(xùn)練數(shù)據(jù)二者之間的實(shí)際距離。
(2)依據(jù)距離上的遞增關(guān)系做出詳細(xì)排序。
(3)選擇距離最小的K個(gè)點(diǎn)。
(4)確定前K個(gè)點(diǎn)所處的類別出現(xiàn)次數(shù)。
(5)返回到前K個(gè)點(diǎn)當(dāng)中出現(xiàn)次數(shù)最多的類別,將其當(dāng)做測試數(shù)據(jù)的相應(yīng)預(yù)測分類。
根據(jù)文獻(xiàn) [1]可知,電站鍋爐排煙溫度的影響參數(shù)主要有一次風(fēng)溫度、二次風(fēng)溫度以及高壓流化風(fēng)出口溫度等。收集相關(guān)的參數(shù),如表1所示。
表1 機(jī)組部分運(yùn)行參數(shù)Tab.1 Part operating parameters of the unit
利用Python 軟件中的KNN 模塊進(jìn)行排煙溫度的預(yù)測,代碼如下所示:
由此得出排煙溫度預(yù)測值,如表2所示。
為增加預(yù)測結(jié)果的可信度,在現(xiàn)場對排煙溫度數(shù)據(jù)進(jìn)行采集與分析[6]。在一次風(fēng)溫度、二次風(fēng)溫度、高壓流化風(fēng)出口溫度的同等工況下,將采集到的排煙溫度和預(yù)測排煙溫度進(jìn)行對比,并通過Origin 軟件擬合出實(shí)際曲線,如圖2所示。
根據(jù)圖2可以計(jì)算出,排煙溫度預(yù)測數(shù)據(jù)和采集數(shù)據(jù)的最大誤差為0.5%,在允許的誤差范圍內(nèi)。說明文中通過KNN 針對電站鍋爐排煙溫度進(jìn)行預(yù)測時(shí),有著科學(xué)合理性[7]。
表2 機(jī)組排煙溫度預(yù)測值Tab.2 Unit exhaust temperature prediction value
圖2 排煙溫度預(yù)測數(shù)據(jù)和采集數(shù)據(jù)對比Fig.2 Smoke exhaust temperature prediction data and acquisition data comparison
本文研究了KNN 在電站鍋爐排煙溫度預(yù)測中的應(yīng)用。利用KNN 算法,相對其他算法可以有效降低計(jì)算量,避免離群點(diǎn)對KNN 距離帶來不利影響。本文所提出的基于KNN 電站鍋爐排煙溫度預(yù)測,能夠在沒有任何故障信息的條件下做出預(yù)測,同時(shí)相關(guān)指標(biāo)定義于原始數(shù)據(jù)空間,免于受到拖尾效應(yīng)所帶來的影響。此外,通過現(xiàn)場采集數(shù)據(jù),驗(yàn)證了該算法的可行性。從實(shí)驗(yàn)結(jié)果中可見,基于KNN 的電站鍋爐排煙溫度預(yù)測模型,有著人為確定參數(shù)少、建模簡潔以及識別精度較高等顯著的優(yōu)勢,能夠應(yīng)用在工程實(shí)踐中,為電站鍋爐排煙溫度的診斷提出創(chuàng)新型的方法。