魏 巍,丁 靜,馬翼飛,沙國益,郭 翔
(1.中國鐵塔股份有限公司徐州市分公司,江蘇 徐州 221000;2.中國鐵塔股份有限公司江蘇分公司,江蘇 南京 210000)
通信基站電池作為基站斷電后的備電電源,是確保通信設(shè)備在電網(wǎng)故障、極端天氣和自然災(zāi)害情況下保持平穩(wěn)運(yùn)行的有力保障。相較于小型柴油發(fā)電機(jī)、燃料電池以及光伏太陽能系統(tǒng)等手段,以鉛酸蓄電池和磷酸鐵鋰電池為主的基站備電電池具有價(jià)格低廉、部署簡(jiǎn)單、性能穩(wěn)定的優(yōu)勢(shì),目前仍然是基站備電的主流方式[1]。本文通過讀取基站動(dòng)力環(huán)境監(jiān)控?cái)?shù)據(jù),設(shè)計(jì)開發(fā)了基于XGBoost智能算法的電池性能預(yù)測(cè)系統(tǒng),實(shí)現(xiàn)了基站備電電池性能快速精準(zhǔn)預(yù)測(cè),最終達(dá)到快速定位問題電池、降低日常運(yùn)維成本的目的。
目前,預(yù)測(cè)電池性能方法主要有兩類,即基于經(jīng)驗(yàn)的預(yù)估方法和基于性能的預(yù)測(cè)方法。兩種方法均需要在實(shí)驗(yàn)室中對(duì)電池在不同條件下進(jìn)行反復(fù)的充放電測(cè)試,并通過電化學(xué)第一原理,對(duì)電池的動(dòng)力學(xué)參數(shù)、傳質(zhì)過程、機(jī)械特性等各方面性能進(jìn)行預(yù)測(cè)[2]。但這兩種方式不僅方法復(fù)雜,對(duì)實(shí)驗(yàn)環(huán)境、設(shè)備都有很高的要求,存在很大的局限性。在實(shí)際生產(chǎn)中,維護(hù)人員往往通過核對(duì)性容量放電的形式,完成電池性能評(píng)估。但此種操作存在測(cè)試周期長(正常為2年)、消耗資源大、導(dǎo)致電池?fù)p傷等問題。因此,筆者提出使用XGBoost算法,對(duì)已有動(dòng)力環(huán)境監(jiān)控?cái)?shù)據(jù)分析的方式,完成電池性能快速準(zhǔn)確的預(yù)估。
XGBoost(Extreme Gradient Boosting) 算 法, 屬于增強(qiáng)型梯度提升算法,是集成算法中Boosting算法的典范[3]。Boosting算法的核心思想是將許多弱分類器集成在一起形成一個(gè)強(qiáng)分類器。與傳統(tǒng)算法相比,XGBoost在很多方面進(jìn)行了改進(jìn),對(duì)于分類以及回歸問題均被證明是一種性能優(yōu)越的算法。
XGBoost算法主要由3部分構(gòu)成。
(1)目標(biāo)函數(shù)
XGBoost算法在傳統(tǒng)算法目標(biāo)函數(shù)兼顧準(zhǔn)確性和泛化能力外,引入了模型復(fù)雜度作為目標(biāo)函數(shù)的重要考量,確保算法在準(zhǔn)確性和運(yùn)行效率方面達(dá)到最優(yōu)。其目標(biāo)函數(shù)表達(dá)如下:

式中,第一項(xiàng)為預(yù)測(cè)值與真實(shí)值的損失函數(shù),該項(xiàng)與傳統(tǒng)算法一致;第二項(xiàng)為模型復(fù)雜度懲罰項(xiàng),確保在高精度的要求下,模型的復(fù)雜度最小。
(2)確定最佳樹結(jié)構(gòu)
對(duì)于目標(biāo)函數(shù)中第二項(xiàng)模型復(fù)雜度表達(dá)式,可使用葉子節(jié)點(diǎn)的數(shù)目加上正則項(xiàng)表示:

