基于改进符号回归算法和XGBoost算法的剩余续驶里程预测

2022-03-25 03:06甘志恒
关键词:字段里程标签

田 晟,甘志恒,吕 清

(华南理工大学 土木与交通学院,广东 广州 510641)

目前动力电池技术尚未取得重大突破,纯电动车的续驶里程受到限制,充电时间较长、充电桩密度低导致纯电动车驾驶人不可避免地出现“续航焦虑”,降低了人们对于纯电动车的接受度[1-3]。动力电池系统高度非线性,使得当前的车辆剩余续驶里程预测方案效果不佳,车厂不能准确地获取车辆的剩余续驶里程,在制定车辆能量管理策略时需保留一定的能量冗余量,导致续航能力指标下降。因此,准确地预测纯电动车的剩余续驶里程能有效缓解驾驶人的“续航焦虑”并合理规划出行,有助于汽车厂商开发更精细化的车辆能量管理策略,优化续航能力指标。

剩余续驶里程定义为纯电动车在当前荷电状态(state of charge, SOC)下,以某一特定工况行驶至车辆能量管理策略设定的截止SOC时,车辆所能行驶的最大距离[4]。预测纯电动车剩余行驶里程可以大致分为基于模型预测和基于数据驱动预测。基于模型预测需要对电池模型、车辆能耗模型以及车辆工况等进行研究,通过计算动力电池组剩余能量与预估的纯电动车每公里能耗之比来预测车辆的剩余续驶里程[5-6]。陈德海等[7]建立优化OCV法数学模型并在电池包静止足够长时间后且SOC较大时进行实验,预测值与实际值最大相对误差为5.2%。林仕立等[8]通过建立纯电动汽车供需功率模型基于SOE预测车辆续驶里程,相较于采用SOC指标预测精度提升4.09%。上述方法要对电池模型、能耗模型等深入研究,达到一定预测精度所需时间与资源较多。基于数据驱动预测是从车辆历史运行数据学习得到预测模型,得到的模型泛化能力强且精度较高,但可解释性稍有欠缺[9-10]。特征选择上,考虑驾驶员无法直接获取的指标参数对模型进行训练,可以提高预测精度[11-13]。Sun等[14]基于梯度提升树(GBDT)以温度、速度和SOC等作为特征,预测结果最大相对误差仅为1.58 km。基于数据驱动对剩余续驶里程进行预测的精度会受到使用数据集质量、特征探查、特征构建的影响[15]。Modi等[16]提出袋式决策树(CNN-BDT)方法,在缺失车辆内部参数前提下平均绝对误差为0.14。上述研究均以人工先验知识为基础,利用数据集中现有的特征字段与标签的映射关系进行建模,尚未考虑利用算法自动生成与标签高度相关的新字段扩充数据维度从而实现预测精度提升。

数据的质量决定了模型预测结果精度的上限,为进一步提高预测剩余续驶里程的精度,本文提出基于改进符号回归算法来实现高质量数据特征的自动生成。构建XGBoost算法预测模型并进行模型训练,得到一个描述车辆运行动态指标参数与剩余续驶里程映射关系的经验模型,对比初始数据集和维度扩充数据集以验证本文提出方法的可行性。

1 算法理论依据

1.1 改进符号回归算法原理

改进符号回归算法不直接预测标签变量,而是生成一个表征数据集中特征字段与标签字段之间隐藏关系的转换函数,从原有的特征字段自动生成与标签字段高度相关的新数据特征。改进符号回归算法用于特征构建阶段,通过扩充数据集维度提高数据质量,不直接参与标签预测但能提高后续预测模型的精度,本质算法原理参考遗传程序设计算法[17-18]。算法实施过程总结如下:设计一组实现简单函数功能的程序,无需先验知识和事先指定目标函数的形式和参数,设置适应度规则,让程序按照遗传算法的步骤进行选择,保留每一代中最合适的程序,继续参与下一轮的迭代,最后生成一个转换函数,根据初始特征变量自动换算与标签变量高度相关的新数据特征。遗传程序设计流程如图1所示。

图1 遗传程序设计流程Fig. 1 Genetic programming flowchart

典型遗传算法编码方式是二进制编码,变异以固定概率将所有染色体的基因位点翻转[19]。首先,选择邻近个体,以设定概率判断是否交叉,若需交叉,则随机选择某个基因位点,交换该基因位点及之后的所有基因。其次,新一代种群依据概率进行选择,有放回地采样出原种群大小的新一代种群,个体Ii采样的概率为

