h = a –bqc线性最小二乘问题 c语言,物理实验之最小二乘法 | 怎样学习大学物理小组 | 果壳网 科技有意思...
物理实验中,数据处理经常用到最小二乘法。当然最小二乘法用手算的话好麻烦啊。
大家可能已经知道最小二乘法是什么了,这里也不多说了,就简单提一下。
一、最小二乘法原理
线性的最小二乘法是用来产生最能代表一组数据的一个一次函数,这里说的是最好的拟合,而不是完美的拟合。
例如这样一个例子:
这里有三个数据点,A(x1,y1),B(x2,y2),C(x3,y3)。我们要找一条最能够代表这三个点的直线。那如何找呢?
我们的想法是要使得误差最小。可是什么是误差?怎么代表误差?
假设我们现在已经把这条线找到了,比如是 y = f(x)。那么如果 A 点相对于直线的误差是不是可以用 A' 和 A 的纵坐标之差来表示?这样我们把所有的三个点的这些误差加起来,是不是就可以代表所有点的总的误差呢?
这里有个问题,但看一个点,这个方法没有问题,但是如果是很多点,那么这个差值有正有负,加起来就可能会有相互抵消的。所有呢,我们的办法是求这些误差的平方和。
那么最小二乘法就是要这个误差最小。Least squares 就是说要这个带 squares 的式子最小。
至于如何使得这个最小,至少有两种方法。一种是直接用微积分的知识,对所有未知的参量求偏导数并设为零,就可以求出参量了。另一种方法是用线性代数的方法,就是利用往空间上投影的方法。
当然,两种方法都是课本上的公式了,具体求解的话,也就是要带公式了。
不过呢,要是这个帖子只说这点内容,就没啥意义了对吧。
所以最好能讨论一下从线性代数的角度,或者说从几何的角度来看最小二乘法。
最小二乘法是要找到一条直线, y = c + d x。这样的话,我们把数据带进去,就会形成系列方程组,可以写成矩阵的样子:
但是,要知道,我们只有两个待定系数,所以这是过度确定的。一般是无解的。这就是我们前面说最小二乘法是在找最好的拟合,而不是完美的拟合的原因。
那么我们要怎么做呢?
现在有一组纵轴的数据,
这组数据呢,就是一个 n 维空间的一个矢量。
而系数矩阵
呢,就像一个参考空间。
我们要做的呢,就是要把这个 n 维空间的矢量的末端到这个参考空间上的投影,这个投影就是最合适的拟合,也就是我们的最小二乘法的精要。
做个比喻。这就好比说我们有个平面,如果我们的数据是完全线性的,那么所有的数据都会落在这个平面内,但是,实际情况可能有所偏差,是的代表所有数据的点脱离了这个平面,那我们要找的那条曲线是什么呢?那自然是代表所有数据在这个点(或者说从起点出发的矢量)在这个平面内的投影啦!
但,这不能算啊?我们要找到的是 c,d 的值啊?怎么算呢?
我们还有个
里面我们给 c 和 d 加了帽了~ 有帽表示这个只是个最好的拟合,但不一定是完美的~
那这些之间有什么关系呢?我们可以看前面的等式,比如用 A 表示系数矩阵,用 M 表示要求解的两个参数(戴帽子哦)矩阵,还有一个 b 表示所有的代表纵坐标的数据矩阵。
好啦,书上说我们要求解的方程是
为嘛呢?我们做个变化
好嘛,这样就可以理解几何意义了。因为这里面右边的是
一个投影算符作用在了 b 上!太好了,投影算符的作用就是把 b 在 A 空间内投影!这样数学就跟我们上面的意义的描述结合起来啦。所以对于最小二乘法,我们要做的是解这样一个矩阵方程
不过这个跟用微积分做是一样的,方程组一样,结果更一样。只是这样可以看到一点从微积分来理解看不到的东西。
二、软件处理
好了,最实用的部分。如何用软件快速的来做最小二乘法的拟合呢?
我想大学里面可能教大家最多的是用 Origin,Sigmaplot 甚至 Excel 之类的软件来做的。挺好的,总之能做出来就成。这些软件里面呢,用的最广的应该是 Origin,但是我更喜欢 Sigmaplot,因为 Sigmaplot 做出来的图不需要做很大的调整就挺好看的,多图排版什么的也很容易。作图嘛,漂亮太重要了。
但是这里我们要说的不是 Sigmaplot,而是一款很多人听说过但是没用过的软件,Mathematica。
可能有人要问,为什么我要用 Mathematica 这么专业的软件啊?
说实话,Mathematica 这几年发展下来,已经不算是一款专业软件了,它上手快,用起来简单而优雅。甚至 Mathematica 都有了 Home 版了!(这…… )
关于 Mathematica 的函数f作图呢?参考 高数也要用 Mathematica —— 作图一 这篇文章。
但数据处理这部分需要比较长的篇幅,所以请看怎样学高数小组的这篇吧:
http://www.guokr.com/post/449185/
总结
以上是生活随笔为你收集整理的h = a –bqc线性最小二乘问题 c语言,物理实验之最小二乘法 | 怎样学习大学物理小组 | 果壳网 科技有意思...的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 什么是自动做市商?
- 下一篇: 法规标准-ECE R79标准解读