張暄博,張雨蓉,杜 偉,趙洪崗
(1.國電雙維內(nèi)蒙古上海廟能源有限公司,內(nèi)蒙古 鄂爾多斯 016200;2.國能智深控制技術(shù)有限公司,北京 102209)
隨著中國電力信息化和人工智能技術(shù)的飛速發(fā)展,以機器學習和深度學習為基礎(chǔ)的智能發(fā)電技術(shù)的相關(guān)研究也在不斷進步。熱工過程數(shù)據(jù)特征鮮明,其中蘊含著大量機組運行狀態(tài)信息,基于數(shù)據(jù)驅(qū)動的智能電力系統(tǒng)建模方法與數(shù)據(jù)的深度利用密切相關(guān)[1-3]。而針對基于數(shù)據(jù)驅(qū)動的建模方法,在模型建立前的異常值檢測工作是后續(xù)精確建模的基礎(chǔ)。
隨著燃煤電站整體容量和參數(shù)數(shù)目的不斷增多,各類傳感器采集的機組數(shù)據(jù)被儲存在各個數(shù)據(jù)庫中,大量熱工過程歷史數(shù)據(jù)為數(shù)據(jù)驅(qū)動建模提供了研究基礎(chǔ)。機組中重要變量的測量傳感器一般長時間處于高濕度、高溫度、高壓力和大量粉塵污染的環(huán)境中,同時測量傳感器往往也會受自身故障、信號干擾、通訊受阻和執(zhí)行器擾動等一系列問題的影響,從而導致收集到的各類熱工過程數(shù)據(jù)出現(xiàn)大量異常值和缺失值問題,對后續(xù)系統(tǒng)模型的建立帶來困難[4-5]。數(shù)據(jù)驅(qū)動建模方法通常被理解為一種“黑盒”建模方法,在建模過程中不考慮對象的自身機理,主要依賴于采集到的工程數(shù)據(jù)[6]?;跀?shù)據(jù)驅(qū)動建模的原理,收集到的熱工歷史數(shù)據(jù)如存在異常值或缺失值都會對建模效果產(chǎn)生影響,因而數(shù)據(jù)預(yù)處理工作是數(shù)據(jù)驅(qū)動建模的基礎(chǔ)性環(huán)節(jié)。即在模型建立前,需對熱工過程的建模數(shù)據(jù)集進行異常值檢測,篩選出數(shù)據(jù)集中的異常數(shù)據(jù)值,并通過自適應(yīng)校正方法補全缺失數(shù)據(jù)[7-8]。
本文在分析燃煤電站現(xiàn)場歷史數(shù)據(jù)特點的基礎(chǔ)上,提出了PSO-PNN 異常值檢測方法,該方法能夠較快地獲取到最優(yōu)平滑因子參數(shù),降低了異常值檢測的誤判率。通過實際電廠的歷史運行數(shù)據(jù)驗證了所提異常值檢測方法的有效性,為后續(xù)的異常缺失值填補和數(shù)據(jù)驅(qū)動的建模工作打下堅實基礎(chǔ)。
熱工過程異常數(shù)據(jù)主要指原始數(shù)據(jù)集中偏離大部分數(shù)據(jù)的個別單一數(shù)據(jù)點,又稱為孤立點、異常值等。經(jīng)歸納分析,異常值的產(chǎn)生原因[9]主要包括數(shù)據(jù)采集設(shè)備發(fā)生故障導致數(shù)據(jù)傳輸錯誤、數(shù)據(jù)輸入過程中出現(xiàn)人為失誤、記錄過程中造成數(shù)據(jù)項不一致和數(shù)據(jù)實時性不佳。
目前燃煤機組的異常值檢測方法主要基于閾值判斷、統(tǒng)計預(yù)測、數(shù)字濾波、距離、密度和機器學習方法研究單點異常檢測法[10]。
1.2.1 PNN 原理
PNN是在RBF神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上進行改進所提出的一種前饋型神經(jīng)網(wǎng)絡(luò)。PNN 的基本結(jié)構(gòu)如圖1 所示。
圖1 PNN 內(nèi)部結(jié)構(gòu)示意圖
由圖1 可以看出,PNN 共由4 層結(jié)構(gòu)組成,從左到右分別是輸入層、隱含層、求和層和輸出層。輸入層的神經(jīng)元個數(shù)與輸入的向量長度相等,用來接收訓練樣本的值并將數(shù)據(jù)并傳給隱含層。隱含層神經(jīng)元的個數(shù)與輸入訓練樣本個數(shù)一致,每個神經(jīng)元都具有一個中心,每個中心對應(yīng)一個樣本數(shù)據(jù),隱含層在神經(jīng)元內(nèi)計算每個輸入變量與樣本的歐氏距離,最后返回一個標量值。假定一組訓練樣本,狀態(tài)類別總共有m類,向量XT=[X1,X2,…,XP]輸入到隱含層,第i(i≤m)類狀態(tài)的第j個神經(jīng)元對應(yīng)的輸出即為返回距離的標量值,計算公式為:
式(1)中:Xij為第i類狀態(tài)的第j個神經(jīng)元的中心,是平滑因子。
在實際計算過程中,輸入層的向量X需要先和第i個模式的連接權(quán)值Wi相乘,然后再到隱含層中的徑向基函數(shù)中進行運算。
式(2)中:Zi=XWi,Wi為第i個模式的輸入層與輸出層之間的連接權(quán)值。
假定輸入層的向量X和加權(quán)系數(shù)Wi都標準化成為單位長度,式(2)可化簡為:
求和層的個數(shù)與訓練數(shù)據(jù)中狀態(tài)類別數(shù)目m保持一致,其作用是把隱含層中的某一同類模式的概率進行累加計算,也就是將隱含層中同類神經(jīng)元的輸出進行加權(quán)平均,求和神經(jīng)元的輸入/輸出公式為:
式(4)中:Vi為求和層第i個神經(jīng)元的輸出;N為隱含層第i類神經(jīng)元的個數(shù)。
輸出層由m個競爭神經(jīng)元組成,同時與求和層的神經(jīng)元保持一一映射關(guān)系,輸出層接收求和層的輸出,各個模式的Vi互相競爭,將求和層中計算結(jié)果最大的作為輸出類別,隱含層最大輸出對應(yīng)的輸出層競爭神經(jīng)元置為1,其余置為0,輸出層的輸出公式為:
在求和層中,第i類模式只與隱含層中對應(yīng)分類的神經(jīng)元存在映射關(guān)系,而與隱含層中其他分類的神經(jīng)元沒有連接,求和層的輸出與各類基于內(nèi)核的概率密度成正比,所以通過輸出層的歸一化處理,就能得到各類的概率密度估計函數(shù)f(Xi)。
1.2.2 PSO 算法原理
PSO 算法是一種用于尋找全局最優(yōu)解的經(jīng)典算法,被廣泛應(yīng)用于算法的參數(shù)尋優(yōu)和求取函數(shù)最值的問題。每個粒子單獨搜尋到的使適應(yīng)度值最小的解被稱為個體歷史最優(yōu)解,當前所有個體粒子的歷史最優(yōu)解中適應(yīng)度最小的解為全局歷史最優(yōu)解。每個粒子都會根據(jù)已知信息不斷更新自己的位置和速度,向個體歷史最優(yōu)解和全局歷史最優(yōu)解靠近。
設(shè)在N維工作區(qū)內(nèi),設(shè)定粒子數(shù)目為M個,第i個粒子當前位置Xi=(xi1,xi2,…,xiN),當前速度Vi=(vi1,vi2,…,viN),粒子個體歷史最優(yōu)解為Pi=(pi1,pi2,…,piN),當前全局歷史最優(yōu)解Pg=(pg1,pg2,…,pgN),更新速度和位置的公式為:
式(6)(7)中:i=1,2,…,M(M為粒子數(shù)目);d=1,2,…,N(N為粒子工作區(qū)維數(shù));ω(ω≥0)為慣性權(quán)重系數(shù),其大小決定了尋優(yōu)能力的強弱;c1與c2分別為個體粒子學習的加速常數(shù)因子和社會粒子學習的加速常數(shù)因子;rand(0,1)為在區(qū)間[0,1]上的隨機數(shù)。
強制粒子在約定范圍內(nèi)搜索最優(yōu)解。為了使個體粒子在一個適當?shù)乃俣葍?nèi)搜索,不至于跳過最優(yōu)解,設(shè)定一個速度區(qū)間,如果求得的速度越過設(shè)定的速度邊界,則取對應(yīng)的邊界速度。粒子個體最優(yōu)解的更新公式為:
式(8)中:f(Xi)為適應(yīng)度函數(shù)。
設(shè)訓練樣本數(shù)據(jù)個數(shù)為n,將粒子解代入PNN,其輸出訓練樣本預(yù)測值和實際值的誤差概率作為適應(yīng)度函數(shù):
式(9)中:Diff[tj,Yj(Xi)]為預(yù)測值向量與實際值向量中對應(yīng)位置元素不同的個數(shù);Yj(Xi)為將Xi作為平滑因子參數(shù)值代入PNN 輸出的預(yù)測值;ti為PNN 輸出的實際值。
PSO 算法的尋優(yōu)過程如圖2 所示。根據(jù)PSO 的思想,鳥類種群個體的飛行過程可看作單個粒子的位置和速度不斷更新的過程??蓪⒋x解集合代入到適應(yīng)度函數(shù)中來求得粒子的適應(yīng)度值,從而根據(jù)適應(yīng)度值來進行粒子解合適程度的判定。
圖2 粒子群算法尋優(yōu)流程圖
考慮到熱工過程數(shù)據(jù)及PNN 中平滑因子參數(shù)σ的特點,本文嘗試將PSO 算法用于PNN 的參數(shù)優(yōu)化中,用PSO 算法對PNN 中的σ進行尋優(yōu),克服常規(guī)參數(shù)尋優(yōu)方法不能完整表示整體空間概率特性的缺點,將訓練數(shù)據(jù)輸出的預(yù)測值和實際值之間的誤差概率作為當前粒子的最佳適應(yīng)度值。
1.2.3 算法整體流程步驟
PNN 非線性描述性能優(yōu)越、神經(jīng)元擴充性能高且容錯性強,具有良好的非線性逼近特性和網(wǎng)絡(luò)擴充屬性,但其中的平滑因子的參數(shù)值選取是難點之一。PSO算法是一種用于尋找全局最優(yōu)解的經(jīng)典算法,被廣泛應(yīng)用于算法的參數(shù)尋優(yōu)和求取函數(shù)最值的問題。結(jié)合燃煤機組熱工過程數(shù)據(jù)集的特點,采用PSO 算法尋優(yōu)求解PNN 最優(yōu)平滑因子,使模型達到最佳的異常檢測效果。
PSO-PNN 的熱工過程異常檢測算法的具體實現(xiàn)步驟如下:①初始化PNN 的參數(shù)。結(jié)合熱工過程數(shù)據(jù)集合特性,確定輸入層、隱含層、求和層和輸出層的層數(shù),設(shè)定最大迭代次數(shù)、種群數(shù)量M、粒子最大速度Vmax、動態(tài)慣性因子參數(shù)ωstart和ωend、粒子學習因子c1和c2等參數(shù)。②確定粒子群算法適應(yīng)度。將平滑因子參數(shù)以粒子解的形式導入PNN,通過計算訓練數(shù)據(jù)輸出的預(yù)測值和實際值之間的誤差概率得出粒子當前的適應(yīng)度值。對比各個適應(yīng)度數(shù)值的分布,選出每個粒子的歷史最優(yōu)解Pbest和種群全局最優(yōu)解Gbest。③確定粒子更新位置及速率。④以Pbest和Gbest為基準,將當前粒子的適應(yīng)度值與它們進行比較,如當前粒子的適應(yīng)度小于Pbest的適應(yīng)度,則將當前粒子的位置替換為新的;如當前粒子的適應(yīng)度大于Pbest的適應(yīng)度,則當前粒子的歷史最優(yōu)解不變。進一步將當前粒子的適應(yīng)度與Gbest作比較,如當前粒子的適應(yīng)度更小,則將當前粒子位置作為新的Gbest,否則全局最優(yōu)解不變。⑤當適應(yīng)度值滿足最小誤差要求,或目前迭代次數(shù)達到最初設(shè)定的最大迭代次數(shù)時,迭代算法停止。否則返回步驟二繼續(xù)進行迭代計算。⑥輸出當前PNN 模型的最優(yōu)平滑因子參數(shù),建立異常檢測模型。
以1 000 MW 超超臨界燃煤機組煙氣SCR 脫硝系統(tǒng)出口NOx質(zhì)量濃度某時間段的歷史運行數(shù)據(jù)集作為實驗數(shù)據(jù)。數(shù)據(jù)集總數(shù)據(jù)量為1 000,數(shù)據(jù)點采樣間隔為5 s,總采樣時長為5 000 s。在實驗數(shù)據(jù)集特定位置添加±2%、±5%、±8%和±10%4 種誤差模擬工業(yè)生產(chǎn)中所出現(xiàn)的誤差情況,每種誤差下的異常數(shù)據(jù)總計60 個。模型性能評價指標用漏檢率和誤判率進行評判,具體定義表達式為:
誤差設(shè)定位置如表1 所示。
表1 實驗數(shù)據(jù)集異常數(shù)據(jù)設(shè)定表(單位:%)
首先進行參數(shù)初始化處理。模型中各參數(shù)設(shè)置如下:M=25、ωstart=0.8、ωend=0.5、Maxgen=80、Vmax=0.8、Vmin=-0.8、c1=c2=3,同時將PNN 中的平滑因子參數(shù)設(shè)定為每次的粒子解,適應(yīng)度為將粒子解代入到PNN中得出的輸出預(yù)測值和實際值的誤差概率,參數(shù)迭代結(jié)果如圖3 所示。
圖3 PNN 平滑因子參數(shù)尋優(yōu)迭代過程
由圖3 可知,最終PSO 算法通過45 次迭代即可得到最優(yōu)解。由此得到全局平滑因子最優(yōu)參數(shù)為0.81,誤差概率為0.057。在PSO 算法對PNN 中平滑因子的迭代中,收斂速度快,經(jīng)過較短的迭代過程即可獲得全局最優(yōu)解,具有良好的算法收斂性能。
參數(shù)尋優(yōu)完成后,將最優(yōu)參數(shù)輸入PNN 中進行熱工過程數(shù)據(jù)集的樣本訓練與測試,實現(xiàn)異常數(shù)據(jù)的定位與篩選。圖4 和圖5 分別為誤差為±5%和±8%下的異常檢測結(jié)果圖,表2 為實驗數(shù)據(jù)集異常檢測結(jié)果表。
表2 實驗數(shù)據(jù)集異常檢測結(jié)果
圖4 ±5%誤差下SCR 脫硝系統(tǒng)出口NOx質(zhì)量濃度異常值檢測
圖5 ±8%誤差下SCR 脫硝系統(tǒng)出口NOx質(zhì)量濃度異常值檢測
由圖4、圖5 和表2 可知,在1 000 組實驗數(shù)據(jù)中,具有±2%、±5%、±8%和±10%等4 種誤差的數(shù)據(jù)集異常檢測結(jié)果準確率分別為85.0%、90.0%、96.7%和100%;當誤差大于±5%時,誤判率均為0。
本文針對燃煤電站熱工過程異常數(shù)據(jù),提出利用PSO-PNN 異常檢測算法進行數(shù)據(jù)預(yù)處理。相較于傳統(tǒng)的PNN 異常檢測方法,利用PSO-PNN 算法能夠較快地獲取到最優(yōu)平滑因子參數(shù),并且異常值檢測的誤判率有一定程度降低,具有優(yōu)越的異常值檢測性能,為后續(xù)燃煤電站熱工過程的數(shù)據(jù)驅(qū)動建模工作奠定了良好的基礎(chǔ)。