, , ,
(1.福州大学 数学与计算机科学学院,福州 350108;2.福建星云电子股份有限公司,福州 350015)
现如今世界正在遭遇能源危机,生态环境破坏严重,空气污染的情况也是越来越不容乐观,因此电动汽车在汽车产业中脱颖而出。而在诸多汽车电池中,锂电池因为性能稳定、寿命长、承受力强等优势,成为了电动汽车动力电池的绝佳选择[1-2]。为了对锂电池进行高效管理,防止过充、过放的情况发生,保证锂电池使用的安全性以及性能,需要对锂电池的荷电状态(state of charge,SOC)进行准确预测[3-4]。如果能够精确地估计锂电池的充电SOC值,可以根据充电SOC值的变化过程评估锂电池的健康状态,以此来对锂电池进行定期维护,从而使锂电池的寿命更加长久,使用的安全系数也大大提高。
针对锂电池SOC预测的问题,各个国家都在进行深入研究,并在不同的方法上取得了一定的成果。文献中提到的方法有PNGV等效电路模型法、安时积分法、开路电压结合卡尔曼滤波法、改进的卡尔曼滤波法以及人工神经网络法[5-8]。但是这些方法都具有一定的局限性,安时积分法若电流测量不准确,会导致SOC计算误差,之后误差还会随着时间推移变大,而且还会受到充放电效率和温度变化的影响。开路电压法的缺点是测量电池需要长时间静置,以达到电压稳定,实际情况下静置时间需要长达几小时乃至十几个小时,这给测量造成了很大的困难。卡尔曼滤波法因为系统内部较为复杂,用于电池管理系统中费用昂贵,短板比较明显。人工神经网络法存在算法过程繁杂的问题,在实际工程应用中不易于推广[9]。
实验是基于锂电池充电过程中的实际数据,使用Python语言编程实现,通过把充电机电压,充电机电流,最大单体电压,剩余充电时间,电池充电电压,电池充电电流,充电时间,充电能量,充电总容量,最大单体温度,最小单体温度这十一个特征变量数据作为输入数据,锂电池的充电SOC作为输出数据,运用多元线性回归模型进行训练。模型训练完成后导入新的输入数据,通过模型预测出锂电池开始充电到结束充电过程中准确的SOC值。
多元线性回归模型是用多个特征向量的给定值作为条件的回归分析,得到一个输出变量和多个输入变量间的线性关系[10],通过数学公式的计算,训练相关数据,建立反映输入变量和输出变量之间关系的模型,之后按照所得到的模型进行预测。多元线性回归模型的假设函数公式为:
Y=θ0+θ1X1+θ2X2+…+θnXn
(1)
公式(1)中,n为输入变量的个数,θi(i=1,2,…,n)为各个输入变量的回归系数,θ0为截距,Xi(i=1,2,…,n)为输入变量,Y为输出变量。
若X的列满秩可以采用普通最小二乘法,回归系数矩阵为:
(2)
理论上只要知道了假设函数, 就能够用模型进行数据预测了。关键在于假设函数存在多个未知量,即回归系数及截距。当选择不同回归系数和截距时, 模型的预测效果就会不同。代价函数就是用于找到最优解的目的函数,它能帮助寻找最优的回归系数和截距,使模型的预测效果达到最好。多元线性回归模型的代价函数公式为:
(3)
公式(3)中,J(θ)为代价函数值,θi(i=1,2,…,n)为各个输入变量的回归系数,θ0为截距,m为训练样本的数量,hθ为假设函数值即预测值,x(i)(i=1,2,…,n)为输入变量,y(i)(i=1,2,…,n)为真实值。
梯度下降算法是一种优化算法, 它的作用在于能够找到一个函数的局部极小值点,是求解机器学习算法模型参数的常用方法之一。在求解代价函数的最小值时,可以通过梯度下降法来一步步迭代求解,最终得到最小化的代价函数和模型参数值。多元线性回归模型的梯度下降法公式为:
(4)
在估计出多元线性回归模型的参数之后,需要对模型进行评价,以此来判断模型预测的效果。评价的指标包括直接误差,平均误差,绝对平均误差,标准差,均方根误差,拟合优度检验(决定系数)等。
1)直接误差,指的是一个量的预测值或计算值与其真实值之差。
e=Sp-St
(5)
e为模型误差,Sp为模型输出值,St为实际值。
2)平均误差,指的是预测得到所有值的随机误差的算术平均值。
(6)
3)绝对平均误差,又叫平均绝对离差,它是所有单个预测值与算术平均值的偏差的绝对值的平均。
(7)
4)标准差,又常称均方差,是离均差平方的算术平均数的平方根,标准差能反映一个数据集的离散程度。
(8)
5)均方根误差,是预测值与真实值偏差的平方与预测次数n比值的平方根。
(9)
(10)
公式(6)中,R2为决定系数,决定系数越靠近1,模型的拟合度就越好。
模型训练数据的过程,实质是求解模型参数最优解的过程。假设函数hθ的值越接近真实值y时,说明此时的模型参数预测效果越好。这里选择均方误差来作为衡量标准,目的是想要每个样例的估计值与真实值之间差的平方的均值最小,即得到代价函数J(θ)的最小值。首先随机选择θ0,θ1,…,θn,然后不断改变它们的值,使得J(θ)变小,直至最终找到J(θ)的最小值点。寻找过程中采用的就是梯度下降法,可以想象成下坡路,假如想尽可能快下坡,应该每次都往坡度最大的方向下山。由于多维函数不好可视化,这里以回归参数为二维的情况为例说明,如图1为梯度下降法求解代价函数J(θ)最小值的示意图。迭代多次之后可以得到最优的模型参数,用最优的模型参数对应的假设函数来进行预测。
图1 梯度下降法求解最优解示意图
实验中使用了两种不同锂电池的充电数据,记第一种锂电池为A锂电池,第二种锂电池为B锂电池,部分样本数据如表1所示。
表1 部分样本数据
数据预处理采用的是最大-最小值法(Max-Min normalization),最大-最小值法是对原始数据进行线性变换。记xmin和xmax分别为属性x的最小值和最大值,将x的一个原始值xk通过标准化映射成在区间[0,1]中的值。其转换映射公式为:
(11)
步骤一:首先用Python语言读取充电机电压,充电机电流,最大单体电压,剩余充电时间,电池充电电压,电池充电电流,充电时间,充电能量,充电总容量,最大单体温度,最小单体温度这十一个特征变量数据作为输入数据,锂电池充电SOC作为输出数据。
步骤二:使用最大-最小值法对输入输出数据进行预处理,把每一维的数据都缩小到[0,1]之间。
步骤三:将数据预处理之后,对标准化了的输入输出数据进行随机分片,其中80%的数据集作为训练集,20%的数据集作为测试集。
步骤四:将训练集导入多元线性回归模型,通过梯度下降法求解代价函数的最小值,从而得到最优的回归参数。
步骤五:分别用训练集和测试集数据对训练完成的多元线性回归模型进行测试,得到训练集和测试集预测的锂电池充电SOC的值。
步骤六:根据多元线性回归运行结果的预测值和真实值,能够绘制误差分布图,计算出回归方程,直接误差,平均误差,绝对平均误差,标准差,均方根误差以及决定系数这些评价指标。
步骤七:分析各项评价指标,评估多元线性回归模型对锂电池充电SOC的预测效果
实验首先用A锂电池的训练集进行测试,训练集锂电池充电SOC的误差分布如图2所示。然后用A锂电池的测试集进行测试,测试集锂电池充电SOC的误差分布如图3所示。两个图的横坐标表示测试数据的数量,纵坐标表示锂电池充电SOC的误差。
图2 A锂电池训练集SOC误差分布
图3 A锂电池测试集SOC误差分布
程序执行结束后在本地输出判断预测精度的评价指标,A锂电池充电数据在多元线性回归模型中拟合后的各个评价指标如表2所示。第一行是训练集的评价指标,第二行是测试集的评价指标。
表2 A锂电池训练集和测试集评价指标
由图2可以看到A锂电池训练集充电SOC的误差在0附近上下小范围内波动,呈现出正态分布的样子,再由表2中训练集一行的各项评价指标,可以看到平均误差小到几乎可以忽略不计,决定系数达到99.422,没有出现欠拟合的情况,从而能够得到实验中多元线性回归模型训练得相当成功这一结论。
由图3可以看到A锂电池测试集充电SOC的误差分布与图1训练集中的十分相似,同样是在0附近小范围上下浮动,能直观地看出对锂电池充电SOC预测的效果不错。再由表2中测试集一行的各项指标详细分析,平均误差,绝对平均误差,标准差,均方根误差都很小,决定系数达到了99.412,相当接近去1,整体的结果都和训练集的结果非常相近。由此说明多元线性回归模型适用于A锂电池充电SOC的预测,能够很准确地估算出SOC值。
通过拟合的回归系数,可以得出A锂电池的多元线性回归方程为:
Y=0.16-1.627X1-0.0293X2+0.223X3+0.025X4+
2.496X5-0.224X6-0.004X7-7.517X8+7.327X9-
0.305X10+0.298X11
(12)
在测试完A锂电池后,开始对B锂电池的实验。同样先用B锂电池的训练集进行测试,训练集锂电池充电SOC的误差分布如图4所示。然后用B锂电池的测试集进行测试,测试集锂电池充电SOC的误差分布如图5所示。两个图的横坐标表示测试数据的数量,纵坐标表示锂电池充电SOC的误差。
图4 B锂电池训练集SOC误差分布
图5 B锂电池测试集SOC误差分布
B锂电池充电数据在多元线性回归模型中拟合后的各个评价指标如表3所示。第一行是训练集的评价指标,第二行是测试集的评价指标。
表3 B锂电池训练集和测试集评价指标
从图4可以看到B锂电池训练集充电SOC的误差分布在0左右,并且误差值都非常小,整体也近似于正态分布,从表3中训练集一行的各项评价指标,能够发现平均误差几乎为零,决定系数达到99.839,没有出现欠拟合的情况,所以可以认为B锂电池充电数据在多元线性回归模型中同样训练得很好。
从图5可以看到B锂电池测试集充电SOC的误差都保持在0.04以内,误差非常小,直观地看出估算的准确性,同A锂电池的预测误差相比,对B锂电池的预测显得更加优秀。再对表3中测试集一行的各项指标进行分析,平均误差,绝对平均误差,标准差,均方根误差都十分小,并且接近训练集的误差指标,决定系数达到了99.823,这些评价指标充分体现了多元线性回归模型对B锂电池充电SOC预测的准确性。
通过拟合的回归系数,可以得出B锂电池的多元线性回归方程为:
Y=-0.242-0.179X1+0.088X2-0.076X3+
0.007X4+0.881X5+0.003X6+0.832X7-
1.269X8+0.917X9+0.573X10-0.044X11
(13)
从实验结果可以了解到,多元线性回归模型对A锂电池和B锂电池充电SOC值的预测结果都十分理想。这说明了锂电池充电SOC的变化过程具有一定的线性规律,可以应用多元线性回归模型来做预测。而且,多元线性回归针对该问题还具有一定通用性,对不同的锂电池进行实验,都能有不错的预测效果。
针对锂电池充电SOC的预测问题,使用了多元线性回归模型对两种不同的电动汽车锂电池的充电数据进行训练,测试。研究结果表明,锂电池充电SOC的变化过程具有一定的线性规律,多元线性回归模型预测SOC值的误差都能控制得很小,决定系数都高于99%,具有很好的预测效果且有一定的通用性。除此之外,多元线性回归模型参数较少,结构简单,易于实现,更容易在实际应用中推广,这是诸如卡尔曼滤波法和神经网络法等方法所不具备的特点。