陳浩男, 高雪蓮
(華北電力大學(xué) 電氣與電子工程學(xué)院,北京 102206)
變壓器作為電網(wǎng)的核心部件之一,結(jié)構(gòu)復(fù)雜、設(shè)備昂貴且維修成本高,一旦發(fā)生故障,對整個電力系統(tǒng)的運(yùn)作會造成巨大影響,甚至可能演變成大規(guī)模停電事件[1].分析變壓器油中溶解氣體,依舊是變壓器故障診斷的主要方法,而對變壓器油中溶解氣體含量的預(yù)測,是對油中溶解氣體進(jìn)行分析的主要手段[2].隨著在線監(jiān)測技術(shù)的發(fā)展,各種變壓器實時監(jiān)測系統(tǒng)更加成熟更加完善,所獲得的實時監(jiān)測數(shù)據(jù)為精確預(yù)測變壓器油中溶解氣體含量提供了數(shù)據(jù)支撐,從而提高了準(zhǔn)確判斷變壓器故障的可能性.
在實時數(shù)據(jù)預(yù)測領(lǐng)域廣泛應(yīng)用的算法有2類,分別是一般智能算法和基于集成學(xué)習(xí)的智能算法.前者包括支持向量機(jī)(support vector machine,SVM)[3-5]、長短期記憶神經(jīng)網(wǎng)絡(luò)(long-short term memory neural network,lSTM)[6-7]、自回歸差分移動平均模型(autoregressive integrated moving average model,ARIMA)[8-10]等算法,其缺點(diǎn)是優(yōu)化過程復(fù)雜、收斂速度慢,并且對原始時間序列的平穩(wěn)性要求較高,預(yù)測誤差也較大;后者包括隨機(jī)森林(random forest)、LightGBM(light gradient boosting machine)[11-13]等算法,其缺點(diǎn)是生成決策樹時沒有方向性或者容易出現(xiàn)收斂過擬合的問題,從而造成預(yù)測誤差較大.XGBoost(extreme gradient boosting)也是基于集成學(xué)習(xí)思想的算法,基學(xué)習(xí)器是決策樹中的CART樹(classification and regression tree),XGBoost將決策樹與梯度提升相結(jié)合,通過集成大量弱而互補(bǔ)的基學(xué)習(xí)器,利用權(quán)值實現(xiàn)有目標(biāo)的迭代,可以高效準(zhǔn)確地解決實時數(shù)據(jù)預(yù)測問題[14-16].另外,在數(shù)據(jù)預(yù)測中,超參數(shù)的取值常被忽略,通常采用默認(rèn)值或者依據(jù)個人經(jīng)驗設(shè)置,這樣既降低了算法的科學(xué)性,也降低了模型的性能.綜上所述,目前針對變壓器油中溶解氣體含量的預(yù)測問題,一方面缺乏XGBoost算法的應(yīng)用研究,另一方面缺乏對XGBoost超參數(shù)選擇與設(shè)置的研究.
本文中,筆者首先將XGBoost算法應(yīng)用于變壓器油中溶解氣體的預(yù)測,并將該算法與若干常用智能算法進(jìn)行比較.然后采用網(wǎng)格搜索法(GridSearchCV)對XGBoost的超參數(shù)進(jìn)行篩選和尋優(yōu).通過案例分析證明,XGBoost算法應(yīng)用于油中溶解氣體含量預(yù)測時,其精度優(yōu)于其他算法.在此基礎(chǔ)上利用網(wǎng)格搜索法對XGBoost超參數(shù)進(jìn)行優(yōu)化,結(jié)果表明,超參數(shù)優(yōu)化能顯著提升XGBoost算法對油中溶解氣體含量的預(yù)測精度.
XGBoost算法[17]的核心原理就是每一次迭代都是在訓(xùn)練上一棵決策樹的錯誤結(jié)果,以不斷減小殘差,并在殘差減少的方向上建立一個新的決策樹.
(1)
(2)
XGBoost在梯度下降的過程中,可以不選定損失函數(shù),依靠輸入數(shù)據(jù)進(jìn)行葉子分裂優(yōu)化計算.
(3)和(4)定義的Gj和Hj分別表示葉子結(jié)點(diǎn)j所包含樣本的一階偏導(dǎo)、二階偏導(dǎo)累加之和.假設(shè)決策樹結(jié)構(gòu)已經(jīng)固定,則可解出wj,如(5)所示,再對目標(biāo)函數(shù)進(jìn)行泰勒二階展開,得到目標(biāo)函數(shù)的最優(yōu)目標(biāo)值,如(6)所示.
(3)
(4)
(5)
(6)
網(wǎng)格搜索法可以分成搜索和交叉驗證2部分[19].在網(wǎng)格搜索中,遍歷多種參數(shù)組合,所以網(wǎng)格搜索又可以稱為窮舉搜索.交叉驗證又稱為循環(huán)估計,是統(tǒng)計學(xué)中將數(shù)據(jù)樣本切割成較小子集的方法.K折交叉驗證是交叉驗證的常用形式,完整的數(shù)據(jù)集被隨機(jī)地切割為k個數(shù)據(jù)個數(shù)相同的子集,每次選擇k-1個作為訓(xùn)練集、1個作為測試集.驗證重復(fù)k次,將準(zhǔn)確率的平均值作為最終的模型評價指標(biāo).
XGBoost模型中存在著大量的超參數(shù),其中一部分來自于XGBoost算法本身,另一部分則來自于決策樹,這些超參數(shù)會對算法整體精度和預(yù)測效果產(chǎn)生直接的影響,優(yōu)秀的超參數(shù)組合能夠進(jìn)一步地提升XGBoost模型的性能.
通過網(wǎng)格搜索,先對XGBoost回歸模型中所有超參數(shù)進(jìn)行篩選,結(jié)果表明,對于變壓器油中溶解氣體含量的預(yù)測,部分超參數(shù)對最后的預(yù)測效果無影響或者只會影響模型的計算速度,而對預(yù)測的準(zhǔn)確性產(chǎn)生顯著影響的超參數(shù)如下:
1)n_estimators(決策樹數(shù)量),默認(rèn)值為100,代表基學(xué)習(xí)器的個數(shù),也決定基學(xué)習(xí)器的最大迭代次數(shù),該值過小會導(dǎo)致仿真結(jié)果欠擬合,該值過大會導(dǎo)致模型計算時間太長甚至過擬合;
2)max_depth(決策樹最大深度),默認(rèn)值為6,根據(jù)實時預(yù)測數(shù)據(jù)的數(shù)量需要合理調(diào)整,是控制過度擬合的重要參數(shù);
3)eta(學(xué)習(xí)率),默認(rèn)值為0.3,該參數(shù)決定每一次學(xué)習(xí)過程的權(quán)重縮減量,該值過小會擴(kuò)大學(xué)習(xí)搜索空間;
4)min_child_weight(葉子節(jié)點(diǎn)最小樣本的權(quán)重和),默認(rèn)值為1,該值越大算法越保守;
5)colsample_bytree(每棵樹的特征抽樣比例),默認(rèn)值為1,該參數(shù)和算法過擬合關(guān)系密切.
篩選出如上的5個重要超參數(shù)后,采用網(wǎng)格搜索法對其尋優(yōu).表1給出了5個超參數(shù)的尋優(yōu)范圍及步長,并使用均方根誤差root mean squared error(RMSE)、平均絕對百分比誤差mean absolute percentage error(MAPE)作為評估算法預(yù)測精度的指標(biāo).
表1 超參數(shù)尋優(yōu)范圍
(7)
(8)
基于XGBoost和網(wǎng)格搜索的變壓器油中溶解氣體含量預(yù)測流程如圖1所示.
圖1 帶網(wǎng)格搜索的XGBoost算法流程
利用內(nèi)蒙古自治區(qū)呼倫貝爾市根河市110 kV變壓器在2016年1月28日~2016年5月29日,共124 d的變壓器油中溶解氣體數(shù)據(jù)進(jìn)行仿真實驗.在對比原始XGBoost與其他算法的預(yù)測效果時,以總烴含量作為研究示例;在對比原始XGBoost和超參數(shù)優(yōu)化后的XGBoost的預(yù)測效果時,以一氧化碳、甲烷、乙烷、乙烯、乙炔的含量作為研究示例.將前94 d數(shù)據(jù)(2016年1月28日~2016年4月29日)作為訓(xùn)練集,后30 d數(shù)據(jù)(2016年4月30日~2016年5月29日)作為測試集,所有氣體數(shù)據(jù)在經(jīng)過均值插值法對缺失值進(jìn)行填充后,使用Python軟件開展后續(xù)的研究工作.
為了驗證XGBoost在油中溶解氣體含量預(yù)測問題上的適用性,以總烴氣體含量為實驗對象,將XGBoost與隨機(jī)森林、LightGBM、LSTM、自回歸模型和支持向量機(jī)算法做對比,得到的總烴預(yù)測曲線如圖2所示,誤差評估結(jié)果見表2.
圖2 不同方法對總烴的預(yù)測結(jié)果
表2 不同方法的預(yù)測效果
結(jié)果表明,基于集成學(xué)習(xí)思想的XGBoost、隨機(jī)森林與LightGBM方法的預(yù)測效果優(yōu)于其他方法,且XGBoost最為精確,XGBoost的均方根誤差為0.036 1,平均絕對百分比誤差為0.231 %.驗證了XGBoost應(yīng)用于油中溶解氣體含量預(yù)測的可行性和優(yōu)越性.
使用網(wǎng)格搜索法對XGBoost進(jìn)行超參數(shù)尋優(yōu),根據(jù)表1確定的參數(shù)范圍,對不同氣體進(jìn)行預(yù)測,最佳超參數(shù)組合結(jié)果如表3所示.
表3 超參數(shù)尋優(yōu)結(jié)果
XGBoost模型采用表3的超參數(shù)組合,分別對一氧化碳、乙烯、甲烷、乙烷和乙炔氣體的含量進(jìn)行預(yù)測,得到的預(yù)測結(jié)果如圖3~7所示(其中各曲線的標(biāo)注同圖3),預(yù)測效果見表4.結(jié)果表明,通過網(wǎng)格搜索法優(yōu)化超參數(shù)后,XGBoost對油中溶解氣體含量的預(yù)測效果得到提升,曲線擬合程度明顯提高,誤差得到有效減小.以乙炔為例,RMSE從優(yōu)化前的0.020降低到優(yōu)化后的0.007,MAPE從優(yōu)化前的0.433 %降低到優(yōu)化后的0.160 %.
圖3 XGBoost對一氧化碳含量的預(yù)測
圖4 XGBoost對乙烯含量的預(yù)測
圖5 XGBoost對甲烷含量的預(yù)測
圖6 XGBoost對乙烷含量的預(yù)測
圖7 XGBoost對乙炔含量的預(yù)測
表4 XGBoost預(yù)測效果
將XGBoost算法應(yīng)用于變壓器油中溶解氣體含量的預(yù)測,并且采用網(wǎng)格搜索法對其進(jìn)行超參數(shù)篩選和優(yōu)化.結(jié)合內(nèi)蒙古根河市110 kV變壓器的實測數(shù)據(jù)進(jìn)行仿真驗證,利用均方根誤差RMSE和平均絕對百分比誤差MAPE對結(jié)果進(jìn)行評估,一方面通過與隨機(jī)森林、LightGBM、LSTM、自回歸模型和支持向量機(jī)進(jìn)行比較,驗證了XGBoost算法對變壓器油中溶解氣體含量預(yù)測問題的適用性、可行性和精確性;另一方面,通過對一氧化碳、乙烯、甲烷、乙烷和乙炔5種氣體的含量預(yù)測證明,經(jīng)過網(wǎng)格搜索優(yōu)化后的XGBoost算法的精度顯著高于優(yōu)化前.