其最優(yōu)解表達(dá)式為:

上式是針對(duì)一個(gè)樹結(jié)構(gòu)進(jìn)行打分的函數(shù),分?jǐn)?shù)越小,則樹結(jié)構(gòu)越好,XGBoost算法通過構(gòu)造不同結(jié)構(gòu)的樹搜尋樹結(jié)構(gòu)的最優(yōu)解。
(3)確定樹最佳分支
XGBoost算法使用貪婪算法確保結(jié)果最優(yōu),如果每片葉子都是最優(yōu),則整體生成的樹就是最優(yōu)。確定樹的最佳分支的過程可以表述為:首先使用目標(biāo)函數(shù)確定決策樹優(yōu)劣,然后讓樹從第0層開始生長,每生長一次分支,就計(jì)算一次目標(biāo)函數(shù),當(dāng)目標(biāo)函數(shù)減少量低于設(shè)定閾值時(shí),停止樹的生長。
通過查閱技術(shù)資料,最終篩選提煉出影響電池壽命的溫度、放電情況、低壓情況、容量負(fù)載比、使用時(shí)長等5大因素8個(gè)變量,作為算法的輸入特征向量[4]。通過對(duì)基站動(dòng)環(huán)監(jiān)控系統(tǒng)記錄的相關(guān)數(shù)據(jù)的讀取,完成XGBoost算法的訓(xùn)練,并實(shí)現(xiàn)對(duì)基站電池性能的預(yù)測(cè)[5]。模型設(shè)計(jì)圖如圖1所示。

圖1 基于XGBoost算法的預(yù)測(cè)模型設(shè)計(jì)
本電池預(yù)測(cè)系統(tǒng)通過對(duì)已有動(dòng)環(huán)報(bào)表數(shù)據(jù)的讀取,對(duì)算法模型進(jìn)行訓(xùn)練,并對(duì)現(xiàn)網(wǎng)電池進(jìn)行訓(xùn)練。系統(tǒng)共分為數(shù)據(jù)讀取、訓(xùn)練矩陣生成、智能分析、數(shù)據(jù)輸出等4個(gè)模塊。因?yàn)椴捎昧酥悄芩惴ê痛髷?shù)據(jù)分析,自動(dòng)實(shí)現(xiàn)電池性能預(yù)估,因此本系統(tǒng)軟件側(cè)重于數(shù)據(jù)的自動(dòng)化處理和分析實(shí)現(xiàn),對(duì)于人機(jī)交互要求不高,因此采用簡(jiǎn)單的DOS界面,一鍵完成所有處理。其中,數(shù)據(jù)輸出模塊采用直接打印結(jié)果和導(dǎo)出為excel報(bào)表的形式實(shí)現(xiàn),便于維護(hù)人員的篩選和使用。
系統(tǒng)整體流程圖如圖2所示。

圖2 預(yù)測(cè)系統(tǒng)整體流程圖
2.2.1 數(shù)據(jù)讀取模塊
為提高系統(tǒng)自動(dòng)化水平,減少人工操作環(huán)節(jié),系統(tǒng)通過自動(dòng)讀取基站動(dòng)環(huán)監(jiān)控系統(tǒng)的數(shù)據(jù)庫報(bào)表信息,完成輸入數(shù)據(jù)的獲取并存入對(duì)應(yīng)文件夾中。系統(tǒng)創(chuàng)建各文件目錄與存放的數(shù)據(jù)報(bào)表對(duì)應(yīng)關(guān)系如表1所示。
表1中:序號(hào)1~9報(bào)表直接從動(dòng)環(huán)監(jiān)控系統(tǒng)數(shù)據(jù)庫讀取原始報(bào)表即可;序號(hào)10~11為用戶提供的訓(xùn)練和待測(cè)試站點(diǎn)。

