路 寬,翟 勇,李 軍,高 嵩,楊子江
(1.國網(wǎng)山東省電力公司電力科學研究院,山東 濟南 250003;2.山東魯能軟件技術有限公司,山東 濟南 250001;3.山東科技大學電氣與自動化工程學院,山東 青島 266590)
凝汽器作為火電機組熱力循環(huán)的冷源,將低壓缸的排汽凝結成為凝結水,通過這種方式使凝汽器內(nèi)維持一定的真空度,保證汽輪機出力[1-2]。因此,其性能將直接影響機組的安全運行以及熱經(jīng)濟性。此外,凝汽器真空系統(tǒng)還影響機組運行的安全。為了提前預判火電廠凝汽器真空度的穩(wěn)定性,確保機組在經(jīng)濟的區(qū)間內(nèi)安全運行,必須對真空度進行預測,并時掌握機組真空的真實狀態(tài)。
在凝汽器真空預測方面,權學森[3]采用K-means聚類算法將輔機設備相關運行參數(shù)劃分成相似的工況簇建立預測模型,進行相關設備的運行狀態(tài)分析;余昶[4]通過對比3種模型后發(fā)現(xiàn),組合灰色預測模型和BP 神經(jīng)網(wǎng)絡的模型得到了較好的預測結果;李建強等[5]應用粒子群算法(Particle Swarm Optimization,PSO)與支持向量機(Support Vector Machine,SVM)相結合的算法建立了凝汽器真空預測模型,使模型具有一定的有效性和泛化性;葛曉霞等[6]提出改進的果蠅優(yōu)化算法(Improved Fruit Fly Optimization Algorithm,IFOA)優(yōu)化SVM 的方法來建立凝汽器真空預測模型,使算法在迭代后期具有較強的局部尋優(yōu)能力;葛曉霞等[7]提出了基于果蠅優(yōu)化的廣義回歸網(wǎng)絡(Fly Optimization Algorithm based Generalized Regression Neural Network,F(xiàn)OAGRNN)構建凝汽器真空預測模型,并且為了簡化網(wǎng)絡模型,通過計算平均影響值(Mean Impact Value,MIV)篩選出對凝汽器真空影響較為重要的變量;夏琳琳等[8]借助核主成分分析算法(Kernel Principal Component Analysis,KPCA)構造了BP 網(wǎng)絡、徑向基RBF(Radial Basis Function,RBF)和Elman 網(wǎng)絡的軟測量模型,實現(xiàn)了基于Dempster 組合證據(jù)的凝汽器真空度多網(wǎng)絡融合預測;初廣宇[9]分析了機組正常運行期間與凝汽器真空的關系,加深了對真空預測業(yè)務的理解;王雷[10]提出了采用SVM 時間序列預測法來預測凝汽器清潔系數(shù),取得了較好的預測精度和泛化能力;王建國[11]以聚類法的RBF 網(wǎng)絡為主,采用PSO 算法尋找RBF 模型中的基寬和輸出層權值,建立了凝汽器真空軟測量模型,證明了模型有效性。上述研究多采用預測算法和參數(shù)優(yōu)化算法相結合的方式進行建模,部分采用了多模型組合的方法,在一定程度上提高了預測的泛化能力。但是一方面,已有的研究沒有把外部環(huán)境氣象條件作為影響因素納入建模過程中,從而使模型無法利用天氣預報信息達到真空預判的效果;另一方面,建模過程中沒有引入集成學習,使模型在復雜工況條件下的預測泛化能力提升受限;最后,上述研究由于采樣樣本較少,缺少對大數(shù)據(jù)場景下的數(shù)據(jù)清洗和異常數(shù)據(jù)識別方法應用與研究,導致建模實用性有限。
將外部氣象因素與機組工況數(shù)據(jù)相結合,建立基于集成學習的火電廠凝汽器真空度預測模型。首先,運用iForest[12]完成數(shù)據(jù)的異常值識別和清洗。其次,使用集成學習中的Xgboost 方法進行建立預測模型;按照是否考慮溫度、氣壓差分值兩種方式,進行模型測試。最后,選取山東省內(nèi)某機組運行數(shù)據(jù)對兩種模型進行對比分析。
結合前述的參考文獻,提取了機組負荷、低壓缸排汽溫度(發(fā)電側/調(diào)門側)、凝汽器熱井出水溫度、循環(huán)水(進/出)水溫度6個工況參數(shù)作為工況輸入變量。此外,由于環(huán)境氣象條件會對凝汽器真空度產(chǎn)生影響,同時氣象預報數(shù)據(jù)還能夠?qū)δ髡婵兆邉莓a(chǎn)生預判作用,因此還引入了地區(qū)大氣溫度、氣壓、濕度和風速4 個氣象因素,作為模型的氣象輸入變量。表1給出了模型輸入、輸出參數(shù)的名稱。
表1 模型主要參數(shù)
iForest 是一種基于集成學習的異常數(shù)據(jù)快速檢測方法,具有線性時間復雜度和高精準度。該方法中的森林由大量的二叉樹構成,其構建過程是一個隨機特征剖分的過程。組成iForest 的基分類器被稱為孤立樹(Isolation Tree,iTree),iForest 算法將異常點看成容易被孤立的離群點,即分布稀疏且離密度高的群體較遠的點,其算法過程主要有如下兩個階段。
階段一:訓練出t棵iTree。步驟1:令D={d1,…,dn}為給定的數(shù)據(jù)集,n為樣本的數(shù) 量;?di∈D,di=(di1,…,dim),m為數(shù)據(jù)的維度。從D中隨機抽取φ個樣本點構成D的子集D′放入根節(jié)點。步驟2:從m個維度中指定一個維度q,在當前數(shù)據(jù)中隨機產(chǎn)生一個切割點p,滿足:
步驟3:此切割點p生成了一個超平面,將當前數(shù)據(jù)空間劃分為兩個子空間,指定維度小于p的樣本點放入左子節(jié)點,大于或等于p的樣本放入右子節(jié)點。步驟4:重復步驟2、步驟3,直至所有的葉子節(jié)點都只有一個樣本點或者iTree 已經(jīng)達到指定的高度。重復上述步驟1至4直到生成t個iTree。
階段二:評估每個樣本點的異常值分數(shù)。對于每一個數(shù)據(jù)點di,令其遍歷每一顆iTree,計算點di的路徑長度h(di),h(·)為從iTree 的根節(jié)點到葉子節(jié)點所經(jīng)過的邊的數(shù)量。對所有點的h(·)做歸一化處理。異常值分數(shù)的計算公式為
式中:H(·)為調(diào)和數(shù),它近似等于ln(·)+γ,其中:γ=0.577 815 664 9,為歐拉常數(shù);E(h(d))為孤立森林中h(d)的平均值。若樣本di的異常值分數(shù)s接近1,則其被識別為異常數(shù)據(jù);若s小于0.5,則其被識別為正常數(shù)據(jù);當s介于0.5 與1 之間時,則不能被識別為明顯的異常數(shù)據(jù)。
通過山東省網(wǎng)源監(jiān)督服務技術平臺提取了山東省某電廠的凝汽器運行工況數(shù)據(jù)和電廠所在地區(qū)天氣數(shù)據(jù),數(shù)據(jù)時間段選為:2020 年3 月18 日00:00:00至2020年10月8日23:59:59,數(shù)據(jù)周期為10 min。圖1、圖2 給出了凝汽器工況數(shù)據(jù)在使用iForest 方法進行數(shù)據(jù)清洗前后的對比情況。在使用iForest 方法以后,原始數(shù)據(jù)中的異常點被識別出來并完成了剔除。
圖1 凝汽器工況原始數(shù)據(jù)
圖2 凝汽器工況清洗后數(shù)據(jù)
梯度增強GBDT(Gradient Boosting Decision Tree,GBDT)[13]作為一種集成算法,屬于提升算法(Boosting)中的一種。提升算法以一種高度自適應的方法順序地學習這些弱學習器,并按照某種確定性的策略將它們組合起來。雖然通過Boosting,模型的學習偏差將達到逐步降低,但是也存在諸多缺點,主要是:由于弱學習器之間存在依賴關系,難以并行訓練數(shù)據(jù);高維數(shù)據(jù)導致計算量加大,不適于大數(shù)據(jù)應用場景。
隨機森林由Leo Breiman(2001)[14]提出,它通過自助法(Bagging)重采樣技術,從原始訓練樣本集N中有放回地重復隨機抽取k個樣本生成新的訓練樣本集合,然后根據(jù)自助樣本集生成k個分類樹組成隨機森林,新數(shù)據(jù)的分類結果按分類樹投票多少形成的分數(shù)而定。隨機森林由于引入隨機項而避免了學習過程中的過擬合,同時具有比較強的抗噪能力;同時,隨機森林比較適于處理高維數(shù)據(jù),且不需要進行人工特征預分析,大大簡化了建模工作;最后,由于隨機樹可以進行并行計算,因此實踐中往往可以引入GPU 硬件加速,從而使其能夠在大數(shù)據(jù)場景下依然具有比較好的表現(xiàn)。但是隨機森林算法也有明顯的缺點,主要是由于沒有做到以降低模型偏差為目標,因此在回歸問題中的預測精度往往不高。
為了能夠?qū)崿F(xiàn)對GBDT 算法和隨機森林算法的互補(見圖3),凝汽器真空度預測采用了基于梯度增強的隨機森林算法Xgboost[15]。Xgboost 每一輪訓練一棵樹,使得損失函數(shù)能夠極小化。其損失函數(shù)不僅衡量了模型的擬合誤差,還增加了正則化項,即對每棵樹復雜度的懲罰項,來防止過擬合。
圖3 GBDT、隨機森林與Xgboost算法的關系
在Xgboost中,目標損失函數(shù)的計算公式為
式中:l為衡量實際凝汽器真空度yi與預測量之間的差值;γT+為損失函數(shù)的懲罰項,它通過對模型的復雜度進行懲罰來提高模型的泛化能力,T為決策樹的葉子數(shù)量,ω為決策樹葉子的權值向量,λ與γ為系數(shù)。
式中:k為決策樹的數(shù)量;Γ為決策樹的集合;fk(xi)為樣本xi在第k棵樹上的預測結果。
在訓練的過程中,樹的建立過程由計算公式(5)給出
模型評估采用MAE、R兩個指標。MAE為平均絕對誤差,其計算的是真實yi與預測值差的絕對平均值,具體公式為
R為極差(Range)又稱范圍誤差,是用來表示所有真實值yi與預測值誤差中最大值與最小值之間的差距,計算公式為
在模型的驗證過程中,數(shù)據(jù)集按照60%和40%的比例劃分成訓練集和測試集??紤]到數(shù)據(jù)量較大,使用了GPU進行模型訓練加速。
模型驗證的方式分成兩種情況:一種是按照將前述清洗后的輸入變量(包括工況數(shù)據(jù)與天氣數(shù)據(jù))原值直接輸入真空預測模型;另一種是考慮到天氣變量的變化可能對凝汽器真空的影響更顯著,因此在預測模型的輸入變量中又增加了氣溫與氣壓的差分。表2 給出了兩種方法下,模型在訓練集和測試集中的表現(xiàn)。
表2 模型在訓練和測試過程中的表現(xiàn)
從表2 可以看到,增加差分變量以后,測試集在MAE和R均有10%的提升。圖4、圖5 給出了兩種驗證方法下,訓練集和測試集預測曲線與實際曲線的對比。
圖4 不增加差分變量情況下模型的表現(xiàn)
圖5 增加差分變量情況下模型的表現(xiàn)
通過上述測試結果分析,得到如下結論:1)模型最優(yōu)的輸入測點為:有功功率、低壓缸排汽溫度(發(fā)電側/調(diào)門側)、凝汽器熱井出水溫度、循環(huán)水進出水溫度、大氣溫度、氣壓、濕度、風速、溫度差分和氣壓差分;2)模型誤差較大的部分出現(xiàn)在真空值局部波動較大的區(qū)域,增加差分變量以后模型在該區(qū)域的表現(xiàn)得到了提升。因此,可以認為氣象因素的波動對凝汽器真空產(chǎn)生了比較明顯的影響。同時,如果能夠結合未來天氣預報信息,則可以達到提前預判以及時調(diào)整機組運行情況的效果。
運用集成學習的方法先后在數(shù)據(jù)清洗和模型建模環(huán)節(jié)采用了孤立森林和Xgboost 算法完成了對大數(shù)據(jù)場景下凝汽器真空度的預測。同時,在考慮到外部氣象因素對凝汽器真空影響的情況下,還研究了氣溫和氣壓的波動對凝汽器真空的影響,給出了定量的結論。研究發(fā)現(xiàn),集成學習由于能夠同時降低模型的偏差與方差,因此具有較好的預測效果;氣象數(shù)據(jù)的波動也能夠在一定程度上解釋凝汽器真空的波動。