对最小二乘法拟合曲线的简单说明

您所在的位置:网站首页 最小二乘法拟合流程图 对最小二乘法拟合曲线的简单说明

对最小二乘法拟合曲线的简单说明

#对最小二乘法拟合曲线的简单说明| 来源: 网络整理| 查看: 265

平时日常的生活工作中,会产生一些数据集,这些数据或是关于时间的变量(基于时间的序列),或者是关于多个自变量(由多个因素影响)的多元函数。在数学上为了建立能较为准确地描述这种函数关系的模型。往往会用到一种较为直观的方法,即图表法,即绘制出自变量的图。

1.理论 1.1最小二乘法

 

首先,这个式子就是最小二乘法的数学表达,这个式子的表示我们选取的模型得到的y的预测值,则是真实值。使得所有的两者之差的平方和最小,即可认为是所有预测值偏离真实值的程度最小。(事实上可证明最小二乘法得到的是真实值的无偏估计,但是方差并不一定是最小的,还有很多优化的措施)

1.2多元线性回归

本文旨在介绍一下拟合未知数据集曲线的一种方法,即最小二乘法。由于线性回归是大多数非线性回归的基础,先从线性回归讲起。或许在以前大家知道最小二乘法在拟合一元线性方程(即)的应用。那时得出来的公式如下:

但是总的来说这个公式不具备普适性,比如y要是和x1还有x2都有关联(即),这个公式就不适用了。接下来推导最小二乘法下的多元线性回归公式,(涉及高等数学和线性代数)

假设有一组因变量,且y满足线性关系。

 

由于随机误差无法量化,故在计算中只需计算f(x)部分。由两者关联得到:

 

 

将此式子化为矩阵形式得到矩阵形式

w即是所要求的的各个自变量前的系数组成的行向量(a,b,c,...等等)。接下来求其最小值,则使矩阵式子关于向量w的偏导为0即可。

即可通过以下符号解来求解线性方程组的最优参数。

(其实有些小缺陷,就是当矩阵不满秩时无法求逆,当然是有解决办法的,但这里不再赘述)

1.3非线性函数求解未知参数的方法

刚刚介绍了线性回归里求解模型参数的方法,接下来进入非线性的参数求解。举个例子,我已经确定我的模型为,这个明显是个非线性函数,是个有两个未知常数的指数模型。那么现在有了一堆数据点((x1,y1)(x2,y2)(x3,y3)...)我如何求解最小二乘法下的a、b的值呢?

引入梯度下降法的概念,梯度grad=,是一个对函数f每一个自变量求偏导得到的向量。方向导数描述了多元函数在某个方向上的上升趋势,而梯度方向是上升最快的方向,那么取梯度的反方向即当前下降最快的方向。故梯度下降法的迭代式为

(ɑ为步长),它是一种通过反复迭代来求解函数的局部最优解的方法,一般用在凸函数的最优解求解过程中。故多元非线性函数,可以通过利用梯度下降法来求最小二乘构造的函数的最小值来求得参数。

 

2.应用 2.1简单的曲线拟合

以下编程基于python2.7

就拿上面那个简单的例子来说,我先产生一个基于这个模型的散点,然后加上一个服从N~(0,1)正态分布的随机噪声。得到了以下散点:

 

黄色的散点为加上噪声的数据,红线为的曲线。这里我使用了一个简单的方法(当然如果是一般情况,就要使用一些列优化方法了),使其可以转化成线性回归,(无法经过处理线性化的非线性函数使用梯度下降法即可)做以下处理:

对等式两边取对数,得到,则可以根据(lny和lnx)的线性关系通过来算出来参数a和b。经过计算,得到参数第一个即a,第二个即参数b,与真实结果a=0.5和b=3.456近似。再接着画出来拟合的曲线如图,蓝色即为拟合的曲线:

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3