[发明专利]一种基于改进CSO-LSTM网络的锂离子电池寿命预测方法及装置有效
申请号: | 202210406592.1 | 申请日: | 2022-04-18 |
公开(公告)号: | CN114791571B | 公开(公告)日: | 2023-03-24 |
发明(设计)人: | 周欣欣;高志蕊;李心月;王相雨;黄宇宁;李茂源;薛青常;孟炫宇;郭月晨;衣雪婷 | 申请(专利权)人: | 东北电力大学 |
主分类号: | G01R31/392 | 分类号: | G01R31/392;G01R31/367;G06N3/042;G06N3/098 |
代理公司: | 北京锺维联合知识产权代理有限公司 11579 | 代理人: | 郝姗姗 |
地址: | 132012 吉*** | 国省代码: | 吉林;22 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 改进 cso lstm 网络 锂离子电池 寿命 预测 方法 装置 | ||
1.一种基于改进CSO-LSTM网络的锂离子电池寿命预测方法,其特征在于,包括以下步骤:
步骤1000:获取锂离子电池数据,形成第一数据集;
步骤2000:采用集合经验模态分解方法对所述第一数据集的锂离子电池数据进行数据预处理,形成第二数据集,进一步包括步骤2100至步骤2600:
步骤2100:初始化参数,设定外加噪声次数N,高斯白噪声强度α;
步骤2200:根据公式(1)将服从高斯分布[0,δ]的白噪声ni(t)添加到步骤1000所述的第一数据集中的每个数据参数序列x(t)中,构成新数据序列xi(t),根据公式(2)计算原数据序列的标准差,得到高斯分布的白噪声所用的方差δ;
xi(t)=x(t)+ni(t) (1)
δ=std[x(t)] (2)
其中,xi(t)是添加高斯白噪声后构成的新数据序列,ni(t)是第i次添加的高斯白噪声,x(t)是原数据序列,i=1,2,...,N,N是所添加的噪声次数,δ是高斯分布所用方差;
步骤2300:采用经验模态方法对所述新数据序列xi(t)进行分解,进一步包括步骤2310至步骤2340:
步骤2310:将所述新数据序列中的每个参量数据的变化趋势看作是一种信号,记为H(t),将数据变化曲线中的全部极大值点连成线,得到上包络线记为A1(t),将数据变化曲线中的全部极小值点连成线,得到下包络线记为B1(t);根据公式(3),采用三次样条插值法计算出上下包络线A1(t)和B1(t)的均值曲线,记为S1(t);
其中,A1(t)是新数据序列的全部极大值点所构成的上包络线,B1(t)是新数据序列的全部极小值点所构成的下包络线,S1(t)是上下包络线的均值曲线;
步骤2320:根据公式(4),将新数据序列的变化趋势H(t)与均值曲线S1(t)作差,得到M1(t);判断M1(t)是否满足本征模态分量的要求,如满足要求,将其保存下来,记为IMF1(t);否则,跳转至步骤2310,直到满足本征模态分量的要求;
M1(t)=H(t)-S1(t) (4)
其中,H(t)是新数据序列中的每个参量数据的变化趋势,S1(t)是上下包络线的均值曲线,M1(t)是数据的变化趋势H(t)与均值曲线S1(t)的差值;
步骤2330:从数据变化趋势H(t)减去步骤2320所述的本征模态分量IMF1(t),根据公式(5),得到新的H1(t),并将新H1(t)作为新数据变化趋势,跳转到步骤2310顺序执行,直到得到满足本征模态分量的要求的第二个IMF2(t),并将其与H1(t)进行相减,得到H2(t),如公式(6)所示;
H1(t)=H(t)-IMF1(t) (5)
H2(t)=H1(t)-IMF2(t) (6)
其中,H(t)是锂离子电池数据集中的每个参量数据的变化趋势,H1(t)是前一时刻的数据变化趋势H(t)与本征模态分量IMF1(t)作差所得到的新数据变化趋势,IMF1(t)是得到的第一个本征模态分量,IMF2(t)是得到的第二个本征模态分量;H2(t)是前一时刻的数据变化趋势H1(t)与本征模态分量IMF2(t)作差所得到新数据的变化趋势;
步骤2340:通过不断重复步骤2310到步骤2330,最终得到n个Hn(t)、IMFn(t)和一个残差剩余项C(t),最终数据变化趋势可以表示为n个IMFn(t)和一个残差剩余项C(t)之和,如公式(7)所示;IMFn(t)分量按照频率高低进行排序;
其中,IMFi(t)是第i个本征模态分量,C(t)是残差剩余项,H(t)是原始数据变化趋势;n是最终经验模态运行次数,Hn(t)是每次得到的新数据变化趋势;
步骤2400:通过所述步骤2300,最终获得一组本征模态分量IMF,如公式(8)所示;
其中,ri(t)为分解提取n个IMF后的数据残差分量;ci,k(t)是经验模态对xi(t)进行分解得到的第k个模态分量,k=1,2,...,K,i=1,2,...,N,N是算法迭代次数,IMF是本征模态分量;K为本征模态分量的个数;
步骤2500:重复步骤2200与步骤2400共N次,得到包含本征模态分量IMF和残差分量的以下模态集合,如公式(9)所示;
[{c1,1(t)},{c1,2(t)},...,{c1,K(t)},...,{cN,1(t)},{cN,2(t)},...,{cN,K(t)}](9)
其中,cN,k(t)是经验模态对xi(t)进行分解得到的第k个模态分量,K为本征模态分量的个数;N是算法迭代次数;
步骤2600:为减少噪声影响,根据公式(10)平均处理各次分解所得到的本征模态分量IMF,最终得到模态分量;
其中,ck(t)为第t次循环得到的模态分量,ci,k(t)是经验模态对xi(t)进行分解得到的第k个模态分量,k=1,2,...,K,i=1,2,...,N,N为循环次数;K为本征模态分量的个数;
步骤3000:采用归一化方法对所述第二数据集中的数据进行归一化处理,形成第三数据集,并将所述第三数据集划分为训练集和测试集;
采用公式(11)进行数据归一化处理;
其中,MaxValue表示锂离子电池数据的最大值;MinValue表示锂离子电池数据的最小值;x表示锂离子电池原始数据;y表示归一化之后的数据;
步骤4000:采用改进后的CSO算法对LSTM神经网络的超参数进行寻优,建立基于优化后的LSTM锂离子电池寿命预测模型;具体包括步骤4010至步骤4140:
步骤4010:确定LSTM网络的拓扑结构,该结构包括:LSTM网络输入层节点数m、隐含层节点数h和输出层节点数d;输入层节点数m取决于锂离子电池数据中能够间接表征锂离子电池性能衰退的数据参量个数;输出层节点数d取决于能够直接表征锂离子电池性能衰退的数据参量个数;隐含层节点数h采用经验法和试凑法来确定合适的隐含层节点数;隐含层节点数h与输入层节点m、输出层节点数d满足公式(12)所示的函数关系:
其中,m为输入层节点数;h为隐含层节点数;d为输出层节点数;a为随机数,取值范围为[1,10];
步骤4020:初始化鸡群算法参数,wmin、wmax、公鸡数量Nr、母鸡数量Nh、带小鸡的母鸡数量Nm、小鸡数量Nc、参数维度D、等级制度更新数G、种群大小N、总迭代次数T,确定LSTM模型需要寻优的超参数上下界,所述超参数包括一般学习率ε、神经元个数、训练迭代次数;
步骤4030:鸡群算法搜索空间上下界分别为超参数所包含的一般学习率ε、神经元个数和训练迭代次数的取值范围,并进行种群初始化,将LSTM模型中需要寻优的超参数的数值赋值于种群中每只鸡;根据公式(13),计算出LSTM模型预测结果的平均相对误差作为鸡群算法中每只鸡的适应度值,通过降序操作,建立等级制度,将适应度值最好的前Nr只个体为公鸡,适应度值最差的后Nc只个体为小鸡,去除公鸡和小鸡,剩余为母鸡;
其中,Y(x)表示锂离子电池原始数据序列;Y^(x)表示预测模型预测出的数据序列;n表示用于预测的样本数;
步骤4040:根据公式(14)进行计算,当值为1时,鸡群在第t次迭代时根据每只个体的适应度值进行重新排序,建立新的等级制度;
mod(t,G)=1 (14)
其中,t为当前迭代次数,G为等级制度更新数,取值为10;
步骤4050:根据公式(15),更新公鸡的所在位置,通过引入非线性自适应权重策略w,提升算法的收敛精度;在公鸡的位置更新公式中,当权重w值增大,算法全局搜索能力增强,反之,当权重w值将会下降,增强算法局部搜索能力,非线性自适应权重策略w如公式(17)所示;
xi,j(t+1)=(xi,j(t)*(1+randn(0,σ2)))*w(t) (15)
其中,xi,j(t+1)是第t+1次迭代时公鸡所在位置;xi,j(t)是第t次迭代公鸡所在位置;randn(0,σ2)表示均值为0、方差为σ2的随机数,根据公式(16)计算方差σ2;w(t)为t时刻的自适应权重,根据公式(17)进行计算;
其中,fa为个体a的适应度值;a为公鸡种群中任意个体,其取值范围为[1,Nr],满足a≠i,ε为计算机中最小的常数,f表示适应度值;Nr为公鸡的个数;fi为个体i的适应度值;
w(t)=exp(-(wstart-(log(wstart)-log(wend))*(X-1)2)) (17)
其中,w(t)为t时刻的自适应权重;wstart、wend分别为w的初始值和结束值;X为当前个体位置与种群最优位置的差距程度,根据公式(18)进行计算;
其中,X为当前个体位置与种群最优位置的差距程度;g为t时刻种群最优位置,x为t时刻当前个体位置;xmax、xmin分别是种群的最大值和最小值;T为最大迭代次数;n为个体所在位置包含数据个数;
步骤4060:根据公式(19),更新母鸡所在位置,通过引入高斯变异算子和正态分布学习更新策略,提高算法的收敛速度;其中,根据公式(20)计算得到高斯变异算子,实现种群最优个体与当前个体进行信息交换,根据公式(21)计算得到正态分布学习更新策略数值,当正态分布学习更新策略的w1值上升时,算法搜索范围变大,正态分布学习更新策略的w1值下降时,算法的局部搜索能力变增强,最终能够改变母鸡的搜索方式,扩大母鸡的搜索范围;
w1=wmin*wmax/wmin1/(1+10*t/T)+Randn() (21)
其中,M为高斯变异算子;pmin和pmax为高斯变异点处所取的最小值和最大值;ri为(0,1)范围的随机数;dim为种群的最大维度;xbest,j为种群中最优解的位置;T为总迭代次数;w1为正态分布的随机学习系数;t为算法当前迭代次数;wmax、wmin分别为w1的最大值和最小值;Randn()为正态分布的随机数;Rand为(0,1)之间的随机数;C1、C2为跟随系数,根据公式(22)(23)进行计算;xi,j(t+1)是第t+1次迭代时母鸡所在位置;xi,j(t)是第t次迭代母鸡所在位置;是第t+1次迭代时种群中公鸡的所在位置;是第t次迭代时种群中公鸡或母鸡所在位置;
其中,r1为随机选择的公鸡位置,其取值范围为[1,Nr];r2为随机的公鸡或母鸡的位置,其取值范围为[1,Nr+Nh],r1、r2不相等;fi为个体i的适应度值;为个体r2的适应度值;为个体r1的适应度值;Nr为公鸡的个数;Nh为母鸡的个数;ε为计算机中最小的常数;
步骤4070:根据公式(24),更新小鸡的位置,引入正态分布的学习更新策略,通过步骤4060中所述的公式(21)进行计算,增加小鸡向其他个体的学习机会,改变小鸡的搜索方式;
xi,j(t+1)=w1*(xi,j(t)+F*(xm,j(t)-xi,j(t))+(xs,j(t)-xi,j(t))) (24)
其中,xm,j(t)是第t次迭代时小鸡跟随妈妈母鸡的位置;m的取值范围为[1,Nh],Nh是母鸡的个数;F是小鸡跟随妈妈母鸡的觅食系数;xs,j(t)是第t次迭代时种群中随机公鸡或母鸡的位置,s的取值范围为(1,Nr+Nh),s、m不相等;Nr为公鸡的个数;w1为正态分布的随机学习系数;xi,j(t+1)是第t+1次迭代时小鸡所在位置;xi,j(t)是第t次迭代小鸡所在位置;
步骤4080:循环步骤4050到步骤4070更新公鸡母鸡小鸡的位置,从循环过程中得到最优更新位置和适应度值;
步骤4090:根据循环过程中某一时刻个体的适应度值确定粒子的个体历史最优和群体历史最优,当个体适应度值优于上一时刻适应度值,则进行转换;否则放弃更新;
步骤4100:当算法达到最大迭代次数或满足平均相对误差精度要求,算法终止;否则返回步骤4030;
步骤4110:迭代结束后,记录鸡群中的最优位置,将得到的最优位置数值赋值于一般学习率ε、神经元个数和训练迭代次数;
步骤4120:将步骤4110得到的超参数数值,输入到LSTM网络,具体包含步骤4121至步骤4125;
步骤4121:锂离子电池数据通过遗忘门确认上一时刻神经元记忆单元状态Ct-1中有多少可以保留到当前时刻Ct的信息量,输入包括上一时刻神经元输出Yt-1和当前神经元输入Zt,最终根据公式(25)计算得到ft;
ft=σ(Wf*[Yt-1,Zt]+bf) (25)
其中,Yt-1是上一时刻神经元输出值;Zt是当前神经元输入值;ft是当前时刻遗忘门输出值;Wf是遗忘门的权重矩阵;bf是遗忘门偏置项;σ为激活函数sigmoid,取值范围为[0,1],其中0为完全丢弃,1为完全保留;
步骤4122:将遗忘门得到的数据ft送到输入门,输入门将新输入的数据存储在神经元中,神经元由it选取新输入数据和vt备选数据状态两部分组成,根据公式(26)计算it得到新输入数据,根据公式(27)计算得到vt备选数据状态;
it=σ(Wi*[Yt-1,Zt]+bi) (26)
vt=tanh(Wc*[Yt-1,Zt]+bc) (27)
其中,Wi和Wc是输入门的权重矩阵;tanh为正切函数;bi和bc为输入门偏置项;it是输入门选取新输入数据;vt是备选数据状态;Yt-1是上一时刻神经元输出值;Zt是当前神经元输入值;σ为激活函数sigmoid,取值范围为[0,1],其中0为完全丢弃,1为完全保留;
步骤4123:根据公式(28)将输入门输出it和备选数据状态vt进行相乘,同时,将当前时刻遗忘门输出ft与前一时刻神经元记忆单元状态Ct-1相乘,将前一时刻神经元状态中的数据信息进行保留,两者进行相加,生成新的记忆单元信息Ct;
Ct=ft*Ct-1+it*vt (28)
其中,ft是当前时刻遗忘门输出值;Ct-1是前一时刻神经元记忆单元状态;it是选取的新输入数据;vt是备选数据状态;Ct是新的记忆单元信息;
步骤4124:将步骤4121到步骤4123所得到的状态信息,输送到输出门,控制当前时刻神经元输出状态,通过遗忘门和输入门的信息进行更新,控制当前状态有多少特征被去除,将去除后的数据转移到下一个神经元,根据公式(29)计算得到输出门ot;
ot=σ(Wo*[Yt-1,Zt]+bo) (29)
其中,ot为输出门输出值;Wo为输出门的权重矩阵;bo为输出门偏差项;Yt-1为前一时刻神经元输出值;Zt为当前时刻神经元输入;σ为激活函数sigmoid,取值范围为[0,1],其中0为完全丢弃,1为完全保留;
步骤4125:根据公式(30)计算得到负载预测值;
Yt=ot*tanh(Ct) (30)
其中,ot为输出门输出;Yt为当前时刻神经元输出值;Ct是新记忆单元信息;tanh为正切函数;
步骤5000:将步骤3000所述的训练集输入到步骤4000所述的优化后的LSTM网络进行模型训练,若满足精度要求,得到改进CSO-LSTM网络的锂离子电池寿命预测模型;
步骤6000:将步骤3000所述的测试集输入到步骤5000所述的改进CSO-LSTM网络的锂离子电池寿命预测模型进行测试,得到最终的基于改进的CSO-LSTM网络的锂离子电池寿命预测模型。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北电力大学,未经东北电力大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210406592.1/1.html,转载请声明来源钻瓜专利网。