一种基于改进CSO-LSTM网络的锂离子电池寿命预测方法及装置

文档序号:30885449发布日期:2022-07-26 21:49阅读:122来源:国知局
一种基于改进CSO-LSTM网络的锂离子电池寿命预测方法及装置
一种基于改进cso-lstm网络的锂离子电池寿命预测方法及装置
技术领域
1.本发明涉及新能源技术领域,具体涉及一种基于改进cso-lstm网络的锂离子电池寿命预测方法及装置。


背景技术:

2.随着新能源技术的快速发展,光伏充电站建设将得到快速发展,储能系统是光伏充电站的核心,优良的储能电池能够保障光伏充电站正常运行和监测。锂离子电池自身具有使用寿命长、自放电率低、无记忆效应、工作温度范围宽、零污染和安全性能好等优点,可以部署在不同地区,具有一定适应性,是光伏充电站理想的储能电池。
3.然而,在光伏充电站中随时间推移锂离子电池将出现老化现象,如不及时更换锂离子电池,轻则会出现设备、仪器损坏或设备无法正常工作;重则导致充电站配电容量不足,产生重大安全事故。因此,对光伏充电站锂离子电池寿命进行准确预测,能够提高锂离子电池的可靠性和安全性,这对光伏充电站的经济发展和安全有着重要的现实意义。


技术实现要素:

4.本发明提供了一种基于改进cso-lstm网络的锂离子电池寿命预测方法及装置,利用改进鸡群算法(chickenswarmoptimization,cso)对lstm网络进行优化,提出一种基于改进cso-lstm网络的锂离子电池寿命预测方法,实现准确预测锂离子电池的使用寿命,降低锂离子电池对人们生命安全和储能系统的威胁,提高锂离子电池的可靠性和安全性。
5.为实现上述目标,本发明提供的技术方案包括以下步骤:
6.步骤1000:获取锂离子电池数据,形成第一数据集;
7.步骤2000:采用集合经验模态分解方法对所述第一数据集的锂离子电池数据进行数据预处理,形成第二数据集,进一步包括步骤2100至步骤2600:
8.步骤2100:初始化参数,设定外加噪声次数n,高斯白噪声强度α;
9.步骤2200:根据公式(1)将服从高斯分布[0,δ]的白噪声ni(t)添加到步骤1000所述的第一数据集中的每个数据参数序列x(t)中,构成新数据序列xi(t),根据公式(2)计算原数据序列的标准差,得到高斯分布的白噪声所用的方差δ;
[0010]
xi(t)=x(t)+ni(t)(1)
[0011]
δ=std[x(t)](2)
[0012]
其中,xi(t)是添加高斯白噪声后构成的新数据序列,ni(t)是第i次添加的高斯白噪声,x(t)是原数据序列,i=1,2,...,n,n是所添加的噪声次数,δ是高斯分布所用方差;
[0013]
步骤2300:采用经验模态方法对所述新数据序列xi(t)进行分解,进一步包括步骤2310至步骤2340:
[0014]
步骤2310:将所述新数据序列中的每个参量数据的变化趋势看作是一种信号,记为h(t),将数据变化曲线中的全部极大值点连成线,得到上包络线记为a1(t),将数据变化
曲线中的全部极小值点连成线,得到下包络线记为b1(t);根据公式(3),采用三次样条插值法计算出上下包络线a1(t)和b1(t)的均值曲线,记为s1(t);
[0015][0016]
其中,a1(t)是新数据序列的全部极大值点所构成的上包络线,b1(t)是新数据序列的全部极小值点所构成的下包络线,s1(t)是上下包络线的均值曲线;
[0017]
步骤2320:根据公式(4),将新数据序列的变化趋势h(t)与均值曲线s1(t)作差,得到m1(t)。判断m1(t)是否满足本征模态分量的要求,如满足要求,将其保存下来,记为imf1(t);否则,跳转至步骤2310,直到满足本征模态分量的要求;
[0018]
m1(t)=h(t)-s1(t)(4)
[0019]
其中,h(t)是新数据序列中的每个参量数据的变化趋势,s1(t)是上下包络线的均值曲线,m1(t)是数据的变化趋势h(t)与均值曲线s1(t)的差值;
[0020]
步骤2330:从数据变化趋势h(t)减去步骤2320所述的本征模态分解imf1(t),根据公式(5),得到新的h1(t),并将新h1(t)作为新数据变化趋势,跳转到步骤2310顺序执行,直到得到满足本征模态分量的要求的第二个imf2(t),并将其与h1(t)进行相减,得到h2(t),如公式(6)所示;
[0021]
h1(t)=h(t)-imf1(t)(5)
[0022]
h2(t)=h1(t)-imf2(t)(6)
[0023]
其中,h(t)是锂离子电池数据集中的每个参量数据的变化趋势,h1(t)是前一时刻的数据变化趋势h(t)与本征模态分量作差所得到的新数据变化趋势,imf1(t)是得到的第一个本征模态分解,imf2(t)是得到的第二个本征模态分解;h2(t)是前一时刻的数据变化趋势h1(t)与本征模态分量imf2(t)作差所得到新数据的变化趋势;
[0024]
步骤2340:通过不断重复步骤2310到步骤2330,最终得到n个hn(t)、imfn(t)和一个残差剩余项c(t),最终数据变化趋势可以表示为n个imfn(t)和一个残差剩余项c(t)之和,如公式(7)所示;imfn(t)分量按照频率高低进行排序;
[0025][0026]
其中,imfi(t)是第i个本征模态分解,c(t)是残差剩余项,h(t)是原始数据变化趋势;n是最终经验模态运行次数,hn(t)是每次得到的新数据变化趋势;
[0027]
步骤2400:通过所述步骤2300,最终获得一组本征模态分量imf,如公式(8)所示;
[0028][0029]
其中,ri(t)为分解提取n个imf后的数据残余分量(残差);c
i,k
(t)是经验模态对xi(t)进行分解得到的第k个模态分量,k=1,2,...,k,i=1,2,...,n,n是算法迭代次数,imf是本征模态分量;k为本征模态分量的个数;
[0030]
步骤2500:重复步骤2200与步骤2400共n次,得到包含本征模态分量imf和残差分量的以下模态集合,如公式(9)所示;
[0031]
[{c
1,1
(t)},{c
1,2
(t)},...,{c
1,k
(t)},...,{c
n,1
(t)},{c
n,2
(t)},...,{c
n,k
(t)}](9)
[0032]
其中,c
n,k
(t)是经验模态对xi(t)进行分解得到的第k个模态分量,k为本征模态分
量的个数;n是算法迭代次数;
[0033]
步骤2600:为减少噪声影响,根据公式(10)平均处理各次分解所得到的本征模态分量imf,最终得到模态分量;
[0034][0035]
其中,ck(t)为第t次循环得到的模态分量,c
i,k
(t)是经验模态对xi(t)进行分解得到的第k个模态分量,k=1,2,...,k,i=1,2,...,n,n为循环次数;k为本征模态分量的个数;
[0036]
步骤3000:采用归一化方法对所述第二数据集中的数据进行归一化处理,形成第三数据集,并将所述第三数据集划分为训练集和测试集;
[0037]
采用公式(11)进行数据归一化处理;
[0038][0039]
其中,maxvalue表示锂离子电池数据的最大值;minvalue表示锂离子电池数据的最小值;x表示锂离子电池原始数据;y表示归一化之后的数据。
[0040]
步骤4000:采用改进后的cso算法对lstm神经网络的超参数进行寻优,建立基于优化后的lstm锂离子电池寿命预测模型;具体包括步骤4010至步骤4140:
[0041]
步骤4010:确定lstm网络的拓扑结构,该结构包括:lstm网络输入层节点数m、隐含层节点数h和输出层节点数d;输入层节点数m取决于锂离子电池数据中能够间接表征锂离子电池性能衰退的数据参量个数;输出层节点数d取决于能够直接表征锂离子电池性能衰退的数据参量个数;隐含层节点数h采用经验法和试凑法来确定合适的隐含层节点数;隐含层节点数h与输入层节点m、输出层节点数d满足公式(12)所示的函数关系:
[0042][0043]
其中,m为输入层节点数(由实际的输入个数决定);h为隐含层节点数;d为输出层节点数;a为随机数,取值范围为[1,10];
[0044]
步骤4020:初始化鸡群算法参数,w
min
、w
max
、公鸡数量nr、母鸡数量nh、带小鸡的母鸡数量nm、小鸡数量nc、参数维度d、等级制度更新数g、种群大小n、总迭代次数t,确定lstm模型需要寻优的超参数上下界,所述超参数包括一般学习率ε、神经元个数、训练迭代次数;
[0045]
步骤4030:鸡群算法搜索空间上下界分别为超参数所包含的一般学习率ε、神经元个数和训练迭代次数的取值范围,并进行种群初始化,将lstm模型中需要寻优的超参数的数值赋值于种群中每只鸡;根据公式(13),计算出lstm模型预测结果的平均相对误差作为鸡群算法中每只鸡的适应度值,通过降序操作,建立等级制度,将适应度值最好的前nr只个体为公鸡,适应度值最差的后nc只个体为小鸡,去除公鸡和小鸡,剩余为母鸡;
[0046][0047]
其中,y(x)表示锂离子电池原始数据序列;y^(x)表示预测模型预测出的数据序列;n表示用于预测的样本数;
[0048]
步骤4040:根据公式(14)进行计算,当值为1时,鸡群在第t次迭代时根据每只个体
的适应度值进行重新排序,建立新的等级制度;
[0049]
mod(t,g)=1(14)
[0050]
其中,t为当前迭代次数,g为等级制度更新数,一般取值为10;
[0051]
步骤4050:根据公式(15),更新公鸡的所在位置,通过引入非线性自适应权重策略w,提升算法的收敛精度;在公鸡的位置更新公式中,当权重w值增大,算法全局搜索能力增强,反之,当权重w值将会下降,增强算法局部搜索能力,非线性自适应权重策略w如公式(17)所示;
[0052]
x
i,j
(t+1)=(x
i,j
(t)*(1+randn(0,σ2)))*w(t)(15)
[0053]
其中,x
i,j
(t+1)是第t+1次迭代时公鸡所在位置;x
i,j
(t)是第t次迭代公鸡所在位置;randn(0,σ2)表示均值为0、方差为σ2的随机数,根据公式(16)计算方差σ2;w(t)为t时刻的自适应权重,根据公式(17)进行计算;
[0054][0055]
其中,fa为个体a的适应度值;a(a∈[1,nr])为公鸡种群中任意个体,满足a≠i,ε为计算机中最小的常数,f表示适应度值;nr为公鸡的个数;fi为个体i的适应度值;
[0056]
w(t)=exp(-(w
start-(log(w
start
)-log(w
end
))*(x-1)2))(17)
[0057]
其中,w(t)为t时刻的自适应权重;w
startwend
分别为w的初始值和结束值;x为当前个体位置与种群最优位置的差距程度,根据公式(18)进行计算;
[0058][0059]
其中,x为当前个体位置与种群最优位置的差距程度;g为t时刻种群最优位置,x为t时刻当前个体位置;x
max
x
min
分别是种群的最大值和最小值;t为最大迭代次数;n为个体所在位置包含数据个数;
[0060]
步骤4060:根据公式(19),更新母鸡所在位置,通过引入高斯变异算子和正态分布学习更新策略,提高算法的收敛速度;其中,根据公式(20)计算得到高斯变异算子,实现种群最优个体与当前个体进行信息交换,根据公式(21)计算得到正态分布学习更新策略数值,当正态分布学习更新策略的w值上升时,算法搜索范围变大,正态分布学习更新策略的w值下降时,算法的局部搜索能力变增强,最终能够改变母鸡的搜索方式,扩大母鸡的搜索范围;
[0061][0062][0063]
w=w
min
*w
max
/w
min1/(1+10*t/t)
+randn()(21)
[0064]
其中,m为高斯变异算子;p
min
和p
max
为高斯变异点处所取的最小值和最大值;ri为(0,1)范围的随机数;dim为种群的最大维度;x
best,j
为种群中最优解的位置;t为总迭代次数;w为母鸡的正态分布的随机学习系数;t为算法当前迭代次数;w
maxwmin
分别为w的最大值和最小值;randn()为正态分布的随机数;rand为(0,1)之间的随机数;c1c2为跟随系数,根
据公式(22)(23)进行计算;x
i,j
(t+1)是第t+1次迭代时母鸡所在位置;x
i,j
(t)是第t次迭代母鸡所在位置;是第t+1次迭代时种群中公鸡的所在位置;是第t次迭代时种群中公鸡或母鸡所在位置;
[0065][0066][0067]
其中,r1(r1∈[1,nr])为随机选择的公鸡位置;r2(r2∈[1,nr+nh])为随机的公鸡或母鸡的位置,r1、r2不相等;fi为个体i的适应度值;为个体r2的适应度值;为个体r1的适应度值;nr为公鸡的个数;nh为母鸡的个数;ε为计算机中最小的常数;
[0068]
步骤4070:根据公式(24),更新小鸡的位置,引入正态分布的学习更新策略,通过步骤4060中所述的公式(21)进行计算,增加小鸡向其他个体的学习机会,改变小鸡的搜索方式;
[0069]
x
i,j
(t+1)=w*(x
i,j
(t)+f*(x
m,j
(t)-x
i,j
(t))+(x
s,j
(t)-x
i,j
(t)))(24)
[0070]
其中,x
m,j
(t)(m∈[1,nh])是第t次迭代时小鸡跟随妈妈母鸡的位置;nh是母鸡的个数;f是小鸡跟随妈妈母鸡的觅食系数;x
s,j
(t)s∈(1,nr+nh)是第t次迭代时种群中随机公鸡或母鸡的位置,s、m不相等;nr为公鸡的个数;w为小鸡的正态分布的随机学习系数;x
i,j
(t+1)是第t+1次迭代时小鸡所在位置;x
i,j
(t)是第t次迭代小鸡所在位置;
[0071]
步骤4080:循环步骤4050到步骤4070更新公鸡母鸡小鸡的位置,从循环过程中得到最优更新位置和适应度值;
[0072]
步骤4090:根据循环过程中某一时刻个体的适应度值确定粒子的个体历史最优和群体历史最优,当个体适应度值优于上一时刻适应度值,则进行转换;否则放弃更新;
[0073]
步骤4100:当算法达到最大迭代次数或满足平均相对误差精度要求,算法终止;否则返回步骤4030;
[0074]
步骤4110:迭代结束后,记录鸡群中的最优位置,将得到的最优位置数值赋值于一般学习率ε、神经元个数和训练迭代次数;
[0075]
步骤4120:将步骤4110得到的超参数数值,输入到lstm网络,具体包含步骤4121至步骤4125;
[0076]
步骤4121:锂离子电池数据通过遗忘门确认上一时刻神经元记忆单元状态c
t-1
中有多少可以保留到当前时刻c
t
的信息量,输入包括上一时刻神经元输出y
t-1
和当前神经元输入z
t
,最终根据公式(25)计算得到f
t