(1)

遗传算法会自动平衡因选择导致的收敛性和变异交叉带来的多样性,基因模式呈指数增长[20]。适应度高于种群平均适应度的模式H原理为

(2)

(3)

1.2 极限梯度提升算法XGBoost

XGBoost属于集成学习算法,由多个互相关联的基学习器共同决策[21-22]。XGBoost在分类与回归问题上表现顶尖,具有对输入数据要求不敏感、计算效率高和允许进行分布式训练等特点,支持在分布式环境上运行,可用于处理大规模数据[23-24]。XGBoost广泛用于各类预测问题求解,其最终效果受数据本身影响极大,为了进一步提高剩余续驶里程预测精度,首先使用改进符号回归算法扩充数据维度,其次将多维数据作为XGBoost的输入预测标签值,将2种算法的优势相结合,从而降低预测误差。本文采用基学习器为分类和回归树(classification and regression tree, CART)的XGBoost算法,目标函数为

(4)

式中:gi为对第t-1步模型得到的预测值所求的一阶导数,hi为所求的二阶导数,ft(x)表示组成XGBoost模型的第t个基学习器。

设CART决策树为ft(x)=wq(x),其中,x表示一个样本,q(x)表示该样本在某一取值为w的叶子节点上,wq(x)表示每个落在该叶子节点上的样本取值均为w。CART决策树的复杂程度与叶子数T成正相关,叶子节点越多则模型越复杂,目标函数中的正则项Ω(fi)取决于所采用的基学习器,正则项Ω(fi)定义为

(5)

式中γ为一个大于等于0的常量,作为惩罚系数用以权衡模型的经验风险与模型复杂度。遍历叶子节点,每个叶子节点多个样本记作一个集合,因此目标函数可表示为

(6)

(7)

此时,目标函数可简化为

(8)

基于改进符号回归算法和XGBoost模型预测剩余续驶里程的技术路线如图2所示。

2 数据特征工程

2.1 数据预处理

数据预处理包括异常值筛选、缺失值填充和剩余续驶里程字段构造。数据异常筛选主要从3个方向展开:1)数据字段描述中规定值的有效范围,使用该方法对所有字段进行筛选;2)字段含义的逻辑关系,如里程应随时间增加而增加等;3)3σ准则判断,若字段大致服从正态分布,在3σ范围(μ-3σ,μ+3σ)外的数据判为异常,其中μ为该字段的均值,σ为标准差。数据缺失是指数据记录部分特征字段值缺失,采用的填充方法是取前后各3个采样点的值,一个采样点的采样间隔一般为10 s,取6个点的均值进行填充,同时对于按时间排序采样值存在大小关系的字段,在填充时加入验证规则,如果前后6个点的均值不符合验证规则,则该缺失值使用距离最近一个采样点值填充。

图2 预测剩余续驶里程技术路线Fig. 2 Technology roadmap for remaining range prediction

由于原始数据中剩余续驶里程字段是缺失的,因此需按剩余续驶里程的定义构造剩余续驶里程字段。在理想的完整车辆行驶过程中,车辆剩余续驶里程(remaining mileage)是由SOC为0时对应的mileage与各条车辆运行记录mileage之间的差值,而实际行驶过程中的电池放电过程难以实现理想中的放电过程。因此本文选择SOC为10%~80%的片段区间,剩余续驶里程对应SOC为10%时对应里程与各条车辆运行记录里程之间的差值。剩余续驶里程计算公式为

Mi=msoc为10%-mi。

(9)

式中:Mi指车辆剩余续驶里程,mi指累计里程数,msoc为10%指SOC达到10%时的累计行驶里程数原始数据为超过四百万条广州地区一个月内各类电动车的历史运行数据,按照上述步骤进行处理。综合现有研究及个人先验知识进行特征选择,其含义及范例如表1所示。

表1 数据预处理后的车辆运行数据

所用数据集大部分字段不严格符合正态分布,引入Spearman相关系数对特征字段与标签字段的相关性进行量化,以两组连续变量的单调性是否一致来衡量变量的相关度,对数据是否符合正态分布不做要求。Spearman相关系数的计算为

(10)

式中:n为样本数量,di为2个变量排序后成对的变量位置值之差。为减少字段量纲和数量级带来的影响,计算Spearman相关系数前先对字段进行标准化和log1p转换。对于取值分布接近正态分布的字段采用标准化处理:对于分布不近似正态分布则采用log1p转换,log1p转换可以保证原始数据x的有效性,保护了数据的多样性。标准化计算以及log1p计算为

