基于集成学习与数据驱动的电动汽车动力电池多维度故障预警
2024-01-01王健俊陈豪付元承
关键词: 汽车动力电池;故障预警;Stacking 集成学习;多维度特征
中图分类号: U 472 ;TM 911 文献标识码: A DOI: 10.3969/j.issn.1674-8484.2024.03.010
新能源汽车已然是未来汽车工业发展的趋势,在动力能源选择上,三元锂电池因其能量密度高在发展初期备受推崇。然而近两年来,伴随蔚来EC6、特斯拉Model Y 等主流纯电动汽车因热失控所引起的起火爆炸等事故频发,作为最核心以及发生故障频率最高的部件,动力电池系统的安全稳定性问题受到了消费者的愈发重视。如何对电池风险做出准确预测不仅是确保司乘人员安全用车的关键,更是当下新能源汽车进一步推广普及的重要保证,同时也正逐渐成为学术界研究的热点。
关于动力电池系统故障风险的探讨大致分为3类。一些研究利用熵值这一概念从电压、温度等异常变化角度来实现故障分级[1-2]。然而,阈值的方法对数据和区间参数选取要求较高,在实际应用中通常也难以确定合适的阈值。为此一些学者尝试基于电路/电化学、热模型的方法来描述电池在正常和/或故障条件下的状态演变过程[3-4]。考虑到数理模型是在实验室精准控制下得到的仿真分析结果,且计算复杂,近年来基于数据驱动的机器学习方法因具有从数据中学习故障模式的优秀表现,正逐步被应用于故障诊断,如:LI Da等[5]提出一种应用长短期记忆(long-short term memory,LSTM)网络的电池故障诊断方法,结果表明该方案能够实现潜在故障风险评估,并发出早期热失控预警。WANG Jia等[6]提出一种基于改进径向基函数(radial basis function,RBF)神经网络的电动汽车动力电池故障诊断方法,选取电压、荷电状态(state of charge,SOC)等特征提高了故障等级诊断的准确率。YAO Lei等[7]采用基于网格调参的支持向量机电池故障诊断方法来识别电压故障的状态和严重程度。此外,Adaboost、LightGBM等boosting算法的模型也开始被应用于电池状态的预测[8-9]。
基于实车数据的机器学习方法无需考虑电池内部深层工作机理,通过对数据的学习还能够揭示出各状态参数之间的非线性关系,展现出了更好的适用性。但现有研究大多采用电池容量、电压以及温度等电池内部指标作为特征,忽视了工况、天气、用车方式等其他可能的外在影响因素。此外,现有故障预测较多采用单一模型完成,即使有与其他算法进行结合,后者也仅用于数据预处理或参数优化,并未直接参与到故障预测过程中,精度进一步提升有限。同时,汽车的故障信息通常是类别不平衡数据,容易导致单一算法的泛化性能欠佳。鉴于上述不足,本文拓展了电池状态分析指标,实现内外部多维度表征,并在算法上选用对不平衡数据有较好处理能力的Stacking 集成学习模型用于电池故障预警,通过与仅考虑电池内部特征的单一模型对比,来验证该方法的有效性。
1 数据预处理
1.1 样本数据介绍
本次研究数据取自某品牌旗下10 辆纯电动汽车(EV) 在A直辖市近6 个月的实际出行数据,上述汽车均基于同一电动平台搭载其自研的三元锂离子电池。该型号电池质量为548 kg,额定电量42.3kWh,电池包由11 个串联电池模组组成,能量密度127 Wh/kg,新标欧洲循环测试(New European Driving Cycle,NEDC) 最大续航里程为310 km。电池包的电池管理系统(batterymanagement system,BMS) 采用具有广泛适应性的分布式架构,包括一个外部的中央电子控制器(centralelectronic control unit,CECU) 以及3 个内部的局部电子控制器(local electronic control unit,LECU),其中CECU芯片采用飞思卡尔生产的MC9S12XET256MAA(HCS12系列),用于实时监测电池的SOC、温度等状态信息。BMS 的主控模块与其余从控模块均通过内部控制器局域网(controller area network,CAN) 总线来实现信号传递。
本文采用车载测量法利用电动汽车数据收集装置链接至车载诊断系统(on-board diagnostics,OBD) 接口接收CAN信号,同时全球定位系统(globe positionsystem,GPS) 传感器采集实时车速和车辆位置信息,采样频率选定为0.2Hz。所采集的数据符合传输控制协议(Transmission Control Protocol,TCP) 标准,完成信息解码后得到包含充电状态、日期时间、经纬度、车速、SOC、累计里程、通用报警信息等基于国标GB/T 32960-2016要求的22种类型数据,共计513215 条。部分代表数据样例如表1所示。
1.2 数据清洗
在数据采集时,往往会有天气恶劣变化、收集设备处于隧道等信号盲区或起停时不稳定断电等情况的出现,从而使得移动通信信号延迟、错误甚至是丢失,造成数据异常。为了后续预测的准确性,需要对数据进行清洗。
1.2.1 片段划分
为便于后续处理首先需要对车辆的运行片段进行划分。本文整合车辆状态和充电状态这2 个指标,将状态片段划分为放电行驶片段、停车充电片段以及停车静止片段。划分规则为:将充电状态字段中的04 ( 充电完成) 划入01( 充电),车辆状态字段中的03( 其他) 划入02 ( 熄火),当上述2 类状态保持不变且间隔不低于180 s,则标记分割点以此循环,数据按标记点分割后若样本量少于100 条,则可认为统计意义不大予以剔除处理。
1.2.2 异常数据处理
本文所遇到的异常数据及处理方式主要如下:
1) 重复采样剔除,对同一车型id各数据完全相同的字段,判断为收集器重复采样,将这部分数据进行剔除;
2) 时序重新排列,将采集数据以时间标签为准按照先后进行排列,发现部分字段如累计行驶里程等时序异常,对该部分数据利用特征重新排序;
3) 滞后数据修正,在一些不同片段的交界处还发现有部分数据字段仍会表现为上个片段的特征,可认为采集器存在传输延迟的现象,对此利用相应特征进行状态平移修正;
4) 缺失数据填充,本文数据中片段内单体最高电压、温度等还存在一定缺失,对于大面积缺失的情况丢失数据段,对于小面积的缺失则综合利用分段插值和Lagrange 插值法进行填补[9]。另外,由于原始SOC分辨率为1% 而数据采集频率为0.2 Hz,这导致在一段连续时间内低于1% 的SOC 变化无法体现,即在时序图上呈现阶梯分布,为减小误差而根据电流大小对SOC 插值平滑处理;
5) 箱型图去偏点,受传输过程不稳定等因素影响,本文经过处理后的数据还存在部分样本远离中心的情况,为减少偏离点对模型的干扰,使用箱型图检测来剔除这些上下边缘之外的数据点。
1.2.3 故障报警位梳理
经过对故障情况分类数据的初步分析,本文发现样本中存在大量与电池无关的报警信息,并且通用报警标志数据存在延迟报警、遗漏报警、错误报警等问题。此外,在转化为二进制后还发现部分报警标志位如单体一致性差、SOC 跳变等未能出现。为此,本文采用故障树分析方法并结合国标及过往相关研究,修正自定故障报警系统标准可参见表2 所示,表中标志均维持到报警条件解除。故障等级通常可分4 级,其中0表示没有故障;1 表示一级故障,不影响车辆正常运行,电池无需处理;2 表示二级故障,指会影响到车辆性能需要对行驶进行限制的故障,此时电池需要更换检修;3 表示三级故障为最严重级别,此时电池禁止充放电,驾驶员应立即停车。统计重新归类后的故障报警等级,可发现75.23% 的样本处于0 级安全状态,1 级占比为16.54%,2 级和3 级分别为6.28% 和1.95%。
1.3 数据集生成
在模型数据集的生成上,前文可以看到正常样本和故障样本之间存在严重的不均衡问题,为此利用改进合成少数样本过采样技术(synthetic minorityoversampling technique,SMOTE),通过欠采样减少量等于过采样添加量的方式进行数据扩充,既保证不会丢失大量数据信息,也不会由于添加过多合成数据引入噪声干扰。接着,考虑到电池故障往往难以依靠当前时刻特征进行判断,为保证预警准确性和预留充分的反应时间,引入观察窗即架设在特征时间尺度上的特定长度观测窗口,可观察该时间段的特征变化来构建数据集。经过次迭代计算,本文设定窗口长度为180即30 min 为观测时长,通过查找电池故障信息提取出发生故障前30 min 的数据条目。此外在车辆处于正常状态的条目中,按每辆车每个时间段随机提取相同大小的数据合并形成数据集,以保证数据分布的合理性。最后,在上述基础上按照7 : 3 的比例划分最终生成训练集和测试集。
2 特征工程
2.1 特征提取
根据前文对动力电池故障报警标志位的表征,可发现其成因主要和电压、电流、温度、SOC等有关,因此需要将这些因素纳入特征范围,并以此为基础挖掘数据中的隐含信息派生出新字段。为能更真实地还原动力电池实际工作场景,进一步纳入外部信息作为补充参数以构建一套多维度的故障预警特征集合。
2.1.1 电池健康状态特征提取
电池健康状态(state of health,SOH) 是体现电池老化以及劣化程度的重要指标。目前电池电池容量大小变化是表征SOH 变化所使用最多的特征参数,定义如下:
4 实验结果分析
本文实验运行的处理器配置为Intel Core i7-8550U,操作系统为win10(64 位),运行内存32 GB。软件开发环境为Pycharm,基于编程语言Python 3.7 调用Numpy、Pandas、Sklearn、Matplotlib 等工具库来实现算法。
4.1 超参数寻优结果
前文各模型的超参数需要在学习之前完成设置,通过调节至合适的参数值能够提高模型的分类能力。常见的调参方法有网格搜索、随机搜索和Bayes 优化。前两者在超参数较多时易出现效率低下和局部最优的问题, 而Bayes 优化采用了Gaussian 过程(GaussianProcess,GP) 回归,对于随机初始化点[x,f(x)],在服从Gaussian 过程分布时可表示为f(x)~GP[m(x), k(x, x')],可在过程中根据已搜索点的函数值估计目标函数f(x)的均值m(x) = E[ f(x)] 和协方差k(x, x') = E{[f(x) - m(x)][f(x') - m(x')]},以此建立采集函数进而决定下次采样点的位置,因此能在较短时间内确定最优参数。
本文将对集成模型和树模型有着较好效果的Bayes 优化结合网格搜索法来共同实现调参。具体为以AUC 值为目标函数,结合5 折交叉验证,首先使用Bayes 优化初步快速缩小调优范围,随后利用网格搜索对各学习器初步的参数范围循环遍历,通过在测试集中的效果对比寻求最优超参数组合。Stacking 集成模型中各学习器的调参结果见表6。
4.2 实验验证结果
由于故障样本数据量存在严重非均衡性,采用前文所述的改进SMOTE 法降低不平衡率,经比较可验证进行数据扩充后各基模型的评价指标均能有所提升,因此后续的实验分析都建立在上述基础之上。
4.2.1 加入外部因素特征的有效性验证
首先, 为验证考虑电池外部的特征( 包括时间环境、驾驶风格、行驶工况等因素) 能否提高模型的泛化能力,设置M1 和M2对照组进行对比分析。其中M1为传统仅考虑电池内部状态维度的基模型单一机器学习方法;M2 则在M1基础上进一步加入前文表5 中外部特征的相同机器学习方法。二者均经过Bayes 和网格法超参数调优,对比结果见表7 所示。从表中可知,加入电池外部特征后,M2各基模型在准确率、召回率、F1 得分和AUC 值等方面相比M1 均出现了显著的提升。这表明在电池故障的诊断问题上,外部特征不可忽视,对模型的泛化性能优劣有着较为重要的影响。
4.2.2 采用集成学习的有效性验证
在上述基础上,为检验集成学习能否集合各分类器优势提高预测精度,将Stacking 模型融合方法M3与M2 单一模型进行对比分析,所需重点关注的召回率和F1 值评价结果见表8。表中R-ave、F1-ave 分别为各报警等级的平均召回率和平均F1 得分。从故障的整体预警情况来看,Stacking 集成模型表现出了最佳的识别性能,平均召回率高于单一分类模型中最高的SVM模型9.3 百分点,F1 同样高出近10百分点。
图8 还展示了各模型所表现的ROC 曲线,可以看到,在误报率低于5% 的高度计算关注区域,Stacking集成模型的曲线更为靠近左上角,且实现了对其他模型曲线的完全包裹,对应AUC 值达到0.875,表明模型的预测性能最好。其次则分别为SVM、LightGBM和XGBoost,整体排序与前文召回率和F1 值的结果相近。
表8 还汇报了各模型对1 级至2 级故障识别的召回率R-1~R-3,以及F1 得分大小F1-1~F1-3,对应各细分类型识别的混淆矩阵如图9 所示。可以看到,对于电池的正常状态各模型的预测表现差别并不大,但是故障预警中Stacking 的预测效果则大幅优于3 个基模型,特别是在较为重要的2 级和3 级故障中精度优势更为明显。对应R-2 和R-3分别为85.81% 和88.92%,对比识别效果相对较弱的XGBoost提升幅度达到了12.09 百分点和17.36 百分点; F1-2和F1-3则相对高出15.36 百分点和18.10百分点。表中还比较了各模型的运行时长t,其中LightGBM 耗时最短,Stacking 则由于对每个基模型交叉训练导致运行时间较长,但考虑车辆实际行驶过程中电池长时间尺度的使用,百秒级在单个样本上的差异并不会影响实用价值。总体来看,采用集成学习在动力电池安全风险的识别问题上具有较强的优越性。
5 结论
本文提出一种基于集成学习的车-人-环境多指标动力电池故障预警方法。从内外部多维度提取电池状态、行驶状况、历史信息和时间环境等相关特征,采用Filter和Wrapper相结合的方法完成最优特征筛选,尽可能还原了电池复杂的应用场景同时提高鲁棒性;考虑到故障样本的不平衡问题,在采用SUNDO重采样进行一定程度数据扩充后,建立了对不平衡数据有着更好处理能力的双层Stacking异质集成模型,并利用Bayes优化结合网格搜索法实现超参数调优。
实验结果显示,电池的外部特征在提高故障预警的泛化能力上有着较为重要的影响。在此基础上采用Stacking 集成学习相比单一模型对各类故障的预测精度得到了明显提升,特别是在中高风险小类的预警上表现得更为出色,在测试样本中召回率分别达到了85.81% 和88.92%。这表明通过不同种类算法的堆叠,使得所构建的集成模型能从不同角度和层次更为有效地挖掘多维特征信息。上述成果能够为电池管理系统的智能化安全管控提供一定的决策支持。后续研究将进一步从电池故障种类以及短期、中期、长期3 个不同时间尺度来完善预警诊断体系。