最小二乘法原理及应用

一、最小二乘法介绍

        最小二乘法是一种在误差估计、不确定度、系统辨识及预测、预报等数据处理诸多学科领域得到广泛应用的数学工具。

        这样说,可能比较抽象,难于理解,我们下面来详细解释一下。假设两个物理量x,y满足某个函数关系,即y=f(x),但是我们并不知道这个函数的具体公式。我们已知的是一些数据,也就是f(x)在若干点x_{i}处的取值为y_{i}(i=1,2,……N)。我们根据这些数据来推算出f(x)的近似表达式的过程,我们称为拟合。

        具体怎么拟合呢,就涉及到最小二乘法了。当然最小二乘法只是其中一种拟合方法,也可以采用其他方法来拟合。我们首先假设一个函数\psi \left ( x,a_{0},a_{1},\cdots ,a_{n} \right ),其中a_{0}~a_{n}为函数中的参数,f(x)可以近似表示成\psi \left ( x,a_{0},a_{1},\cdots ,a_{n} \right )。一般\psi \left ( x,a_{0},a_{1},\cdots ,a_{n} \right )是一个n次多项式,因为根据泰勒公式,任何函数都可以近似展开为一个n次多项式。对于上边提到的N个已知数据,我们设定一个指标

R=\sum_{i=1}^{N}\left ( y_{i}-\psi \left ( x_{i} \right ) \right )^{2}

这个指标就相当于是用\psi \left ( x,a_{0},a_{1},\cdots ,a_{n} \right )来替代f(x)对于数据样本的误差的平方和,当这个指标取最小值时,认为\psi \left ( x,a_{0},a_{1},\cdots ,a_{n} \right )为最优的函数,并以此计算出a_{0}~a_{n},从而得到\psi \left ( x,a_{0},a_{1},\cdots ,a_{n} \right )的表达式,这种方法就是最小二乘法。

二、最小二乘法拟合常量

        在有些情况下,有些物理量是常量,不存在函数关系,比如某个时刻的气温。这种情况,可以表示为y=a,对于这个物理量我们也可以获得N个测量值y_{i},我们可以采用最小二乘法的方法来拟合出这个常量的真实值。

       根据最小二乘法的规则,需要使下面的指标最小

R=\sum_{i=1}^{N}(y_{i}-a)^{2}

那这个问题就变成了我们要找一个a的值,使这个指标最小。我们将这个指标对a求导,可得

\frac{dR}{da}=-2\sum_{i=1}^{N}(y_{i}-a)=0

R取最下值的条件需要满足这个导数为0。由上面的等式可以计算得到

a=\frac{\sum_{i=1}^{N}y_{i}}{N}

有上式可知,a的最优取值就是N个测量值的平均值。

三、最小二乘法拟合线性函数

        在有些情况,变量x,y,满足线性关系,即y=ax+b。我们通过测量可以得到N组测量值\left ( x_{i},y_{i} \right ),根据最小二乘法的思想,则总的误差平方和指标为

R=\sum_{i=1}^{N}(ax_{i}+b-y_{i})^{2}

不同的a、b的取值会导致不同的指标值,我们需要找到一组a、b的取值使上述指标最小。根据多元微积分的知识,分别对a、b求偏导,并且偏导为0。

\left\{\begin{matrix} \frac{\partial R}{\partial a}=2\sum_{i=1}^{N}(ax_{i}+b-y_{i})x_{i}=0\\ \frac{\partial R}{\partial b}=2\sum_{i=1}^{N}(ax_{i}+b-y_{i})=0 \end{matrix}\right.

整理上式,可得

\left\{\begin{matrix} \left ( \sum_{i=1}^{N}{x_{i}}^{2} \right )a+\left ( \sum_{i=1}^{N}{x_{i}} \right )b=\sum_{i=1}^{N}{x_{i}}{y_{i}}\\ \left ( \sum_{i=1}^{N}{x_{i}} \right )a+Nb=\sum_{i=1}^{N}{y_{i}} \end{matrix}\right.

联立解方程组可得

\left\{\begin{matrix} a=\frac{N\sum_{i=1}^{N}{x_{i}}{y_{i}}-\sum_{i=1}^{N}{x_{i}}\sum_{i=1}^{N}{y_{i}}}{N\sum_{i=1}^{N}{x_{i}}^{2}-\left ( \sum_{i=1}^{N}{x_{i}} \right )^{2}}\\ b=\bar{y}-a\bar{x} \end{matrix}\right.

其中,\bar{y}\bar{x}为N组测量值的y和x的平均值。由此可得到线性函数的表达式。

四、最小二乘法拟合多项式函数 

     最小二乘过程很容易推广到多项式拟合数据的情况。首先,我们先来拟合一个二次多项式。

y=a_{0}x^{2}+a_{1}x+a_{2}

根据最小二乘法的思想,则总的误差平方和指标为:

R=\sum_{i=1}^{N}\left ( a_{0}x^{2}+a_{1}x+a_{2}-y_{i} \right )^{2}

根据多元微积分的知识,分别对各系数求偏导,并且偏导为0。

\left\{\begin{matrix} \frac{\partial R}{\partial a_{0}}=2\sum_{i=1}^{N}{x_{i}}^{2}\left ( a_{0}{x_{i}}^{2}+a_{1}x_{i}+a_{2}-y_{i} \right )\\ \frac{\partial R}{\partial a_{1}}=2\sum_{i=1}^{N}x_{i}\left ( a_{0}{x_{i}}^{2}+a_{1}x_{i}+a_{2}-y_{i} \right )\\ \frac{\partial R}{\partial a_{2}}=2\sum_{i=1}^{N}\left ( a_{0}{x_{i}}^{2}+a_{1}x_{i}+a_{2}-y_{i} \right ) \end{matrix}\right.

对上式进行整理,可得

\left\{\begin{matrix} \left ( \sum_{i=1}^{N}{x_{i}}^{4} \right )a_{0}+\left ( \sum_{i=1}^{N}{x_{i}}^{3} \right )a_{1}+\left ( \sum_{i=1}^{N}{x_{i}}^{2} \right )a_{2}=\sum_{i=1}^{N}{x_{i}}^{2}{y_{i}}\\ \left ( \sum_{i=1}^{N}{x_{i}}^{3} \right )a_{0}+\left ( \sum_{i=1}^{N}{x_{i}}^{2} \right )a_{1}+\left ( \sum_{i=1}^{N}{x_{i}} \right )a_{2}=\sum_{i=1}^{N}{x_{i}}{y_{i}}\\ \left ( \sum_{i=1}^{N}{x_{i}}^{2} \right )a_{0}+\left ( \sum_{i=1}^{N}{x_{i}} \right )a_{1}+Na_{2}=\sum_{i=1}^{N}{y_{i}} \end{matrix}\right.

以上是三个线性方程,三个位置数,方程式可解的。因此可以计算出a_{0}a_{1}a_{2}的值,进而得到二次多项式的表达式。

我们很容易将上述方法推广到m此多项式的你和问题,只是复杂度会更高一些。

  • 9
    点赞
  • 82
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值