[0077]ft
=σ(wf*[y
t-1
,z
t
]+bf)(25)
[0078]
其中,y
t-1
是上一时刻神经元输出值;z
t
是当前神经元输入值;f
t
是当前时刻遗忘门输出值;wf是遗忘门的权重矩阵;bf是遗忘门偏置项;σ为激活函数sigmoid,取值范围为[0,1],其中0为完全丢弃1为完全保留;
[0079]
步骤4122:将遗忘门得到的数据f
t
送到输入门,输入门将决定新输入数据中那些新输入数据存储在神经元中,神经元由i
t
选取新输入数据和v
t
备选数据状态两部分组成,根据公式(26)计算i
t
得到新输入数据,根据公式(27)计算得到v
t
备选数据状态;
[0080]it
=σ(wi*[y
t-1
,z
t
]+bi)(26)
[0081]vt
=tanh(wc*[y
t-1
,z
t
]+bc)(27)
[0082]
其中,wi和wc是输入门的权重矩阵;tanh为正切函数;bi和bc为输入门偏置项;i
t
是输入门选取新输入数据;v
t
是备选数据状态;y
t-1
是上一时刻神经元输出值;z
t
是当前神经元输入值;σ为激活函数sigmoid,取值范围为[0,1],其中0为完全丢弃1为完全保留;
[0083]
步骤4123:根据公式(28)将输入门输出i
t
和备选数据状态v
t
进行相乘,确定那些新数据加入神经元中,同时,将当前时刻遗忘门输出f
t
与前一时刻神经元记忆单元状态c
t-1
相乘,确定前一时刻神经元状态中那些数据信息能够保留,两者进行相加,生成新的记忆单元信息c
t

