一种锂电池SOH 估计的KNN–马尔科夫修正策略
2021-04-18赵光财林名强戴厚德武骥汪玉洁
赵光财 林名强 戴厚德 武骥 汪玉洁
电池管理系统(Battery management system,BMS)是电动汽车的重要组成部分,在电动汽车电池组的状态监测、保护和电量均衡等方面起到举足轻重的作用[1−2].电池健康状态(State of health,SOH)作为电池系统的关键参数之一,其变化直接影响电池组的使用性能、可靠性及安全性.由于锂离子电池具有能量密度高、稳定性好、使用寿命长等优点,已经被许多可再生能源系统用作能量存储设备.但其复杂的内部电化学结构、不确定的外部工作环境等因素使得电池的衰退过程极为复杂,即使同一规格型号的电池其衰退过程也不尽相同,这导致锂电池SOH的准确估计变得十分困难[3].因此,快速、精确地实现锂电池SOH估计一直是一个重要的研究课题.
电池的SOH表示当前电池的最大可用容量占额定容量的百分比,用来度量电池的退化程度.锂电池SOH随着使用会慢慢减小,当SOH降低至额定容量的70%时,即认为锂电池寿命终止.SOH的定义如下:
上式中:Ccurrent表示锂电池当前最大可用容量;Cinitial表示锂电池的额定容量,通常指出厂时的标称容量[4].
目前已有许多专家学者采用多种不同方法对锂电池的SOH进行估计.Galeotti等[5]采用电化学阻抗谱研究锂聚合物(LiPO)电池的老化,通过拟合阻抗谱提取等效电路模型的参数再现电池放电曲线并引入电池欧姆电阻与可用容量的关系,借助证据理论评估电池的SOH.Chen 等[6]基于扩散电容与SOH的相关性,采用遗传算法以实时采集的电流和电压来估计包括扩散电容在内的电池模型参数进而估计锂电池SOH.Mejdoubi等[7]提出混合估计电池荷电状态(State of charge,SOC)和SOH的思路,使用自适应观察器估计SOC的同时使用扩展卡尔曼滤波器(Extended Kalman flter,EKF)估计SOH,采用闭环估计策略同时结合李雅普诺夫原理保证稳定性.Liu等[8]将基于数据驱动的高斯过程回归(Gaussian process regression,GPR)方法应用于SOH估计,采用改进的组合高斯过程泛函回归(Gaussian process functional regression,GPFR)模型实现了较好的SOH预测.Moura 等[9]提出了一种的基于电化学模型的自适应偏微分方程观测器来估计SOH的方法,其通过测量电压和电流来估计该模型的参数.Ng 等[10]认为安时积分法对于具有高充电和高放电效率的锂电池的SOC估计是有利的.他们提出了一种基于库伦计数的方法来提高估计精度,并利用SOC来估计SOH.Lievre等[11]利用电池电阻来量化SOH退化情况,通过电池组响应的电压和电流数据利用电池模型获得电池电阻,进而估计电池的SOH.EKF被Plett[12]引入到电池组的SOH预测中,通过电池组建模和系统参数识别,继而用EKF估计SOC,最终估算出SOH.值得一提的是,卡尔曼滤波及其衍生算法在电池SOC、SOH估计中应用十分广泛.
上述方法在预测SOH方面取得了很大的成功,但在实际应用中也存在部分不足之处.基于电化学阻抗谱的SOH预测需要复杂设备测量电池阻抗谱,内阻法、化学模型法、安时积分法在预测精度上略显不足,卡尔曼滤波法在当跟踪目标长时间被遮挡时会导致目标跟踪丢失.目前很多基于机器学习的方法被用于锂电池SOH估计.Wu等[13−14]将重要性采样、数据分组处理方法(Group method of data handling,GMDH)等应用于充放电数据采样和锂电池SOH估计,取得了良好的预测效果.Klass等[15]利用电池充放电过程中的电池电流、电压和温度等参数建立基于支持向量机的电池模型,并用其对电池剩余使用寿命和瞬时电阻的估计进行预测.循环神经网络(Recurrent neural network,RNN)被Eddahech 等[16]引入到锂电池SOH估计中,该方法基于等效电路方法的模型,使用RNN来预测电池性能的退化.Lin 等[17]使用概率神经网络(Probabilistic neural network,PNN)估计锂电池的SOH,将放电时瞬时电压降以及开路电压作为SOH估计最重要的参数,该方法能实现较高精度的SOH预测.以上方法均可实现较好的预测效果,但SOH估计本质是回归问题,PNN更适合用在模式分类,用于SOH 估计需要大量训练样本.RNN能够学习SOH随循环次数衰退的长期依赖,但在短期预测精度上可进一步提高.
本文将马尔科夫链引入锂电池SOH 估计中并改进为KNN–马尔科夫修正策略以提升对锂电池SOH的预测效果,该修正策略可有效减小随机扰动误差,增强模型的短期预测能力.此外,采用的贝叶斯正则化神经网络(Bayesian regularized neural network,BRNN)具有复杂度较低,同时具有良好的泛化性能.为结合两者优势,本文建立了贝叶斯正则化神经网络结合KNN–马尔科夫修正策略的组合模型实现锂电池SOH的估计,有效提高了SOH估计的准确性与鲁棒性.
本文结构如下,第1节介绍预测方法原理包括贝叶斯正则化网络和马尔科夫链.第2节介绍所做的工作包括预测模型的建立、特征提取以及KNN–马尔科夫修正策略.第3节介绍实验结果,验证KNN–马尔科夫策略的有效性及所提出预测模型的准确性.第4节是本文得出的结论.
1 预测方法原理
1.1 贝叶斯正则化神经网络
该神经网络为基于误差反向传播算法的多层前馈神经网络,其网络结构如图1[18]所示,包括输入层、隐藏层和输出层三层[19].设神经网络的训练样本D(xi,ti),i={1,2,···,n},n为训练样本数,W为网络参数向量,M为网络模型,f为Sigmoid激活函数,表达式为t为网络训练目标值,神经网络的性能函数定义为均方差形式:
采用梯度下降法调整网络权重ωhj=ωhj−∆ωhj,其中∆ωhj=ωhj为第h层的第i个权值,η为网络学习率.
图1 多层前馈神经网络结构示意图Fig.1 Structure of multilayer feedforward neural network
为防止神经网络训练过程中出现网络过拟合现象,采用正则化算法优化网络结构,以提高其泛化能力[20].正则化方法对网络性能函数加入正则项EW:
上式中ω为网络权值,m为网络参数总数,目标函数于是变为F(W)=βJW+αEW[21],即:
α和β为正则化系数,β侧重于减小训练误差,α侧重于减小权值规模,贝叶斯正则化算法在两者之间寻求平衡,贝叶斯正则化神经网络训练的训练过程即寻找最优化的参数使得该目标函数最小化.
假定数据集和初始网络权值均服从高斯分布,由贝叶斯准则求解最大后验概率,即极小化网络训练目标函数,得到使目标函数最小的WMP处的α和β[22]:
其中神经网络的有效参数个数为γ=m−2αMP(tr(H−1)),m是神经网络的参数数量,H是目标函数在WMP处的Hessian矩阵α∇2EW+β∇2JW.
首先确定神经网络结构,由于采用正则化算法,隐藏层神经元数量可稍大于最优的隐藏层神经元数量,同时初始化超参数α和β,利用式(5)不断估计参数α和β的新值;计算H矩阵及有效参数个数γ,γ为网络中起减少误差作用参数数量,如果γ接近于m时需适当增加隐藏层神经元个数.在总误差迭代过程中,当总误差没有较大改变时,网络训练收敛.
1.2 马尔科夫链
马尔科夫过程描述了一个具有若干个状态的系统,其每个状态都可以根据固定转移概率传递给另一个状态.马尔科夫链可以看作是某些概率的状态转换过程,一个随机过程过渡到未来过程的概率只取决于当前的状态[23−24].一步转移概率矩阵和m步转移概率矩阵P1和Pm分别为:
2 预测模型的建立
2.1 预测模型的建立流程
基于锂电池衰减过程复杂的非线性特征,本文采用了数据驱动的思路,对传感器获取的电池充电过程中的电压数据进行特征提取,提取具有鲁棒性及多样性的8个特征用于SOH 估计,这些特征能准确估计电池SOH.为保证SOH估计具有较高的准确度,采用贝叶斯正则化神经网络进行SOH 估计,该网络能够防止训练过程的过拟合,具有良好的泛化能力,提高SOH估计准确度.同时从训练数据中学习SOH估计误差的统计特性并用于预测SOH 估计误差,采用KNN算法对误差值进行预处理,划分状态空间并计算状态转移矩阵,使用马尔科夫链得到预测SOH的经验估计误差,并对神经网络SOH预测值进行误差修正得到最终SOH估计值.预测模型如图2所示.
2.2 特征提取
本文采用的实验数据来自NASA 公开数据集[25]中的一组锂电池(#5、#6、#7),该组电池在室温25℃下循环进行充电、放电和阻抗测试.首先在恒流(Constant current,CC)模式下以1.5 A电流充电,直到电池电压达到4.2 V.然后继续保持恒压充电(Constant voltage,CV)模式,直到电荷电流降至20 mA,充电过程中电压、电流及SOC变化曲线如图3(a)所示.本文使用电压数据并结合SOC增量进行特征提取,基于不同SOH电池充电电压随时间变化具有的规律性(图3(b))提取特征用作SOH估计.
首先对传感器信息进行数据预处理,根据循环次数对数据进行分组并剔除无效值.然后利用统计方法提取该组电池恒流充电过程的电压信号特征,主要包括电压均值和电压增量累积以及其dSOC/dV特性三个方面.
电压的均值反映了电压直流分量的大小,用来刻画电压幅值的大小.设电池管理系统采集到的离散电压信号表示为,则电压均值为[26]:
其次,电压增量累积反映SOH变化时电压的波动大小.设M为电压信号的增量累积,则电压增量累积公式为[26]:
再次,从电池衰退的物理容量降低的客观实际出发,即相同电压的所容纳的电量在电池衰退过程中变化明显,故dSOC/dV可作为电池退化特征.图3(c)为不同充电循环次数下dSOC/dV曲线变化曲线[27],在SOH差异最明显的Peak1、Peak2处各取两个dSOC/dV值作为神经网络输入的电池退化特征.为综合考虑特征多样性及预测的准确性,采用如图3(d)所示组合特征作为BRNN的训练输入.
2.3 KNN–马尔科夫修正策略
神经网络对锂电池的SOH进行预测得到的非线性模型存在局部偏差过大,部分区域拟合效果不佳的缺点,因此本实验采用了KNN–马尔科夫方法对神经网络模型预测的SOH进行必要的修正,从而整体上减小模型的预测误差,提高模型的短期预测精度.
2.3.1 KNN误差处理
假定估计误差分布为一维高斯分布,由于随机性或者数据误差产生远离其他样本点的野点,不能准确反映误差区间及分布的真实情况,如果直接从训练数据中划分马尔科夫状态将会对误差区间估计造成偏差.对于这种情况,本文采用一个基于K近邻思路来对数据进行预处理.该方法从误差数据中心取一点开始计算,计算该点与k个近邻点的距离的之和以及其相邻点的k个近邻的距离之和,KNN的距离计算公式为[28]:
图2 预测模型流程图Fig.2 Flowchart of the proposed prediction model
图3 特征提取Fig.3 Feature extraction
其中,X、Y为两个点,如果相邻两误差点KNN距离之和的比值大于某一阈值则相应调整这两个误差点中远离数据中心点的数据使得该点像数据中心靠拢使其满足条件,其公式为:
2.3.2 马尔科夫修正
基于KNN对误差数据处理,采用马尔科夫链对神经网络预测结果进行误差修正.根据训练数据误差分布划分马尔科夫链预测的状态空间[29],本文将状态转换划分为三个状态区间,分别为S1[0,其中s为训练数据的标准差,在划分马尔科夫链状态空间前需用式(12)将数据归一化到[0,1]之间.
对神经网络的误差序列进行预测修正.设残差所处状态为α(t),如当a<α(t)
其中,F为修正后的预测值;Fg值为贝叶斯正则化神经网络的预测值;P0为1×3维初始状态矩阵;Pm为3×3维m步状态转移矩阵;Q指3×1维状态误差矩阵.
3 实验结果及分析
3.1 验证KNN–马尔科夫修正策略
我们通过使用KNN–马尔科夫修正前后预测值对实测值的拟合程度对比对该修正策略进行实验验证,以检验该修正策略的有效性.
实验中随机选取164次充放电电压电流特征数据的85%作为训练数据,15%作为测试数据,SOH真实值作为网络训练目标.采用平均绝对误差(Mean absolute error,MAE)和均方误差(Mean square error,MSE)来评估算法SOH估计准确度,MAE反映总体预测误差的大小,MSE用来反映预测值对于真实SOH的偏离程度,MAE和MSE 分别定义为:
划分状态空间前使用KNN算法对偏离误差分布的孤立点进行调整,选取阈值λ=3,从数据中心点开始,向数据两端分别进行调整,调整的结果是该假定的一维高斯分布的内部误差数值发生不发生变化或微小变化,仅分布边缘处的由于误差或偶然性出现的过大或过小数据向数据中心调整,通过调整可以使学习到的误差状态空间更接近真实情况.
由上文状态划分公式计算得一个马尔科夫状态集,由数据计算得到S1[0,0.32375],S2[0.32375,0.46865],S3[0.46865,1],由公式x=xmin+· (xmax−xmin) 反归一化得到相对误差序列的三个状态分别为S1[−3.236,−1.110],S2[−1.110,−0.114],S3[−0.114,−3.539].并按此划分规则将各个预测误差划分为相应的马尔科夫状态,如表1所示.
根据状态空间划分,计算得到状态转移矩阵,并对BRNN 预测值进行修正.状态转移矩阵见式(15),BRNN预测值及马尔科夫修正后误差见表2.
表1 BRNN预测值相对误差及状态划分Table 1 BRNN prediction error and state division
表2 BRNN预测误差及马尔科夫修正误差Table 2 BRNN prediction and Markov correction error
图4 马尔科夫修正过程修正前后结果对比Fig.4 Comparative results of BRNN and Markov correction
由图4的(a)、(c)、(e)可以看出,5#、6#、7#电池马尔科夫修正后的更加接近实测值,局部放大图显示组合模型预测准确度好于修正前,验证了马尔科夫修正的有效性.图4的(b)、(d)、(f)为5#、6#、7#电池修正前后的误差对比,从中可以看出马尔科夫修正后绝大部分误差明显减小,修正误差效果明显.
如表3所示,马尔科夫修正方法在5、6、7 号的电池上验证均提高了BRNN预测精度,其中5、6、7 号电池的MAE 分别降低了25.5%、17.3%、15.9%,MSE 分别降低了26.5%、22.5%、21.8%.实验结果表明,本文提出的KNN–马尔科夫修正方法能够获得更加精确和鲁棒的估计结果.
表3 KNN–马尔科夫修正结果Table 3 KNN-Markov correction results
3.2 验证组合模型先进性
为检验KNN–马尔科夫修正策略与BRNN的组合预测模型(MC-BRNN)的准确度,与集中较为先进的预测方法进行对比,包括GMDH、PNN、RNN,采用的算法参数如下:
BRNN:隐藏层神经元数量为25个,学习率为0.1.
GMDH:最大隐藏层数为4,单层最大神经元个数为20.
PNN:包括输入层、模式层、竞争层、输出层,平滑系数为0.1.
RNN:单层LSTM-RNN结构,隐藏层神经元数量为70.
由表4可知,与GMDH、PNN、RNN相比,MC-BRNN能够使得预测结果的MSE 和MAE平均分别降低约45.8%、70.3%、79.3%和33.3%、48.7%、53.1%.通过该实验结果对比可以得出,组合模型用到的BRNN 能够避免数据的过拟合现象,精度较高.
对各算法的训练时间在CPU为i5-3210M(2.5 GHz),4 GB RAM的计算机上进行统计,得到各算法运行时间如表5所示.
从表5中可以看出,PNN训练时间最短,GMDH和MC-BRNN 训练时间差别不大,RNN的训练时间较长.由于SOH变化缓慢,对算法的实时性要求不高,同时结合表3和表4可以看出,BRNN预测SOH的准确度较高,并可以通过设置较大迭代次数以增加训练时间为代价来实现最佳的预测,提高估计的准确度.因此采用MC-BRNN在估计SOH方面具有更好的效果.
图5的(a)、(c)、(e)的局部放大图显示MCBRNN与GMDH、PNN、RNN相比在SOH估计精度方面具有较为明显的优势,对真实值的拟合度更高.图5的(b)、(d)、(f)曲线所示,5#、7#电池的MC-BRNN预测的最大预测误差为3%左右,6#电池的最大预测误差小于2.5%,误差大部分集中分布在±1%的范围内.综合以上可知,MCBRNN组合预测模型相对于GMDH、PNN、RNN对锂电池SOH的预测性能更好.
表4 各算法准确度对比Table 4 Comparison of accuracy of each algorithm
表5 各算法的时间复杂度对比(s)Table 5 Comparison of time complexity of each algorithm (s)
图5 MC-BRNN、GMDH、PNN、RNN预测结果对比Fig.5 Comparative results of MC-BRNN,GMDH,PNN and RNN
4 结论
本文建立了基于贝叶斯正则化神经网络与KNN–马尔科夫链的组合预测模型,该模型结合了贝叶斯正则化算法在能够有效避免过拟合的优点与KNN–马尔科夫修正方法在系统短时预测方面的优势,对锂电池SOH具有较好的预测效果.同时,该组合预测模型对锂电池SOH 的平均预测误差小于1%,能准确估计SOH.KNN–马尔科夫链修正方法可显著提高神经网络的估计精度,该修正方法基于SOH退化的客观规律性,可提高神经网络15%∼30%的估计精度,该方法也为其他SOH 估计方法提供了一种误差修正思路.最后,本文将组合模型与GMDH、PNN、RNN进行了对比实验,经实验验证,该组合模型的预测精度相比以上两种方法分别提高了33.3%、57.2%和53.1%,同时具有良好的鲁棒性.