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

式中,第一項為預測值與真實值的損失函數,該項與傳統算法一致;第二項為模型復雜度懲罰項,確保在高精度的要求下,模型的復雜度最小。
(2)確定最佳樹結構
對于目標函數中第二項模型復雜度表達式,可使用葉子節點的數目加上正則項表示:

其最優解表達式為:

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

圖1 基于XGBoost算法的預測模型設計
本電池預測系統通過對已有動環報表數據的讀取,對算法模型進行訓練,并對現網電池進行訓練。系統共分為數據讀取、訓練矩陣生成、智能分析、數據輸出等4個模塊。因為采用了智能算法和大數據分析,自動實現電池性能預估,因此本系統軟件側重于數據的自動化處理和分析實現,對于人機交互要求不高,因此采用簡單的DOS界面,一鍵完成所有處理。其中,數據輸出模塊采用直接打印結果和導出為excel報表的形式實現,便于維護人員的篩選和使用。
系統整體流程圖如圖2所示。

圖2 預測系統整體流程圖
2.2.1 數據讀取模塊
為提高系統自動化水平,減少人工操作環節,系統通過自動讀取基站動環監控系統的數據庫報表信息,完成輸入數據的獲取并存入對應文件夾中。系統創建各文件目錄與存放的數據報表對應關系如表1所示。
表1中:序號1~9報表直接從動環監控系統數據庫讀取原始報表即可;序號10~11為用戶提供的訓練和待測試站點。

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

圖3 報表數據讀取流程圖
2.2.2 輸入矩陣生成模塊
完成動環監控報表數據讀取后,首先要對得到的數據進行清洗和預處理。根據動環監控系統特性、現網安裝特點等梳理預處理邏輯點如下文所述。
邏輯1:剔除監控離線超閾值(30天)的樣本數據。
理由:監控離線超長,可能導致告警記錄不全,影響算法評估準確。
邏輯2:剔除無電池信息的站點。
理由:如果該站無電池,無需判斷電池性能;如性能缺失,有告警記錄不全風險,影響算法評估。
邏輯3:剔除電池使用壽命超20年的站點。
理由:按照正常邏輯,不存在電池使用超20年不更換情況,應為資管信息錄入錯誤導致。
邏輯4:剔除無開關電源負載電流值的站點。
理由:判斷為硬件故障,或協議配置錯誤無法讀取,會導致容量負載比計算異常。
邏輯5:剔除監控注冊狀態是未交維的站點。
理由:未交維站點一是入網時間短,二是告警無記錄,會影響算法評估。
邏輯6:剔除監控入網時間不足閾值(365天)的站點。
理由:如果入網時長不足一個自然年,采樣數據不具備代表性。
邏輯7:剔除5G設備的影響。
理由:目前5G設備功耗高,且未開始配備蓄電池,因此需要將涉及5G的開關電源電流剔除,或將智能配電單元的電流剔除掉。
根據上述邏輯完成預處理工作后,即可從抽象出8個影響電池壽命的環境變量,構成輸入矩陣。變量生成具體方法如表2所示。

表2 影響電池壽命環境變量實現及來源
2.2.3 智能分析模塊
對于本系統,需要要生成2個輸入矩陣,分別是輸入訓練樣本矩陣和輸入預測樣本矩陣。其中,輸入訓練樣本矩陣從訓練數據集中生成,用于對XGBoost算法模型的訓練,輸入預測樣本矩陣從動環系統全量基站數據生成,用于進行預測。具體訓練和預測流程圖如圖4所示。

圖4 XGBoost模型訓練及預測流程圖
2.2.4 數據輸出模塊
為了便于日常生產中使用,本系統在完成性能預測后,分別生成3張數據報表,分別為輸入訓練矩陣、輸入預測矩陣以及預測結果。其中,兩個預測矩陣報表詳細記錄了矩陣的8個特征量信息,便于校驗與核對;輸出結果報表以基站運維ID為索引,輸出基站電池性能優劣。具體輸出結果如圖5所示。

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

圖6 預測系統軟件運行結果
針對基站后備電池分布離散、工況復雜、測試困難的問題,本文提出了使用XGBoost算法對已有動力環境數據進行分析,從而實現電池性能精準實時預測的方法,并對該預測分析系統的軟件設計及實現進行了介紹。通過實驗樣本及實際生產數據測試,該系統在預測精度、計算時間、資源損耗等方面均優于現有方案,已經達到實際生產使用標準。目前,該系統已在江蘇鐵塔公司推廣使用。
現版本軟件未與運維監控系統數據庫關聯,后續將開發網頁版應用,實現與運維監控系統直接對接,在更大廣度上實現大數據分析;優化分類算法與運行率邏輯,進一步提升算法精度;同時,考慮引入深度學習算法和自學習機制,量化電池備電時長,為日常生產提供智能化指導。