1.一种基于AdaBoost-CBP神经网络的电动汽车锂离子电池健康状态估算方法,其特征在于,包括以下步骤:步骤1,基于扩展卡尔曼滤波算法的数据预处理:利用三层BP神经网络模型,以锂离子电池放电过程中的电压和电流以及循环充放电次数为输入参数,以健康状态值为估算模型的输出参数,而健康状态值是根据其与电池容量的函数定义获得;采用扩展卡尔曼滤波算法分别对放电电压、放电电流、循环充放电次数和电池容量进行去噪处理,使之满足神经网络要求;从样本空间中随机选择75%的数据作为训练样本,另外25%数据作为测试数据,并根据数据量的大小对训练样本进行分组;
步骤2,确定分数阶BP神经网络结构并初始化CBP弱学习器:为保证电池SOH估算的实时性和准确性要求,需要不断对SOH的估算结果进行修正,利用分数微积分理论优化BP神经网络的整数阶梯度下降法,得到分数阶梯度下降法,用多个不同的分数阶极点替代原本的整数阶极点,并初始化基于分数阶的BP神经网络;
步骤3,采用加权平均法集成强学习器:设置学习器的误差标准和最大迭代次数;由于汽车运行过程中工况复杂多变,单一模型难以准确拟合不同工况数据的变化趋势,利用AdaBoost算法的自适应加强性能对CBP弱学习器进行多次迭代训练以增强学习器的拟合能力;并采用加权平均法对各弱学习器进行加权集成得到强学习器,实现各学习器在不同汽车工况数据下性能的优势互补。
2.根据权利1所述的一种基于AdaBoost-CBP神经网络的电动汽车锂离子电池健康状态估算方法,其特征在于,所述步骤1的具体实现过程包括以下步骤:步骤1.1,针对电池参数的非线性和敏感性,采用扩展卡尔曼滤波算法对电池参数进行去噪,分别采用泰勒算法对放电电压、放电电流、循环充放电次数和容量进行线性化处理,展开状态方程和观测方程,去掉其中二阶及以上的高阶项,使原数据近似为一个线性系统,再基于标准卡曼滤波算法的迭代和递推操作,进行状态变量的估计和更新以实现去噪处理,并采用最大最小归一化方法进行归一化处理,去噪步骤如下:放电电压、放电电流、循环充放电次数、容量均属于非线性滤波,状态预测方程和系统观测方程如下式(1)所示,进行去噪处理时,将通过系统状态方程计算得到的预测值作为先验信息,再根据观测公式对先验信息进行更新:对上述公式进行一阶泰勒展开并去掉二阶及以上高阶项,可得到离散化状态方程和观测方程(2),由此非线性系统就近似为线性系统:其中,Xt+1|t表示t+1时刻的系统预测值, 表示t+1时刻的观测值即要输出的该时刻最优估计值,这个值是卡尔曼滤波的结果。h(·)和g(·)分别表示状态预测方程和系统观测方程的非线性映射函数,Wt是t时刻状态预测过程的噪音,Mt+1是t+1时刻的观测噪音,这两类噪音的协方差矩阵分别为Qt和Rt。Xt表示t时刻的真值,Xt+1表示t+1时刻的真值,由于实际操作时数据是仪器采集得到的,本身具有一定误差,真值Xt无法获取,因此用t时刻后验估算值 与t时刻的控制量Ut的和表示真值Xt, 表示t时刻系统观测值即t时刻的最优估算值,Ut是t时刻的控制量。 表示t+1时刻的先验状态估算值,这是算法根据前次迭代结果即t时刻的后验估计值做出的不可靠估计,Ut+1表示t+1时刻的控制量;
由于计算过程需要对非线性状态空间模型进行离散化处理,需求出系统状态方程和观测方程的偏导,即可得到对应的雅可比矩阵Ft、Ht+1:此时,非线性数据已近似为线性系统,可采用标准卡尔曼滤波算法进行去噪处理,其中,g(·)函数由t时刻的先验估计的协方差矩阵Pt和t+1时刻的先验估计的协方差矩阵Pt+1|t得到,公式如下:其中,gt+1表示t+1时刻观测方程g(·)的函数值;
因此,先求出离散化后的状态预测方程的协方差矩阵Pt+1|t,可表示为:
其中,Ft+1为t+1时刻的雅可比矩阵, 为矩阵Ft的转置矩阵;
根据协方差矩阵,可得到滤波增益矩阵Kt+1为:
其中, 表示Ht+1的转置矩阵,Rt+1表示t+1时刻的噪音协方差矩阵;
根据滤波增益矩阵进行状态和协方差更新,即可得到t+1时刻的后验估计的协方差矩阵Pt+1和去噪后的数据步骤1.2,为实现各学习器的并行性,需要保证各学习器之间有一定差异性,这里通过将数据进行分组,并根据每个学习器的估算误差调整其对应的样本权重,使不同学习器有不同的样本分布,从样本空间中随机选择75%的数据作为训练样本,另外25%数据作为测试数据,将训练样本分为m组,初始化时每组训练样本的权值均取平均数,即其中vij表示第i个弱学习器的第j组训练样本的权值,T表示迭代次数。
3.根据权利1所述的一种基于AdaBoost-CBP神经网络的电动汽车锂离子电池健康状态估算方法,其特征在于,所述步骤2的具体实现过程包括以下步骤:步骤2.1,结合分数微积分理论对整数阶梯度下降法进行改进,对输入层第i个神经元与隐含层第j个神经元之间的连接权值ωji进行调整:分数阶Caputo定义为:假设函数p(x),则有
其中,微分算子记号D,α表示微分阶数,Γ(x)为伽马函数,x为函数p(x)变量;
假设BP神经网络有n个输入节点,w个隐含层节点,s个输出节点,将输入层与隐含层的连接权值ωji作为自变量,网络估算误差E(ωji)作为因变量,可得到BP神经网络的估算误差与连接权值的函数关系如下式(10):其中,本发明采用Sigmoid函数作为激活函数,其计算公式为 yk表示期望输出,ok表示模型估算值,mi表示输入层第i个神经元的输出,Mj表示mi经传递函数变换得到的隐含层输入,ck表示Mj经隐含层学习后得到的输出值,ωkj表示隐含层第j个神经元与输出层第k个神经元之间的连接权值;
由于本发明引入分数阶主要是为了将整数阶进行拆分以避免极值点处各导数为0,根据分数微积分理论可知多个分数阶的和等于整数阶的和,因此本发明将一阶整数阶微分随机分成三个不同的分数阶α1、α2、α3的和,根据公式(9)和公式(10),即可得到误差E对连接权值ωji的微分权值修正量如下式(11):步骤2.2,由于本发明的输入节点数为3,输出节点数为1,将数值代入到隐含层节点数的经验公式,可得到隐含层最佳节点数的范围,基于此范围依次测试不同隐含层节点数下模型的估算精度,得到不同隐含层节点数下模型的估算误差,以误差最小的节点数作为神经网络隐含层节点数,初始化神经网络。
4.根据权利1所述的一种基于AdaBoost-CBP神经网络的电动汽车锂离子电池健康状态估算方法,其特征在于,所述步骤3的具体实现过程包括以下步骤:步骤3.1,采用弱学习器进行估算,计算该轮弱学习器的估算误差,第l代弱学习器Gl(x)的估算误差为Errl:Errl=max|yp-Gl(xp)|,p=1,2,…,m (12)其中,yp表示期望输出的原始数据,Gl(xp)表示Gl学习器的第p个样本数据的估算值;
步骤3.2,根据弱学习器的训练误差Errl调整该学习器的权重γl和下一次迭代的样本数据集权值分布Dl+1;调整过程如下:根据该轮学习器估算误差Errl计算第l个学习器的第p个样本的相对误差elp,公式为:根据第l个弱学习器的训练样本数据集中每个样本的相对误差elp和各样本在数据集中的权值分布vlp,可得到该学习器的回归误差率el,计算公式如下:根据回归误差率el即可确定该学习器的权重系数γl,计算公式如下:
第l个弱学习器迭代结束后,为提高模型对样本数据集的拟合能力,根据第l个弱学习器的训练样本数据集中每个样本的训练误差elp对样本的权值分布Dl进行调整,更新后的样本权值分布Dl+1作为下一次迭代时样本的权值分布,其中Dl+1=(vl+1,1,vl+1,2,…,vl+1,m),数据集中每个样本的权值分布vl+1,p的计算公式如下:其中,Zl表示规范化因子:
步骤3.3,进行循环判断,若该弱学习器估算误差大于设置的误差值则返回步骤3.1继续执行;若估算误差小于等于误差值则完成对弱学习器的训练,采用加权平均法构建所有弱学习器的线性组合,得到最终的强学习器H(x),其中加权平均公式如下: