回归演算法及SOC估计应用实例
回归演算法,是一种应用比较广泛的机器演算法。智能演算法中,回归演算法往往与其他演算法结合使用。在锂电池SOC估计中,开路电压估计SOC的方法,就是一种典型的回归演算法应用形式。详细过程在本文最后一部分说明。
1 什么是回归演算法
简单的理解回归,就是找到模型函数中未知系数的方法。我们常常会遇到这样的情形,一个系统的输入变数与输出变数之间,关系比较复杂,不存在现成的理论公式描述这种关系。而我们知道,输入与输出之间一定存在著某种稳定的确定关系,并且我们需要这个函数的具体形式,来指导后续的实验或者生产。于是回归演算法就应运而生。
回归演算法使用的典型过程是这样的:
首先,准备好我们想要了解的典型系统。
第二,给系统一系列典型输入,并测量相应的输出,获得n组由输入、输出数据构成的空间点数据。
第三,根据系统的特点,选择系统模型的典型函数形式,参数待定;
第四,将第二步获得的数据,带入第三步函数式中,解出系统模型的每个参数。这样,我们就获得了一个描述系统输入与输出关系的经验公式。
第五,选取另外一组实验数据,代入经验公式,验证公式的准确性。如果精度在要求范围内,则确定公式可用。
第六,在后续工作过程中,可以利用公式,估计不同输入获得的输出范围。
2 回归演算法分类
线性回归
线性回归,自变数和因变数的幂次方都不超过1,则将方程称为线性回归方程。回归方程往往不能直接求解,而需要找到函数最小误差公式,求解函数误差最小时,函数参数的取值。求解最小值的方法有梯度法,最小二乘法等。
局部加权线性回归
线性回归形式比较简单,易于求解,可以描述函数的整体趋势。但对于函数的局部波动无能为力。于是,人们在线性回归的基础上改进,得到局部加权方法。局部加权方法,允许估计中出现稍大的误差,进而减小系统均方误差,函数图形演变成了折线形。
逻辑回归
当函数值只有0和1两种取值时,我们需要用到逻辑回归。逻辑回归主要应用于数据分类。
多项式回归
多项式回归,顾名思义,就是自变数指数超过1的回归模型,是最具普遍意义的一种拟合形式,很多工程问题都可以应用这种回归演算法。
相比于线性回归,多项式回归会耗费更多计算资源,指数越大计算量越大。当我们选择多项式模型时,需要关注,拟合曲线的首尾指数较高的函数,评判在实际应用中是否有对应的意义。
逐步回归
当系统中存在多个自变数时,需要用到逐步回归。计算可以从最显著的变数开始,逐步加入次显著的变数,叫前进法;先加入全部变数,再逐步剔除一些影响不显著的变数,叫做后退法。
其他回归演算法
除了上面的回归模型,常见的还有岭回归、LASSO回归、ElasticNet回归等,都是前述回归演算法的改进和组合。
3 过拟合和欠拟合
选择的回归方法是否合适,主要是观察拟合结果,实验数据点与函数曲线的贴合程度越高,说明拟合效果越好。在网上看到两张图,看一眼就明白什么是欠拟合、过拟合、恰当的拟合,盗图一用。
观察下面三幅图。欠拟合,由于选取函数模型的幂次不够,拟合曲线除了体现划分边界的大体趋势,并不能对数据做出准确的划分;过拟合,函数曲线精准分割数据点,但因为一两个数据点,却极大提高了函数复杂度,计算量显著增加;恰当的拟合,如第三幅图所示。
个人理解,过拟合和恰当的拟合之间,可能并没有非常明晰的界限。随著计算机算力的不断提高,过拟合的起点肯定会相应提高。过拟合与适当的拟合之间,实际上是准确性与计算代价之间的平衡,无关乎对错。