数值分析:多元线性拟合和一元非线性拟合
最小二乘线性拟合是常规操作,本文直接跨过。由于多元线性拟合和一元非线性拟合关系密切,故本文将其二放在一起讨论。本文重点是实现单元的非线性拟合。最后补充一句:不论是一元线性、一元非线性、多元线性,其核心思想都是: 多项式拟合 ;核心方法都是: 最小二乘原理 。
定义:变量 与 个自变量 都存在线性关系,即构成了多元线性关系:
每一个自变量 都有一组(有 个)测量值,我们可以记做: 。注意: ,因为方程数要比未知数多。变量序号与其观测值序号如下表:
如何衡量拟合效果?还是根据 最小二乘原理 ,只不过是未知参数多了一些而已。现在的未知数为 ,即将最小二乘原理运用到包含 个 的函数上即可:
对于上式,我们一次对 求各个 的偏导数并令其值为0,可得如下 个方程:
最后用于求解的 正规方程组 为:
解上面的线性方程组即可得到一些列系数。
为什么说一元非线性拟合和多元线性拟合关系密切呢?因为为了计算方便,我们会使用 变量替换 的方法,将一元非线性各阶式子用不同的变量代替,转换成多元非线性,然后用上面的 正规方程组 求解。
例如:已知有 组非线性数据 ,用m阶一元非线性多项式拟合:
我们只需要用 代换( ),就可以将一元非线性转换为多元线性:
用上面多元线性的操作,根据最小二乘原理令关于每个未知系数的偏导数为0,可得正规方程的矩阵的通用形式如下:
关于上面最终求解方法有3个细节要注意 :
举一个例子 :
如何现在有 个观测数据,想要最高阶数 的多项式拟合,即:
最终求解矩阵(尺寸: )就是:
数据自己给,然后输入想要的阶数后,自动求解拟合公式:
例如5阶效果: