又死磕了一天,在同事的帮助下,会了“多项式回归”
先上公式:
多项式回归公式
在这里主要说的是a0、a1、a2这些系数是如何算出来的。
举例数据:
x数组:[1, 2, 3, 5, 6, 8]
y数组:[2, 8, 12, 18, 9, 6]
首先需要确定的是要做到x的几次方,我这里以3次方举例。
1、将x转成9x4的矩阵(如果x本身就是二维数据会有一些不一样,本质是差不多的,这里就不举例了),然后通过这个矩阵带入一下公式

求和
n1=x的和 = 25,n2=x平方和 = 129,n3=x的三次方和 = 6115,n4=x的四次方和 = xxxx,n5=x的五次方和 = xxxxx,y的和,x*y的和,x²*y的和。n=x的数量 = 9
根据公式

正规方程组矩阵
2、得出一下4x3的矩阵(M)这里用M代表这个矩阵
n n1 n2
n1 n2 n3
n2 n3 n4
n3 n4 n5
3、求偏导数矩阵(N)这里用N代表这个矩阵

求偏导数矩阵
z1 = y的和,z2 = x*y的和,z3 = x的2次方*y的和,z4 = x的3次方*y的和。
z1
z2
z3
z4
4、求系数a0、a1、a2、a3。完整矩阵

完整矩阵公式
M矩阵的逆矩阵 * N矩阵 = 4 * 1的矩阵,分别对应a0、a1、a2、a3
有些地方可能写的不够细致,这图是真的太不好画了。
参考来自多项式拟合 - 画鱼 - 博客园