最小二乘法原理及应用

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

一、最小二乘法介绍

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

        这样说,可能比较抽象,难于理解,我们下面来详细解释一下。假设两个物理量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此多项式的你和问题,只是复杂度会更高一些。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233286.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • HTTP和HTTPS的区别,有什么优缺点「建议收藏」

    HTTP和HTTPS的区别,有什么优缺点「建议收藏」http和https:http就是超文本传输协议的缩写,用于从网站服务器传输数据到上网者的本地浏览器的协议https就是在http的基础加上了SSL或者其他的加密方式,所以这就是最主要的区别。原因:因为http在传输的时候是以明文的方式传输数据,这样的话在传输过程中如果被截获就能直接读取信息,所以并不安全,因此需要通过某种方式加密。怎样解决http不安全的问题呢?解决方法就是在http的基础上加上了SSL协议SSL,安全套接字协议,他是靠证书来验证服务端的身份,并在本地

    2022年8月31日
    5
  • linux进阶40——futex

    linux进阶40——futex1.概念Futex是FastUserspacemuTexes的缩写,由HubertusFranke,MatthewKirkwood,IngoMolnarandRustyRussell共同设计完成。Futex按英文翻译过来就是快速用户空间互斥体。其设计思想其实不难理解,在传统的Unix系统中,SystemVIPC(interprocesscommunication),如semaphores,msgqueues,sockets还有文件锁机制(flock())等进程

    2022年9月21日
    2
  • 安装完Ubuntu 15.04桌面后要做的15件事

    安装完Ubuntu 15.04桌面后要做的15件事

    2022年3月2日
    51
  • ENVI5.3.1使用Landsat 8影像进行辐射定标和大气校正实例操作

    ENVI5.3.1使用Landsat 8影像进行辐射定标和大气校正实例操作ENVI5.3.1使用Landsat8影像进行辐射定标和大气校正实例操作

    2022年7月23日
    10
  • 高等数学学习笔记——第十四讲——函数极限的概念(2. 函数在有限点处极限定义)「建议收藏」

    高等数学学习笔记——第十四讲——函数极限的概念(2. 函数在有限点处极限定义)「建议收藏」1.函数自变量x趋于x0时函数极限的定义2.函数在有限点处极限定义一览3.函数在有限点处极限的几何解释4.函数在有限点处极限是否存在与函数在该点处是否有定义无关5.函数在有限点处极限存在性证明示例…

    2022年5月24日
    39
  • 2020年前端面试题及答案_结构化面试题库及答案

    2020年前端面试题及答案_结构化面试题库及答案1、javascript基本数据类型?string、number、null、underfined、booleanobject是所有对象的父对象。2、浅谈javascript中变量和函数声明的提升?变量和函数声明的提升会被提升到最顶部去执行;函数的提升高于变量的提升;如果在函数内部用var声明了与外部相同的变量,则不向下寻找;匿名函数不会被提升;不同块中互不影响。3、什么是闭包?闭包有什么特性?闭包就是能够读取其他函数内部变量的函数。闭包的特性:函数内部可以嵌套函数;内部函数可以直接

    2022年8月27日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号