魏 巍,丁 静,马翼飞,沙国益,郭 翔
(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算法对已有动力环境数据进行分析,从而实现电池性能精准实时预测的方法,并对该预测分析系统的软件设计及实现进行了介绍。通过实验样本及实际生产数据测试,该系统在预测精度、计算时间、资源损耗等方面均优于现有方案,已经达到实际生产使用标准。目前,该系统已在江苏铁塔公司推广使用。
现版本软件未与运维监控系统数据库关联,后续将开发网页版应用,实现与运维监控系统直接对接,在更大广度上实现大数据分析;优化分类算法与运行率逻辑,进一步提升算法精度;同时,考虑引入深度学习算法和自学习机制,量化电池备电时长,为日常生产提供智能化指导。