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