[0084]ct
=f
t
*c
t-1
+i
t
*v
t
(28)
[0085]
其中,f
t
是当前时刻遗忘门输出值;c
t-1
是前一时刻神经元记忆单元状态;i
t
是选取的新输入数据;v
t
是备选数据状态;c
t
是新的记忆单元信息;
[0086]
步骤4124:将步骤4121到步骤4123所得到的状态信息,输送到输出门,控制当前时刻神经元输出状态,通过遗忘门和输入门的信息进行更新,控制当前状态有多少特征被去除,将去除后的数据转移到下一个神经元,根据公式(29)计算得到输出门o
t

[0087]ot
=σ(wo*[y
t-1
,z
t
]+bo)(29)
[0088]
其中,o
t
为输出门输出值;wo为输出门的权重矩阵;bo为输出门偏差项;y
t-1
为前一时刻神经元输出值;z
t
为当前时刻神经元输入;σ为激活函数sigmoid,取值范围为[0,1],其中0为完全丢弃1为完全保留;
[0089]
步骤4125:根据公式(30)计算得到负载预测值;
[0090]yt
=o
t
*tanh(c
t
)(30)
[0091]
其中,o
t
为输出门输出;y
t
为当前时刻神经元输出值;c
t
是新记忆单元信息;tanh为正切函数;
[0092]
步骤5000:将步骤3000所述的训练集输入到步骤4000所述的优化后的lstm网络进行模型训练,若满足精度要求,得到改进cso-lstm网络的锂离子电池寿命预测模型;
[0093]
步骤6000:将步骤3000所述的测试集输入到步骤5000所述的改进cso-lstm网络的锂离子电池寿命预测模型进行测试,得到最终的基于改进的cso-lstm网络的锂离子电池寿命预测模型。
[0094]
一种基于改进cso-lstm网络的锂离子电池寿命预测方法的装置,所述装置包括:
[0095]
数据处理模块:采集锂离子电池运行数据,得到第一数据集;根据所述第一数据集进行数据预处理,具体包括集合经验模态分解、数据归一化处理,最终获得所述第三数据集,并将数据预处理得到的第三数据集划分为训练集和测试集;
[0096]
模型训练模块:采用改进cso算法优化lstm网络的超参数,建立基于改进cso-lstm网络的锂离子电池寿命预测模型,利用所述第三数据集中的训练集对优化后lstm网络的锂离子电池寿命预测模型进行训练,得到训练好的所述基于改进cso-lstm网络的锂离子电池寿命预测模型;
[0097]
锂离子电池寿命预测模块:将需要预测的锂离子电池数据,通过数据处理模块进行数据预处理,得到所述第三数据集数据序列的测试集,将所述第三数据集数据序列的测试集输入到所述模型训练模块训练好的基于改进cso-lstm网络的锂离子电池寿命预测模型,进行锂离子电池寿命预测,最终得到锂离子电池寿命预测结果。
[0098]
优选的,一种基于改进cso-lstm网络的锂离子电池寿命预测装置,其特征在于,所述数据处理模块中,在集合经验模态中,本征模态分量的要求需要满足在任何时刻,所选择的极大值和极小值包络线取其平均之后为0,且局部极值点和过零点两者的数目必须相等或两者相差1个,最终才能够得到一个本征模态分量;且残差剩余项最终是以一个常数或单调曲线等结束。
[0099]
与现有技术相比,本发明的有益效果是:
[0100]
本发明采用一种基于非线性变换的改进鸡群算法对lstm网络的超参数进行选取,解决了lstm网络中超参数(学习率ε、神经元个数和训练迭代次数等)采用随机设置,调整过程较为复杂且具有一定的盲目性的问题,导致在锂离子电池寿命预测过程中预测精度不高的问题,为锂离子电池寿命预测提供了一种人工智能的新方法,提高了锂离子电池预测的准确性、可靠性和安全性。
附图说明
[0101]
图1是基于改进cso-lstm网络的锂离子电池寿命预测方法流程图;
具体实施方式
[0102]
为了更清楚地解释本发明的上述方案,下面结合附图对本发明进行进一步的详细描述,需要说明的是,此处所描述的具体实施仅用于解释本技术,并不用于限定本技术。
[0103]
图1是本发明的一种基于改进cso-lstm网络的锂离子电池寿命预测方法流程图,具体步骤如下:
[0104]
步骤1000:获取锂离子电池数据,形成第一数据集;
[0105]
步骤2000:采用集合经验模态分解方法对所述第一数据集的锂离子电池数据进行数据预处理,形成第二数据集,进一步包括步骤2100至步骤2600:
[0106]
步骤2100:初始化参数,设定外加噪声次数n,高斯白噪声强度α;
[0107]
步骤2200:根据公式(1)将服从高斯分布[0,δ]的白噪声ni(t)添加到步骤1000所述的第一数据集中的每个数据参数序列x(t)中,构成新数据序列xi(t),根据公式(2)计算原数据序列的标准差,得到高斯分布的白噪声所用的方差δ;
[0108]
xi(t)=x(t)+ni(t)(1)
[0109]
δ=std[x(t)](2)
[0110]
其中,xi(t)是添加高斯白噪声后构成的新数据序列,ni(t)是第i次添加的高斯白噪声,x(t)是原数据序列,i=1,2,...,n,n是所添加的噪声次数,δ是高斯分布所用方差;
[0111]
步骤2300:采用经验模态方法对所述新数据序列xi(t)进行分解,进一步包括步骤2310至步骤2340:
[0112]
步骤2310:将所述新数据序列中的每个参量数据的变化趋势看作是一种信号,记为h(t),将数据变化曲线中的全部极大值点连成线,得到上包络线记为a1(t),将数据变化曲线中的全部极小值点连成线,得到下包络线记为b1(t);根据公式(3),采用三次样条插值法计算出上下包络线a1(t)和b1(t)的均值曲线,记为s1(t);
[0113][0114]
其中,a1(t)是新数据序列的全部极大值点所构成的上包络线,b1(t)是新数据序列的全部极小值点所构成的下包络线,s1(t)是上下包络线的均值曲线;
[0115]
步骤2320:根据公式(4),将新数据序列的变化趋势h(t)与均值曲线s1(t)作差,得到m1(t)。判断m1(t)是否满足本征模态分量的要求,如满足要求,将其保存下来,记为imf1(t);否则,跳转至步骤2310,直到满足本征模态分量的要求;
[0116]
m1(t)=h(t)-s1(t)(4)
[0117]
其中,h(t)是新数据序列中的每个参量数据的变化趋势,s1(t)是上下包络线的均值曲线,m1(t)是数据的变化趋势h(t)与均值曲线s1(t)的差值;
[0118]
步骤2330:从数据变化趋势h(t)减去步骤2320所述的本征模态分解imf1(t),根据公式(5),得到新的h1(t),并将新h1(t)作为新数据变化趋势,跳转到步骤2310顺序执行,直到得到满足本征模态分量的要求的第二个imf2(t),并将其与h1(t)进行相减,得到h2(t),如公式(6)所示;
[0119]
h1(t)=h(t)-imf1(t)(5)
[0120]
h2(t)=h1(t)-imf2(t)(6)
[0121]
其中,h(t)是锂离子电池数据集中的每个参量数据的变化趋势,h1(t)是前一时刻的数据变化趋势h(t)与本征模态分量作差所得到的新数据变化趋势,imf1(t)是得到的第一个本征模态分解,imf2(t)是得到的第二个本征模态分解;h2(t)是前一时刻的数据变化趋势h1(t)与本征模态分量imf2(t)作差所得到新数据的变化趋势;
[0122]
步骤2340:通过不断重复步骤2310到步骤2330,最终得到n个hn(t)、imfn(t)和一个残差剩余项c(t),最终数据变化趋势可以表示为n个imfn(t)和一个残差剩余项c(t)之和,如公式(7)所示;imfn(t)分量按照频率高低进行排序;
[0123][0124]
其中,imfi(t)是第i个本征模态分解,c(t)是残差剩余项,h(t)是原始数据变化趋势;n是最终经验模态运行次数,hn(t)是每次得到的新数据变化趋势;
[0125]
步骤2400:通过所述步骤2300,最终获得一组本征模态分量imf,如公式(8)所示;
[0126][0127]
其中,ri(t)为分解提取n个imf后的数据残余分量(残差);c
i,k
(t)是经验模态对xi(t)进行分解得到的第k个模态分量,k=1,2,...,k,i=1,2,...,n,n是算法迭代次数,imf是本征模态分量;k为本征模态分量的个数;
[0128]
步骤2500:重复步骤2200与步骤2400共n次,得到包含本征模态分量imf和残差分量的以下模态集合,如公式(9)所示;
[0129]
[{c
1,1
(t)},{c
1,2
(t)},...,{c
1,k
(t)},...,{c
n,1
(t)},{c
n,2
(t)},...,{c
n,k
(t)}](9)
[0130]
其中,c
n,k
(t)是经验模态对xi(t)进行分解得到的第k个模态分量,k为本征模态分量的个数;n是算法迭代次数;
[0131]
步骤2600:为减少噪声影响,根据公式(10)平均处理各次分解所得到的本征模态
分量imf,最终得到模态分量;
[0132][0133]
其中,ck(t)为第t次循环得到的模态分量,c
i,k
(t)是经验模态对xi(t)进行分解得到的第k个模态分量,k=1,2,...,k,i=1,2,...,n,n为循环次数;k为本征模态分量的个数;
[0134]
步骤3000:采用归一化方法对所述第二数据集中的数据进行归一化处理,形成第三数据集,并将所述第三数据集划分为训练集和测试集;
[0135]
采用公式(11)进行数据归一化处理;
[0136][0137]
其中,maxvalue表示锂离子电池数据的最大值;minvalue表示锂离子电池数据的最小值;x表示锂离子电池原始数据;y表示归一化之后的数据。
[0138]
步骤4000:采用改进后的cso算法对lstm神经网络的超参数进行寻优,建立基于优化后的lstm锂离子电池寿命预测模型,具体包括步骤4010至步骤4140:
[0139]
步骤4010:确定lstm网络的拓扑结构,该结构包括:lstm网络输入层节点数m、隐含层节点数h和输出层节点数d;输入层节点数m取决于锂离子电池数据中能够间接表征锂离子电池性能衰退的数据参量个数;输出层节点数d取决于能够直接表征锂离子电池性能衰退的数据参量个数;隐含层节点数h采用经验法和试凑法来确定合适的隐含层节点数;隐含层节点数h与输入层节点m、输出层节点数d满足公式(12)所示的函数关系:
[0140][0141]
其中,m为输入层节点数(由实际的输入个数决定);h为隐含层节点数;d为输出层节点数;a为随机数,取值范围为[1,10];
[0142]
步骤4020:初始化鸡群算法参数,w
min
、w
max
、公鸡数量nr、母鸡数量nh、带小鸡的母鸡数量nm、小鸡数量nc、参数维度d、等级制度更新数g、种群大小n、总迭代次数t,确定lstm模型需要寻优的超参数上下界,所述超参数包括一般学习率ε、神经元个数、训练迭代次数;
[0143]
步骤4030:鸡群算法搜索空间上下界分别为超参数所包含的一般学习率ε、神经元个数和训练迭代次数的取值范围,并进行种群初始化,将lstm模型中需要寻优的超参数的数值赋值于种群中每只鸡;根据公式(13),计算出lstm模型预测结果的平均相对误差作为鸡群算法中每只鸡的适应度值,通过降序操作,建立等级制度,将适应度值最好的前nr只个体为公鸡,适应度值最差的后nc只个体为小鸡,去除公鸡和小鸡,剩余为母鸡;
[0144][0145]
其中,y(x)表示锂离子电池原始数据序列;y^(x)表示预测模型预测出的数据序列;n表示用于预测的样本数;
[0146]
步骤4040:根据公式(14)进行计算,当值为1时,鸡群在第t次迭代时根据每只个体的适应度值进行重新排序,建立新的等级制度;
[0147]
mod(t,g)=1(14)
[0148]
其中,t为当前迭代次数,g为等级制度更新数,一般取值为10;
[0149]
步骤4050:根据公式(15),更新公鸡的所在位置,通过引入非线性自适应权重策略w,提升算法的收敛精度;在公鸡的位置更新公式中,当权重w值增大,算法全局搜索能力增强,反之,当权重w值将会下降,增强算法局部搜索能力,非线性自适应权重策略w如公式(17)所示;
[0150]
x
i,j
(t+1)=(x
i,j
(t)*(1+randn(0,σ2)))*w(t)(15)
[0151]
其中,x
i,j
(t+1)是第t+1次迭代时公鸡所在位置;x
i,j
(t)是第t次迭代公鸡所在位置;randn(0,σ2)表示均值为0、方差为σ2的随机数,根据公式(16)计算方差σ2;w(t)为t时刻的自适应权重,根据公式(17)进行计算;
[0152][0153]
其中,fa为个体a的适应度值;a(a∈[1,nr])为公鸡种群中任意个体,满足a≠i,ε为计算机中最小的常数,f表示适应度值;nr为公鸡的个数;fi为个体i的适应度值;
[0154]
w(t)=exp(-(w
start-(log(w
start
)-log(w
end
))*(x-1)2))(17)
[0155]
其中,w(t)为t时刻的自适应权重;w
startwend
分别为w的初始值和结束值;x为当前个体位置与种群最优位置的差距程度,根据公式(18)进行计算;
[0156][0157]
其中,x为当前个体位置与种群最优位置的差距程度;g为t时刻种群最优位置,x为t时刻当前个体位置;x
max
x
min
分别是种群的最大值和最小值;t为最大迭代次数;n为个体所在位置包含数据个数;
[0158]
步骤4060:根据公式(19),更新母鸡所在位置,通过引入高斯变异算子和正态分布学习更新策略,提高算法的收敛速度;其中,根据公式(20)计算得到高斯变异算子,实现种群最优个体与当前个体进行信息交换,根据公式(21)计算得到正态分布学习更新策略数值,当正态分布学习更新策略的w值上升时,算法搜索范围变大,正态分布学习更新策略的w值下降时,算法的局部搜索能力变增强,最终能够改变母鸡的搜索方式,扩大母鸡的搜索范围;
[0159][0160][0161]
w=w
min
*w
max
/w
min1/(1+10*t/t)
+randn()(21)
[0162]
其中,m为高斯变异算子;p
min
和p
max
为高斯变异点处所取的最小值和最大值;ri为(0,1)范围的随机数;dim为种群的最大维度;x
best,j
为种群中最优解的位置;t为总迭代次数;w为母鸡的正态分布的随机学习系数;t为算法当前迭代次数;w
maxwmin
分别为w的最大值和最小值;randn()为正态分布的随机数;rand为(0,1)之间的随机数;c1c2为跟随系数,根据公式(22)(23)进行计算;x
i,j
(t+1)是第t+1次迭代时母鸡所在位置;x
i,j
(t)是第t次迭代母鸡所在位置;是第t+1次迭代时种群中公鸡的所在位置;是第t次迭代时
种群中公鸡或母鸡所在位置;
[0163][0164][0165]
其中,r1(r1∈[1,nr])为随机选择的公鸡位置;r2(r2∈[1,nr+nh])为随机的公鸡或母鸡的位置,r1、r2不相等;fi为个体i的适应度值;为个体r2的适应度值;为个体r1的适应度值;nr为公鸡的个数;nh为母鸡的个数;ε为计算机中最小的常数;
[0166]
步骤4070:根据公式(24),更新小鸡的位置,引入正态分布的学习更新策略,通过步骤4060中所述的公式(21)进行计算,增加小鸡向其他个体的学习机会,改变小鸡的搜索方式;
[0167]
x
i,j
(t+1)=w*(x
i,j
(t)+f*(x
m,j
(t)-x
i,j
(t))+(x
s,j
(t)-x
i,j
(t)))(24)
[0168]
其中,x
m,j
(t)(m∈[1,nh])是第t次迭代时小鸡跟随妈妈母鸡的位置;nh是母鸡的个数;f是小鸡跟随妈妈母鸡的觅食系数;x
s,j
(t)s∈(1,nr+nh)是第t次迭代时种群中随机公鸡或母鸡的位置,s、m不相等;nr为公鸡的个数;w为小鸡的正态分布的随机学习系数;x
i,j
(t+1)是第t+1次迭代时小鸡所在位置;x
i,j
(t)是第t次迭代小鸡所在位置;
[0169]
步骤4080:循环步骤4050到步骤4070更新公鸡母鸡小鸡的位置,从循环过程中得到最优更新位置和适应度值;
[0170]
步骤4090:根据循环过程中某一时刻个体的适应度值确定粒子的个体历史最优和群体历史最优,当个体适应度值优于上一时刻适应度值,则进行转换;否则放弃更新;
[0171]
步骤4100:当算法达到最大迭代次数或满足平均相对误差精度要求,算法终止;否则返回步骤4030;
[0172]
步骤4110:迭代结束后,记录鸡群中的最优位置,将得到的最优位置数值赋值于一般学习率ε、神经元个数和训练迭代次数;
[0173]
步骤4120:将步骤4110得到的超参数数值,输入到lstm网络,具体包含步骤4121至步骤4125;
[0174]
步骤4121:锂离子电池数据通过遗忘门确认上一时刻神经元记忆单元状态c
t-1
中有多少可以保留到当前时刻c
t
的信息量,输入包括上一时刻神经元输出y
t-1
和当前神经元输入z
t
,最终根据公式(25)计算得到f
t