x′=(x-xmin)/(xmax-xmin)x″=ln(x+1)。

(11)

式中:x为原数据,x′为标准化后的数据,x″为log1p转换后的数据。

逐一计算所有变量两两之间的Spearman相关系数值,得到的结果如图3所示。图中矩形框的颜色越深,则说明计算的两组变量的Spearman系数值越大,单调性越一致,如SOC与标签字段相关系数为1。由图3可知,电压字段(t_volt、max_cell_volt、min_cell_volt)、温度字段(max_temp、min_temp)不仅与标签相关性很强,而且其所在分组内部存在很强共线性:max_cell_volt和min_cell_volt之间的Spearman相关系数为1,max_temp和min_temp的相关系数为0.94,max_cell_volt和min_cell_volt、max_temp和min_temp之间分布规律类似,通过特征构造将分布类似且含义相关的字段进行处理可以得到方差更大的新特征字段。上述分析证明初步选择的9个特征的合理性,为后文基于上述特征利用改进符号回归算法构建新的数据特征提供了理论基础和数据支撑。

2.2 改进符号回归算法构建新特征

数据特征构建是通过从原数据中提取出与需要建模解决问题相关的信息进行分析,指导构建新数据特征,以达到对建模效果的改善作用[26-27]。根据纯电动车运行数据的字段特征与数据结构,基于车辆动力学以及动力电池等领域的先验知识进行物理含义相关的人工特征构建,再基于遗传程序设计理论开发的改进符号回归算法应用,进行纯电动车运行关键参数数据特征构建的研究,通过计算机自动生成大量特征并进行特征筛选。

图3 特征字段Spearman相关系数Fig. 3 Plot of Spearman correlation coefficients between features

人工构建字段是凭借人工先验知识对动力电池组相关的数据特征进行组合构建新特征。温度对电池组性能会产生重要影响,为了得到方差更大的温度相关字段构造单体温差特征:电池单体温差diff_temp;电池组的各个单体之间会存在电压上的差异,对单体最高电压和单体最低电压求差,构造一组波动较大的数据以放大电压字段蕴含的信息量,得到单体压差diff_volt;功率是描述物体做功快慢的物理量,能更直观地体现行驶中电池组放电情况。对电池组总电压和总电流求积,得到反映车辆行驶过程中做功变化的总功率t_power。

基于改进符号回归算法特征生成,首先需设计一组实现简单函数功能以及实现参数正态分布化boxcox变换运算的程序,输入经过预处理的原始数据集D={(x(1),y(1)),…,(x(i),y(i))}作为初始特征集;本文选择Spearman相关系数作为适应度规则并设置迭代终止条件;通过交叉、变异、复制等操作不断生成下一代程序,依照适应性规则对子代进行筛选,保留每一代中最合适的程序迭代直至满足终止条件,输出生成的新数据特征F={x′(1),x′(2),…,x′(3),…,x′(n)}。生成的新特征字段部分结果如表2所示。由表2可知,新生成的特征字段中存在特征共线现象,如F1与F4、F5、F6、F7。随着迭代次数的增加,与标签字段相关系数越大新特征在接下来的迭代适应度系数更大,生存的机会越高,如果增加迭代次数会导致生成的字段数量减少,降低了特征构造的意义[28]。为增加数据特征多样性,将迭代次数设置为3代,得到4组不共线的4组新特征字段,记为F0、F1、F2和F3。

表2 改进符号回归算法生成的新数据特征

保留表1中原数据的8组特征,结合构建的7组新数据特征,得到一个由15个特征字段和1个标签字段剩余续驶里程组成新的纯电动车运行数据集。

进一步筛选连续放电行驶片段组成数据集,经筛选得到8个连续放电行驶片段,本文以此8个片段作为数据集,开展基于模型的纯电动车剩余续驶里程预测研究。将该8个片段按时序从S0到S7进行排序编号,其中:S0到S5作为训练集,进行模型普通参数求解的过程;S6作为验证集,用于超参数调优;S7作为测试集,用来客观评价模型性能及检验预测效果。划分结果如图4所示。

图4 数据集划分结果Fig. 4 Data set segmentation result

3 模型构造及结果对比

构造XGBoost模型,使用新的数据集进行验证,具体步骤为:

步骤1 对数据进行预处理,筛选异常值、填充缺失值并构造剩余续驶里程字段。

步骤2 首先基于人工先验知识生成3个新特征,之后基于改进符号回归算法生成4组互不共线的新特征字段,最后整合成新的数据集并按照6∶1∶1的比例划分为训练集、验证集和测试集。

步骤3 初始化XGBoost算法模型,设定预期指标为相对绝对误差小于3%,先按照默认超参数(最大树深为6,学习率为0.3,子模型为100,L1正则项权重默认为0,L2正则项权重默认为1)进行训练初代模型,使用验证集计算该模型的各项评价指标,若指标达到预期则保存该模型并命名为最优参数模型,不达预期则按“高学习率确定树的数量→单棵树调优→正则参数调优→低学习率确定理想参数”的顺序重新调节超参数后重复训练及验证过程。

步骤4 基于最优参数模型预测剩余续驶里程,输出评价指标并与相关研究进行对比,验证改进符号回归算法和XGBoost算法的有效性。

为评估对剩余续驶里程的预测效果,本文采用相对绝对误差(relative absolute error,RAE)、均方根误差(root mean squard error,RMSE)以及平均绝对误差(mean absolute error,MAE)3个指标,从不同维度评估不同模型预测的车辆剩余续驶里程值与真实值的偏差情况。3个指标的具体定义为:

(12)

(13)

(14)

式中:h(xi)为当给定输入样本xi,模型输出的预测剩余续驶里程值;yi为样本xi相对应的真实剩余续驶里程;Mtotal为车辆标定的总续驶里程。

采用原始数据和维度扩充后的数据加工而成的验证集和测试集,基于XGBoost算法建立模型预测剩余续驶里程,其结果与真实剩余续驶里程之间的相对绝对误差RAE曲线如图5所示。利用构建的新特征对原数据进行维度扩充,预测结果的相对误差曲线总体是低于原数据建模预测结果的相对误差曲线,在测试集中维度扩充后的数据在40 min后RAE值就已经下降到2%,相比原数据提前了20 min,可以更快实现预测精度提升,且随着车辆行驶时间的增长,RAE值下降趋势更加明显。

基于XGBoost模型使用维度扩充后的新数据集预测结果的3项评价指标及相比使用原始数据集变化百分比如表3所示。利用维度扩充后数据集预测剩余续驶里程结果中,RAE指标降至4%以内,MAE值为2.28 km,RMSE值为3.24,相较于使用原始数据的预测结果,RAE最大值降低了4.90%,MAE和RMSE降幅均超过20%。与相关研究的预测结果进行对比,陈德海等[7]基于STM32-OCV法预测剩余续驶里程,RAE最大值为5.2%,且误差会随着时间增加而增加;Wang等[10]使用PSO-LSSVM方法,MAE为5.99%,误差均超过5%。上述结果说明基于改进符号回归算法构造新特征可以提高数据集质量,最终提高XGBoost模型的预测性能,能更准确地预测剩余续驶里程。

图5 原数据和基于XGBoost回归模型维度扩充后数据预测结果的相对误差曲线Fig. 5 Relative error curves of prediction results for original data and dimensionally expanded data

表3 预测评价指标对比

4 结论

本文提出基于改进符号回归算法进行特征构造,从原数据中自动生成高质量新数据特征,选择XGBoost算法进行纯电动车剩余续驶里程预测。结果表明,基于维度扩充后数据预测剩余续驶里程相对绝对误差下降了4.9%,预测值与真实值相比误差低于3.5%,说明提出的数据特征构建方法能改善建模所用的数据质量,有助于提升剩余续驶里程预测精度,可以为驾驶员提供更准确的剩余续驶里程参考值,缓解“续航焦虑”。后续工作中可以进一步使用多源数据,弥补对外部环境如天气、路况等动态数据研究的空缺,覆盖更多的车辆使用场景。

猜你喜欢
字段里程标签
纯电动汽车续驶里程影响因素
图书馆中文图书编目外包数据质量控制分析
农村公路总里程突破435万公里
无惧标签 Alfa Romeo Giulia 200HP
不害怕撕掉标签的人,都活出了真正的漂亮
腾势400 用在上海市区的来回穿梭克服里程焦虑
十八届六中全会:开启全面从严治党新里程
让衣柜摆脱“杂乱无章”的标签
科学家的标签
CNMARC304字段和314字段责任附注方式解析