表1 文件目錄與數(shù)據(jù)報(bào)表映射表
在讀取不同的報(bào)表時(shí),由于讀取的形式類似,僅存在文件名和讀取字段的差別,因此為提高代碼效率,編寫data_file_read函數(shù),讀取報(bào)表時(shí),調(diào)用該函數(shù)并設(shè)定要讀取的報(bào)表名稱即可。其算法流程圖如圖3所示。

圖3 報(bào)表數(shù)據(jù)讀取流程圖
2.2.2 輸入矩陣生成模塊
完成動(dòng)環(huán)監(jiān)控報(bào)表數(shù)據(jù)讀取后,首先要對(duì)得到的數(shù)據(jù)進(jìn)行清洗和預(yù)處理。根據(jù)動(dòng)環(huán)監(jiān)控系統(tǒng)特性、現(xiàn)網(wǎng)安裝特點(diǎn)等梳理預(yù)處理邏輯點(diǎn)如下文所述。
邏輯1:剔除監(jiān)控離線超閾值(30天)的樣本數(shù)據(jù)。
理由:監(jiān)控離線超長,可能導(dǎo)致告警記錄不全,影響算法評(píng)估準(zhǔn)確。
邏輯2:剔除無電池信息的站點(diǎn)。
理由:如果該站無電池,無需判斷電池性能;如性能缺失,有告警記錄不全風(fēng)險(xiǎn),影響算法評(píng)估。
邏輯3:剔除電池使用壽命超20年的站點(diǎn)。
理由:按照正常邏輯,不存在電池使用超20年不更換情況,應(yīng)為資管信息錄入錯(cuò)誤導(dǎo)致。
邏輯4:剔除無開關(guān)電源負(fù)載電流值的站點(diǎn)。
理由:判斷為硬件故障,或協(xié)議配置錯(cuò)誤無法讀取,會(huì)導(dǎo)致容量負(fù)載比計(jì)算異常。
邏輯5:剔除監(jiān)控注冊(cè)狀態(tài)是未交維的站點(diǎn)。
理由:未交維站點(diǎn)一是入網(wǎng)時(shí)間短,二是告警無記錄,會(huì)影響算法評(píng)估。
邏輯6:剔除監(jiān)控入網(wǎng)時(shí)間不足閾值(365天)的站點(diǎn)。
理由:如果入網(wǎng)時(shí)長不足一個(gè)自然年,采樣數(shù)據(jù)不具備代表性。
邏輯7:剔除5G設(shè)備的影響。
理由:目前5G設(shè)備功耗高,且未開始配備蓄電池,因此需要將涉及5G的開關(guān)電源電流剔除,或?qū)⒅悄芘潆妴卧碾娏魈蕹簟?/p>
根據(jù)上述邏輯完成預(yù)處理工作后,即可從抽象出8個(gè)影響電池壽命的環(huán)境變量,構(gòu)成輸入矩陣。變量生成具體方法如表2所示。

表2 影響電池壽命環(huán)境變量實(shí)現(xiàn)及來源
2.2.3 智能分析模塊
對(duì)于本系統(tǒng),需要要生成2個(gè)輸入矩陣,分別是輸入訓(xùn)練樣本矩陣和輸入預(yù)測(cè)樣本矩陣。其中,輸入訓(xùn)練樣本矩陣從訓(xùn)練數(shù)據(jù)集中生成,用于對(duì)XGBoost算法模型的訓(xùn)練,輸入預(yù)測(cè)樣本矩陣從動(dòng)環(huán)系統(tǒng)全量基站數(shù)據(jù)生成,用于進(jìn)行預(yù)測(cè)。具體訓(xùn)練和預(yù)測(cè)流程圖如圖4所示。