[0175]ft
=σ(wf*[y
t-1
,z
t
]+bf)(25)
[0176]
其中,y
t-1
是上一时刻神经元输出值;z
t
是当前神经元输入值;f
t
是当前时刻遗忘门输出值;wf是遗忘门的权重矩阵;bf是遗忘门偏置项;σ为激活函数sigmoid,取值范围为[0,1],其中0为完全丢弃1为完全保留;
[0177]
步骤4122:将遗忘门得到的数据f
t
送到输入门,输入门将决定新输入数据中那些新输入数据存储在神经元中,神经元由i
t
选取新输入数据和v
t
备选数据状态两部分组成,根据公式(26)计算i
t
得到新输入数据,根据公式(27)计算得到v
t
备选数据状态;
[0178]it
=σ(wi*[y
t-1
,z
t
]+bi)(26)
[0179]vt
=tanh(wc*[y
t-1
,z
t
]+bc)(27)
[0180]
其中,wi和wc是输入门的权重矩阵;tanh为正切函数;bi和bc为输入门偏置项;i
t

输入门选取新输入数据;v
t
是备选数据状态;y
t-1
是上一时刻神经元输出值;z
t
是当前神经元输入值;σ为激活函数sigmoid,取值范围为[0,1],其中0为完全丢弃1为完全保留;
[0181]
步骤4123:根据公式(28)将输入门输出i
t
和备选数据状态v
t
进行相乘,确定那些新数据加入神经元中,同时,将当前时刻遗忘门输出f
t
与前一时刻神经元记忆单元状态c
t-1
相乘,确定前一时刻神经元状态中那些数据信息能够保留,两者进行相加,生成新的记忆单元信息c
t

[0182]ct
=f
t
*c
t-1
+i
t
*v
t
(28)
[0183]
其中,f
t
是当前时刻遗忘门输出值;c
t-1
是前一时刻神经元记忆单元状态;i
t
是选取的新输入数据;v
t
是备选数据状态;c
t
是新的记忆单元信息;
[0184]
步骤4124:将步骤4121到步骤4123所得到的状态信息,输送到输出门,控制当前时刻神经元输出状态,通过遗忘门和输入门的信息进行更新,控制当前状态有多少特征被去除,将去除后的数据转移到下一个神经元,根据公式(29)计算得到输出门o
t

[0185]ot
=σ(wo*[y
t-1
,z
t
]+bo)(29)
[0186]
其中,o
t
为输出门输出值;wo为输出门的权重矩阵;bo为输出门偏差项;y
t-1
为前一时刻神经元输出值;z
t
为当前时刻神经元输入;σ为激活函数sigmoid,取值范围为[0,1],其中0为完全丢弃1为完全保留;
[0187]
步骤4125:根据公式(30)计算得到负载预测值;
[0188]yt
=o
t
*tanh(c
t
)(30)
[0189]
其中,o
t
为输出门输出;y
t
为当前时刻神经元输出值;c
t
是新记忆单元信息;tanh为正切函数;
[0190]
步骤5000:将步骤3000所述的训练集输入到步骤4000所述的优化后的lstm网络进行模型训练,若满足精度要求,得到改进cso-lstm网络的锂离子电池寿命预测模型;
[0191]
步骤6000:将步骤3000所述的测试集输入到步骤5000所述的改进cso-lstm网络的锂离子电池寿命预测模型进行测试,得到最终的基于改进的cso-lstm网络的锂离子电池寿命预测模型。
[0192]
一种基于改进cso-lstm网络的锂离子电池寿命预测方法的装置,其特征在于,所述装置包括:
[0193]
数据处理模块:采集锂离子电池运行数据,得到第一数据集;根据所述第一数据集进行数据预处理,具体包括集合经验模态分解、数据归一化处理,最终获得所述第三数据集,并将数据预处理得到的第三数据集划分为训练集和测试集;
[0194]
模型训练模块:采用改进cso算法优化lstm网络的超参数,建立基于改进cso-lstm网络的锂离子电池寿命预测模型,利用所述第三数据集中的训练集对优化后lstm网络的锂离子电池寿命预测模型进行训练,得到训练好的所述基于改进cso-lstm网络的锂离子电池寿命预测模型;
[0195]
锂离子电池寿命预测模块:将需要预测的锂离子电池数据,通过数据处理模块进行数据预处理,得到所述第三数据集数据序列的测试集,将所述第三数据集数据序列的测试集输入到所述模型训练模块训练好的基于改进cso-lstm网络的锂离子电池寿命预测模型,进行锂离子电池寿命预测,最终得到锂离子电池寿命预测结果。
[0196]
优选的,一种基于改进cso-lstm网络的锂离子电池寿命预测装置,其特征在于,所
述数据处理模块中,在集合经验模态中,本征模态分量的要求需要满足在任何时刻,所选择的极大值和极小值包络线取其平均之后为0,且局部极值点和过零点两者的数目必须相等或两者相差1个,最终才能够得到一个本征模态分量;且残差剩余项最终是以一个常数或单调曲线等结束。
[0197]
本发明采用一种基于非线性变换的改进鸡群算法对lstm网络的超参数进行选取,解决lstm模型中超参数(学习率ε、神经元个数和训练迭代次数等)选取采用随机设置,调整过程较为复杂且具有一定的盲目性,导致在预测过程中锂离子电池寿命预测精度下降的问题,为锂离子电池寿命预测提供了一种人工智能的新方法,提高了锂离子电池的可靠性和安全性。
[0198]
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,对于本领域的技术人员来说,本发明可以有各种更改和变化,凡在本发明的精神和原则之内,所做的任何修改、同等替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1