一种基于Transformer的储能电池寿命预测算法
技术领域
本发明涉及储能电池健康度评估和预测领域,是一种基于Transformer的储能电池寿命预测 算法。
背景技术
随着科学技术的发展和传统化石能源的日益枯竭,以及越来越收到重视的环境问题,经济 型和环境友好型新能源收到越来越多的关注,各大高校、科研机构和新能源企业也投入了大 量的人力物力在新能源开发和可持续发展的研究上。能源安全和环境污染已成为制约经济发 展的因素,应运而生的化学电池储能技术的发展已成为新能源开发的一大趋势,储能技术的 开发和应用有助于分布式能源的接入和消纳,降低配套输电线路的需求和分时段负荷,从而 减少运行风险。随着化学电池储能技术的发展,电池的安全性和可利用率得到了进一步提高。 化学电池储能因自身的优势,不受地理环境的影响,慢慢的成为了各种设备的主要储能方式。
当前,化学储能电池的商用价值已处于快速高质量发展阶段,随着智能化电网的兴起,将 带动储能需求,越来越多的可再生能源和分布式能源将接入电网。化学储能电池中的锂离子 电池更是成为今年来的研究热点。化学储能电池作为动力来源,随着充放电次数以及持续使 用时间的增加,电池容量会不断衰减。电池作为典型的动态非线性电化学系统,在对其退化 状态识别和状态估计领域仍存在着巨大挑战。因此亟需能够动态、自学习以及优化的算法进 行电池健康度(SOH,state of health)的精确估算。
目前SOH普遍存在的一些预测算法包括开路电压法、内阻法、卡尔曼滤波等,但是这些算 法都有一些共同的问题,都需要在实验室完成预测,需要的是精准的soc和稳定的电流数据, 这就导致在实际工况下的储能设备数据很难应用,所以需要的算法是能够适应工况下的储能 设备数据的SOH预测。SOH应用如图1所示。
电池的健康度(SOH,State of Health),是指在一定条件下,电池使用一段时间后某些直接 可测或间接计算得到的性能参数的实际值与标称值的比值,用来判断电池健康状况。本专利 采用电池所能充入或放出电量与电池标称容量的百分比来表示电池的SOH,以百分比的形式 表现如下:
SOH—电池健康度指标,电池包放电容量占电池初始容量的百分比;
C—当前条件下,电池包以标准电流进行满充电后放电至截至电压所释放出来的容量;
Cnew—新电池包的容量。
新电池的SOH值一般大于100%的,随着电池的使用,电池在不断老化,SOH逐渐降低, 在IEEE标准1188-1996中有明确规定,当储能电池的容量能力下降到80%时,即SOH小于 80%时,就需要对电池进行更换。从应用方向看SOH是储能设备满电续驶里程、电池衰减监 控、电池质保、二手车评估、电池梯次利用等的重要参数。
发明内容
针对现有技术存在的不足,本发明提供一种基于Transformer的储能电池寿命预测算法。本 专利利用机器学习的方法对电池SOH的进行预测。从储能设备采集的长周期数据的情况下, 从储能电池的额定信息和状态监测数据(电压、电流、温度、SOC等)挖掘其中隐含的电池 健康状态信息及其演变规律,实现电池SOH预测。
本发明技术方案如下:
一种基于Transformer的储能电池寿命预测算法,具体包括以下步骤:
一、数据处理
1、数据准备
储能设备电池的数据包括储能设备的监控数据,实时监控数据每10/S采集一次,在储能 设备的不同整车状态中,如行驶、充电过程中都会产生。所述电池监控数据包括在正常使用 过程中电池自身数据以及汽车状态数据,合计超过200个数据变量。本次共计提供同一车型, 45个储能设备的历史1年半左右的数据作为SOH预测数据源。使用数据均是基于时间序列 的流式数据,包括进行机器学习相关的电流、电压、温度、剩余电量(SOC)等。相关的数据 内容如下表所示。
表1储能设备电池的监控数据表
序号 |
原始字段 |
描述 |
1 |
vin |
表示储能设备的唯一标识码 |
2 |
gb_collect_time |
时间戳,正常采集频率为10秒 |
3 |
gb_charging_status |
储能设备的工作模式,包括行驶、充电等 |
4 |
gb_soc |
电池的荷电状态,表示电池当前剩余容量 |
5 |
gb_mileage |
储能设备行驶累计里程 |
6 |
gb_pack_current |
电池包充放电电流的大小 |
7 |
gb_pack_volt |
电池包总电压 |
8 |
gb_cell_volt_group_value |
采集的1~n个电池电压值 |
9 |
gb_cell_temp_group_value |
采集的1~m个温度检测点的温度 |
表2相关数据说明
2、数据探索
(1)数据总量:45(储能设备)
(2)数据字段:字段符合要求(是指容量提取和建模过程需要的所有特征字段原始数据中都 存在)
(3)数据精度:除了SOC的精度偏低,其它的数据字段的精度都符合要求
具体精度要求如表3所示:
表3指标精度要求信息表
(4)数据质量:
1.时间数据质量良好,重复时间数据很少,10秒间隔基本稳定。
表4时间间隔对应质量评估区间表
时间间隔 |
<10秒 |
10秒 |
>10秒 |
质量评估 |
极好 |
良好 |
较差 |
2.充电数据质量介于良好、充电次数较多,且充电SOC跨度较大,对于提取容量进行SOH 转化很有帮助。
表5充电次数/运行天数对应质量评估区间表
注:运行天数(天数)
3.SOC数据质量较好,充电阶段SOC稳步上升,无SOC跳变的情况发生。
3、数据预处理
本次数据预处理主要是对原始数据字段中的一些异常值、空置和数值转换,还有单体电 压和测温点温度的提取转化等,具体如下:
①对数据进行去重,每个储能设备只要有完全重复的数据(/每条)多条,都只会保留其中一 条,其余条数据删除。
②时间戳异常值处理,主要针对年、月、日、时、分、秒设定各自的取值范围,比如月的取 值范围是1-12,日的取值范围是1-31等,超出范围的数据会整条被删除。
③单体电压和测温点温度的提取,因为原始数据中,单体电压和测温点温度都被保存在某一 个字符串列表中,这样在实际应用中会特别麻烦和耗时,所以将每个单体电压和测温点温度 都提取出来,各自作为单独的一列数据;最后将所有单体电压和测温点温度数据格式转化成 int16数据类型,这样会占用最小的内存空间。
④温度矫正,原始数据中的温度不是真实温度,需要减去40得到真实温度数据。
⑤充/放电电流矫正,原始数据中的充/放电电流不是真实的充/放电电流,需要除以10再减去 1000得到真实的充/放电电流数据。
⑥电池包总电压矫正,原始数据中总电压的数据不是真实的总电压,需要除以10得到真实的 总电压数据。
⑦在后续的通量提取等步骤中还会对累计里程等数据进行针对性的数据处理。
二、特征工程
1、充电片段提取
充电片段的提取主要用到的两个数据字段是gb_charging_status和gb_mileage。需求是把每次充电区分开,并且标记好每次充电的开始和结束位置,具体逻辑步骤如下:
1.1提取
(1)在原始数据中找到gb_charging_status==1的数据(充电数据集合)。
(2)对里程数据进行异常值剔除,删除里程数据大于1e7和小于0的数据(根据原始数据的 里程分布)。
(3)对里程数据做差,这样得到里程差的数据,但是第一条数据是nan(第一条数据前面没 有数据可做差),所以用0替换。
(4)考虑到每次充电间隔之间肯定有放电阶段里程会增加,而充电过程中储能设备都是未行 驶的,里程不变,所以提取出所以里程差大于1km的数据索引。
根据索引提取每次充电开始和结束的数据索引。
1.2筛选
(1)删除每个储能设备充电次数小于20次的储能设备数据(数据太少,对容量提取和转化 没有意义)
(2)删除每次充电SOC跨度小于30的充电数据(SOC跨度小,提取的容量偏差会增大)
2、容量提取
容量提取是本次算法开展的一个核心内容,算法的准确度与容量提取的准确度是一致性 的。本次的容量提取尝试了多种方案,最终选取效果最优的方案。
尝试方案如图2所示:
(1)从充电开始到充电结束的SOC区间内,采用安时积分法获得容量Q,然后用容量Q*100 /soc跨度,得到标准正态下的容量,此方案得到的容量Q序列离散程度比较大,不易拟合容 量衰减曲线。
(2)固定SOC区间,如固定20-80、30-70、40-100等,采用安时积分法获得容量Q,然后 用容量Q*100/soc跨度,得到标准正态下的容量,此方案得到的容量和方案一类似,离散程度很大,不易拟合容量衰减曲线。
考虑到可能是SOC本身的准确度就偏低,而且SOC的精度也偏低,所以以SOC作为标准去 提取容量偏差会比较大,所以考虑用总电压为标准去提取容量。
(3)固定总电压区间,尝试不同的区间,进行多次提取,发现在总电压370-380区间内提取 的标准化容量最准确(安时积分提取容量Q,Q/3600*100/(380-370)得到标准化容量), 对于具体原因,考虑可能是此区间内充电比较稳定,为了验证,对充电片段进行电流的变化 曲线绘制,发现确实电流在此区间内的变化很稳定,验证了此电压区间的合理性。
对于不同的尝试方案,列举一个储能设备的容量提取的可视化情况,可以发现固定电压区间 提取的容量明显优于原始提取容量和固定SOC区间提取的容量,具体可视化如图2所示: 图3是其中两个储能设备提取的标准化容量曲线。从图3中可以看出,容量是在下降的,但 是存在很多异常数据值,需要进一步处理
3、容量转换
提取的容量存在比较多的异常数据值,需要先进行去噪操作,主要步骤如下:
(1)采用分位数对容去噪,将数据值分布大于0.95分位数和小于0.05分位数的数据点删除。
(2)对容量进行精细度的去噪,每20个连续的数据值进行去噪,将数据值分布大于0.9分 位数和小于0.1分位数的数据点删掉
(3)滑动平均,对容量序列进行滑动平均,滑动窗口大小设置为容量数据长度的1/3。
(4)容量转化SOH,对容量数据进行转化,考虑到一般储能设备在SOH>80期间,容量衰 减近似线性衰减,所以将容量数据的头和尾进行等差数列,数列长度对应每个储能设备的充 电次数(用于后期特征提取和建模)。
容量转化的整体步骤,如图4所示(列举一个储能设备的转化过程):
4、特征提取
特征的提取是为了和目标变量(SOH)一一对应,因此需要每次充电都提取对应的特征 变量。
最终提取的目标变量包括如下:日历天数(单变量)、累计里程(单变量)、充电次数(单 变量)、循环次数(单变量)、深度充放电次数(多变量)。
具体提取逻辑如下:
(1)日历天数,每次充电的日期数据减去第一次充电的日期数据。
(2)累计里程,每次充电从数据中直接获取的里程数据。
(3)充电次数,每次充电累加一。
(4)循环次数,每次充电累加起始结束SOC-起始SOC的值,每当累加值达到100,就累 加一次循环次数;也就是说循环次数等于累计SOC跨度整除100得到的值。
(5)深度充放电次数,此变量是多变量的表现形式,包括深度充电次数和深度放电次数,深 度充电记作每次充电结束SOC>90累加一,深度放电记作每次放电结束的SOC<10累加一。
提取完每个储能设备的特征变量后,和这个储能设备对应的目标变量合并成完成的训练 数据集,具体如图5所示(列举一个储能设备的数据):
附图说明
图1是SOH的应用
图2是原始提取、固定区间提取、固定电压区间提取可视化图
图3是两个储能设备提取的标准化容量曲线图
图4是容量转化过程图
图5是单储能设备训练数据
图6是训练级和验证集上的MSE表现对比
图7是训练级和验证集上的R2表现对比
图8是各特征模型MAC分布图
图9是各特征R2-score分布图
图10是模型结构图
图11是训练过程损失变化图
图12是测试集验证结果(原始数据和预测结果对比)
图13是测试集验证结果(每5个数据点进行一次)
图14是45个储能设备的测试MAE结果分布
图15是1-16个储能设备的真实和预测结果对比图
图16是17-36个储能设备的真实和预测结果对比
图17是37-45个储能设备的真实和预测结果对比
图18是45个储能设备的预测结果
图19是本发明的流程图
具体实施方式
一种基于Transformer的储能电池寿命预测算法,如图1-19所示,
一、建模
SOH的建模分为两个部分,第一部分是预测当前SOH的建模,第二部分是预测未来SOH的 建模流程。
1、当前SOH建模
当前SOH提取的特征包括日历天数、累计里程、充电次数、这些特征都是单变量特征,深度 充放电是双变量特征。所以可以直接采用线性回归去直接拟合。
1.1评价指标
每个特征变量拟合的绝对误差mae和决定系数r2,其中mae是指预测值和实际值的误差 绝对值,r2则指的是特征拟合程度,取值范围是0-1,拟合程度越好,值越接近1,为1时, 说明全部预测值都等于实际值(这是理想状态,现实中几乎不可能),r2的引出主要是解决量 纲不同意问题,只通过mae不能够很直观说明这个模型的好坏。
若y
i表示真实的观测值,y
2表示真实观测值的平均值,
表示预测值
1.2建模流程
1.2.1数据集划分
数据集是提取的特征变量和目标变量的组合,对数据集进行7:3的训练集和测试集的划 分比列划分,测试集的目的是为了验证模型的泛化能力,如果模型在测试集上的表现结果和 训练集差别不大,那么说明模型泛化能力好,否则模型泛化能力差。
1.2.2模型搭建
模型选用线性回归LinearRegression,对于每个特征变量都对应相同的目标变量,每个特 征训练一个模型。模型的输入特征变量和目标变量,因为LinearRegression的数据输入格式必 须是二维,所以需要对原始数据(一维)进行转化,最终训练的到5个特征模型,继而进行 测试集的验证,验证模型的泛化能力,验证指标包括mae和r2。
1.2.3模型验证结果
训练的到的5个特征模型在测试集上的表现如图6-9所示:
表6:各特征mae与r2值数据表
feature |
day |
mile |
charge |
circle |
o_u_c |
fusion |
mae |
0.380 |
0.550 |
0.370 |
0.379 |
0.371 |
0.321 |
r2 |
0.852 |
0.766 |
0.882 |
0.880 |
0.875 |
0.902 |
据表6中数据分析可得:各个特征的mae基本差距不大,mile的mae相对偏高;各个特 征的r2也普遍较高,mile的r2相对偏低;从模型融合后的效果来看,mae和r2的效果都得到了一定的提升,并且r2达到了0.9以上,这是r2很高的一个数值。
注:模型融合在此处是指day、mile、charge、circle、o_u_c五个模型预测结果相加后取均值 的做法,因为SOH的变化是受这些特征的共同影响,所以模型融合是必然的,从mae和r2 的结果上看,也验证了这一说法。
2、未来SOH建模
未来SOH预测主要是对近期(三个月)司机驾驶行为的分析,预测未来司机的驾驶习惯, 进而预测未来SOH的变化趋势,其实司机的驾驶行为的体现就是里程、充电次数、循环次数、 深度充放电,而这些特征又是SOH的直接影响因素,因此SOH可以代替司机的驾驶行为, 司机在三个月内疯狂驾驶,SOH下降会变快,相反司机如果这段时间很少驾驶,那么SOH 下降会变慢。
2.1 SOH序列处理
本次采用的方法是用LSTM对SOH时间序列进行预测,因为原始的SOH序列的时间序列并不是整齐的(因为是根据充电提取的特征和SOH,所以每条数据之间间隔的天数不同),所以对原始SOH序列进行处理,具体如下:
(1)SOH的时间序列祖做差,获得时间差序列。
(2)对SOH进行填充,填充规则根据时间差序列,填充到每天一个SOH数据(LSTM的建 模训练需要日期间隔相等)。
(3)对SOH序列进行规则提取,按照每7天提取一条SOH数据,原因是如果每天一条SOH 数据,SOH的变化非常的小,不利于模型训练。
(4)对新的SOH序列做差,原因是原始SOH序列都是偏大的数值,做差过后数值量纲变得 很小,有利于减小模型误差。
2.2建模流程
2.2.1数据集划分
(1)对新的SOH序列进行训练数据集划分,每前三个月SOH序列作为训特征数据,接下来 的三个月末的SOH数值作为标签数据;按照时间滑动窗口对每个储能设备的SOH序列进行 提取特征数据和对应的标签数据。
(2)对所有数据集进行划分。先对数据集进行随机打乱,再将数据集集按照7:2:1的比列 划分成训练集、验证集和测试集,训练集用于训练模型,验证集用于找到最优参数组合,测 试集用于测试模型的效果和泛化能力。
2.2.2模型搭建
(1)参数设置,buffer_size=1000,batch_size=128;其中buffer_size主要用于数据随机打乱 的缓冲区大小,batch_size是指每一步训练取出的数据个数。
(2)数据集转化,将所有数据集从numpy转化成tensorflow的数据格式,有利于tensorflow 训练。
(3)模型搭建,本次用了LSTM+传统神经网络搭配的方式,两层LSTM层和一层Dense层, 其中神经元的个数都是16个;优化器采用的是RMSprop,学习率是0.0001,损失函数是mae。
(4)模型结果可视化如图10所示;
模型的输入是(None,13,16),其中,None是batch_size,因为模型、还没有训练,所有未知,13是指时间维度13周,16是指神经元个数16个。而输出则是(None,1),因为输 出的是后三个月末的一个值。
(5)模型训练,本次训练模型采用1000次迭代,其中设置了早停止的机制,防止过度拟合, 每当20次迭代损失没有降低,则停止训练,最终在达到124次迭代后,训练完成,训练过程 中的训练集、验证集损失变化情况如图11(其中还包含了最后的测试集测试结果):
(6)测试集验证可视化
测试集的原始数据和预测数据的对比可视化如图12所示:
由于测试集数据偏多,可视化效果并不直观,所以采用每5个数据点进行一次对比的方式进 行可视化,具体如图13所示:
二、模型测试
模型测试按照储能设备维度进行测试,对每个储能设备的采用时间窗口滑动提取数据测 试,具体结果如图14-17所示。
测试结论:
以数据验证数据的方案,对于45个储能设备SOH预测值和真实值之间的误差,最大误 差是0.38,最小误差是0.04,平均误差是0.19。SOH的理想预测效果是误差<=3,所以目前 的预测误差已经非常的低,这也能说明所选特征和SOH之间的相关性很大,拟合效果很好, 所以可以很好的描述SOH的变化情况。
三、预测结果
模型的数据源来自45个储能设备的数据,对于这45个储能设备的SOH预测情况如下, 预测时间是储能设备数据最后时期的后三个月末,也就是预测2021年1月28号左右的SOH, 具体预测结果如表7所示。
表7:SOH预测结果数据表
vin |
00001 |
00002 |
00003 |
00004 |
00005 |
00006 |
00007 |
00008 |
00009 |
SOH |
94.89 |
95.53 |
96.30 |
95.80 |
95.89 |
96.52 |
95.37 |
96.08 |
94.65 |
vin |
00010 |
00011 |
00012 |
00013 |
00014 |
00015 |
00016 |
00017 |
00018 |
SOH |
96.67 |
95.00 |
95.17 |
95.50 |
95.02 |
96.41 |
95.19 |
96.53 |
95.05 |
vin |
00019 |
00020 |
00021 |
00022 |
00023 |
00024 |
00025 |
00026 |
00027 |
SOH |
95.85 |
96.43 |
94.90 |
95.33 |
95.64 |
94.92 |
95.07 |
95.17 |
96.00 |
vin |
00028 |
00029 |
00030 |
00031 |
00032 |
00033 |
00034 |
00035 |
00036 |
SOH |
95.07 |
96.00 |
96.63 |
95.25 |
96.60 |
94.66 |
96.07 |
95.13 |
95.51 |
vin |
00037 |
00038 |
00039 |
00040 |
00041 |
00042 |
00043 |
00044 |
00045 |
SOH |
95.58 |
96.29 |
95.99 |
94.90 |
93.92 |
95.91 |
94.76 |
95.04 |
96.00 |
可视化结果如图18所示。
以上所述的实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行 限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案做出的 各种变形和改进,均应落入本发明权利要求书确定的保护范围内。