如果一个方程,自变量的指数大于1,那么所有拟合这个方程的点就符合多项式回归。
多项式回归有个很重要的因素就是指数(degree)。如果我们发现数据的分布大致是一条曲线,那么很可能符合多项式回归,但是我们不知道degree是多少。所以我们只能一个个去试,直到找到最拟合分布的degree。这个过程我们可以交给数据科学软件完成。需要注意的是,如果degree选择过大的话可能会导致函数过于拟合, 意味着对数据或者函数未来的发展很难预测,也许指向不同的方向。
这个回归的计算需要用到矩阵数据结构。有的编程语言可能需要导入外库。
我们对所有拟合这个公式的点,用矩阵表示他们的关系
如果用矩阵符号表示:
多项式回归向量的系数(使用最小二乘法):
Java 和 Python 代码如下:
//需要安装jama包,这里是下载地址: http://math.nist.gov/javanumerics/jama/
import Jama.Matrix;
import Jama.QRDecomposition;
public class PR {
private final int N;
private final int degree;