基于历史行为数据估算电池包容量的研究
2021-05-05马非凡黄碧雄严晓王东征王炯耿
马非凡,黄碧雄,严晓,王东征 ,王炯耿
(1.201620 上海市 上海工程技术大学机械与汽车工程学院;2.201620 上海市 上海玫克生储能科技有限公司;3.310000 浙江省 杭州市 浙江华云信息科技有限公司)
0 引言
随着人们保护环境的意识不断加强,以及化石燃料资源的日益枯竭,电动汽车代替传统燃油汽车作为日常出行的代步工具已经成为大势所趋,然而,电动汽车存在电池衰减不确定、充电不方便和续航里程短等问题,使广大用户对电动汽车存在信心不足[1]。而且,随着最近几年大数据技术的不断成熟,机器学习方法在越来越多的领域取得了成功,利用数据创造更大的价值。本文在此背景下,利用数据平台积累的电动汽车数据,结合XGBoost 算法,估算电池剩余容量,增强用户的使用信心。
1 XGBoost 算法原理
XGBoost 是最近一种广受好评的集成学习算法,它在原来梯度集成学习的基础之上演化而来,主要思想是通过集成多个弱分类器的训练结果达到最终预测的目的[2-3]。XGBoost 算法模型具有如下几点优势:(1)通过弱分类器集成的方法能够很好地解决非线性问题,并将更多的特征考虑进模型;(2)选用的弱分类器是树形模型,相比较于深度学习,或者其他回归模型,对特征的处理要求较低,不需要进行强制归一化处理;(3)训练时可以利用电脑的线程资源,大大提高模型的训练速度。
XGBoost 近几年已经在各类机器学习大赛中大放异彩,也证明了其模型的健壮性和可用性,本文利用电动汽车上传的数据整理成可用特征,达到估算电池当前满充容量的目的。XGBoost 模型主要公式推导具体如下:
假设XGBoost 中有K 个树形模型,则每个模型如式(1)所示:
式中:fk——每一个集成单元;fk(xi)——每一弱学习器的计算结果。
为了防止模型过拟合,假设Ω(fk)为正则化表达式,则有
式中:γ,λ——惩罚系数;T,w——每一个集成单元的叶子结点数目和其权重。
XGBoost 的主要思想是对多个弱学习器结果进行总结。利用向前分布算法对目标函数进行训练,因此,fi的优化目标可以表示为式(3):
为方便计算,需对式(4)进行泰勒公式展开,并将常数项去除,展开后的结果如式(4)所示:
式中:gi,hi——目标函数的1 阶导数和2 阶导数。目标函数可以改写为式(5):
从上述公式推导中可以看出,XGBoost 集成学习是将每一棵回归树的结果进行融合的结果,在每一棵回归树中,会选择不同的特征作为节点划分数据集,如果某一特征同时被多棵不同的回归树选择作为其节点,则说明该特征的重要程度较高,在模型重要度影响中占比较高。
2 实验过程
2.1 特征的准备
从以往研究成果可知[4-6],电动汽车的电池容量与车辆行驶里程、日历天数、温度等因素有关。平台上的数据只简单记录每一时刻电动汽车的状态数据,如此刻的电流、电压、温度等,本文通过简单的统计方法,重新计算出模型需要的输入特征,最终整理好的特征确定如表1 所示。
在模型选取的特征中,当前月份(month)表示当前电动汽车工作所处的月份信息,用于表征当前电动汽车所处的季节,但是,如果我们直接用1~12 表示全年12 个月份,对于算法来说是不友好的,因为随着数字的增大,电池包容量不会呈现很明显的相关性,为了保证12 个月份之间信息的平等关系,本文对当前月份进行one_hot 处理。处理后的结果如表2 所示。
表1 模型输入特征Tab.1 Model input characteristics
表2 独热编码Tab.2 One-hot encoding
2.2 算法结果展示
本实验经过上述特征挖掘,已经整理完所有特征输入与输出容量,为了保证训练集样本数据量充足,本文按照8∶2 划分为测试集与训练集;同时,为了保证样本广泛性,本文通过随机抽取的方式抽取训练集和测试集。
表3 不 同模型比较Tab.3 Comparison of different models
通过比较不同算法的估算精度,发现XGBoost 缺失表现最好,MAE 和RMSE 达到0.014,0.072,R Square 也得到了最高评分0.818,说明该模型在保证足够精度的同时还有很好的鲁棒性。
最终的预测效果如图1 所示,深色点为预测值,浅色点为真实值,从图1 可以看出模型已经较准确地预估出当前的电池容量。
图1 容量预测散点图Fig.1 Scatterplot of capacity prediction
3 总结
关于电池容量的研究一直是动力锂电池领域的热点研究话题,但是其研究方法以电池测试为主,虽然该方法计算精度高,却不利于在生产环境中复用。本文从纯数据驱动角度出发,基于数据中台积累数据,提取具体特征,表征电池历史行为,利用XGBoost 模型估计当前电池包的容量。该方法计算速度快,可复用到不同的场景,也可以考虑在未来电动汽车数据平台中作为电池容量监控的一种策略。