圖4 XGBoost模型訓(xùn)練及預(yù)測(cè)流程圖
2.2.4 數(shù)據(jù)輸出模塊
為了便于日常生產(chǎn)中使用,本系統(tǒng)在完成性能預(yù)測(cè)后,分別生成3張數(shù)據(jù)報(bào)表,分別為輸入訓(xùn)練矩陣、輸入預(yù)測(cè)矩陣以及預(yù)測(cè)結(jié)果。其中,兩個(gè)預(yù)測(cè)矩陣報(bào)表詳細(xì)記錄了矩陣的8個(gè)特征量信息,便于校驗(yàn)與核對(duì);輸出結(jié)果報(bào)表以基站運(yùn)維ID為索引,輸出基站電池性能優(yōu)劣。具體輸出結(jié)果如圖5所示。

圖5 生成輸出數(shù)據(jù)報(bào)表樣例
軟件系統(tǒng)在Windows10下運(yùn)行,計(jì)算機(jī)性能:六核處理器,主頻1.1 Hz,內(nèi)存16G;電池性能預(yù)測(cè)系統(tǒng)在在該機(jī)器上進(jìn)行測(cè)試。首先從中國鐵塔股份有限公司動(dòng)環(huán)監(jiān)控系統(tǒng)及資源管理系統(tǒng)2018年9月至2019年8月期間記錄的數(shù)據(jù)中抽選出240個(gè)基站數(shù)據(jù)作為樣本數(shù)據(jù)進(jìn)行分析,并與3名從業(yè)10年以上的基站維護(hù)人員根據(jù)經(jīng)驗(yàn)進(jìn)行預(yù)測(cè)的結(jié)果進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果預(yù)測(cè)系統(tǒng)平均查準(zhǔn)率93.6%,查全率91.8%,均高于人員預(yù)算準(zhǔn)確率。
之后,使用徐州鐵塔2020年進(jìn)行電池更新站點(diǎn)數(shù)據(jù)進(jìn)行驗(yàn)證,共讀取11張報(bào)表,46個(gè)邏輯點(diǎn),387個(gè)字段,40.6萬條數(shù)據(jù),軟件在4分鐘內(nèi)完成了數(shù)據(jù)處理并輸出預(yù)測(cè)結(jié)果,系統(tǒng)查準(zhǔn)率84.6%,查全率89%。軟件運(yùn)行結(jié)果如圖6所示。

圖6 預(yù)測(cè)系統(tǒng)軟件運(yùn)行結(jié)果
針對(duì)基站后備電池分布離散、工況復(fù)雜、測(cè)試?yán)щy的問題,本文提出了使用XGBoost算法對(duì)已有動(dòng)力環(huán)境數(shù)據(jù)進(jìn)行分析,從而實(shí)現(xiàn)電池性能精準(zhǔn)實(shí)時(shí)預(yù)測(cè)的方法,并對(duì)該預(yù)測(cè)分析系統(tǒng)的軟件設(shè)計(jì)及實(shí)現(xiàn)進(jìn)行了介紹。通過實(shí)驗(yàn)樣本及實(shí)際生產(chǎn)數(shù)據(jù)測(cè)試,該系統(tǒng)在預(yù)測(cè)精度、計(jì)算時(shí)間、資源損耗等方面均優(yōu)于現(xiàn)有方案,已經(jīng)達(dá)到實(shí)際生產(chǎn)使用標(biāo)準(zhǔn)。目前,該系統(tǒng)已在江蘇鐵塔公司推廣使用。
現(xiàn)版本軟件未與運(yùn)維監(jiān)控系統(tǒng)數(shù)據(jù)庫關(guān)聯(lián),后續(xù)將開發(fā)網(wǎng)頁版應(yīng)用,實(shí)現(xiàn)與運(yùn)維監(jiān)控系統(tǒng)直接對(duì)接,在更大廣度上實(shí)現(xiàn)大數(shù)據(jù)分析;優(yōu)化分類算法與運(yùn)行率邏輯,進(jìn)一步提升算法精度;同時(shí),考慮引入深度學(xué)習(xí)算法和自學(xué)習(xí)機(jī)制,量化電池備電時(shí)長,為日常生產(chǎn)提供智能化指導(dǎo)。