分享

最小二乘法

 晶格jing 2014-02-23

1 最小二乘法

  最小二乘法

2 历史简介

  1801年,意大利天文学家朱赛普·皮亚齐发现了第一颗小行星谷神星。经过40天的跟踪观测后,由于谷神星运行至太阳背后,使得皮亚齐失去了谷神星的位置。随后全世界的科学家利用皮亚齐的观测数据开始寻找谷神星,但是根据大多数人计算的结果来寻找谷神星都没有结果。时年24岁的高斯也计算了谷神星的轨道。奥地利天文学家海因里希·奥尔伯斯根据高斯计算出来的轨道重新发现了谷神星。

  高斯使用的最小二乘法的方法发表于1809年他的著作《天体运动论》中。

  法国科学家勒让德于1806年独立发现“最小二乘法”,但因不为世人所知而默默无闻。

  勒让德曾与高斯为谁最早创立最小二乘法原理发生争执。

  1829年,高斯提供了最小二乘法的优化效果强于其他方法的证明,因此被称为高斯-莫卡夫定理。(来自于wikipedia)

3 原理

  在我们研究两个变量(x,y)之间的相互关系时,通常可以得到一系列成对的数据(x1,y1.x2,y2... xm,ym);将这些数据描绘在x -y直角坐标系中,若发现这些点在一条直线附近,可以令这条直线方程如(式1-1)。

  Yj= a0 + a1 X (式1-1)

  其中:a0、a1 是任意实数

  为建立这直线方程就要确定a0和a1,应用《最小二乘法原理》,将实测值Yi与利用(式1-1)计算值(Yj=a0+a1X)的离差(Yi-Yj)的平方和〔∑(Yi - Yj)2〕最小为“优化判据”。

  令:φ = ∑(Yi - Yj)2 (式1-2)

  把(式1-1)代入(式1-2)中得:

  φ = ∑(Yi - a0 - a1 *Xi)2 (式1-3)

  当∑(Yi-Yj)平方最小时,可用函数 φ 对a0、a1求偏导数,令这两个偏导数等于零。

  (式1-4)

  (式1-5)

  亦即:

  m a0 + (∑Xi ) a1 = ∑Yi (式1-6)

  (∑Xi ) a0 + (∑Xi2 ) a1 = ∑(Xi,Yi) (式1-7)

  得到的两个关于a0、 a1为未知数的两个方程组,解这两个方程组得出:

  a0 = (∑Yi) / m - a1(∑Xi) / m (式1-8)

  a1 = [m∑Xi Yi - (∑Xi ∑Yi)] / [m∑Xi2 - (∑Xi)2 )] (式1-9)

  这时把a0、a1代入(式1-1)中, 此时的(式1-1)就是我们回归的元线性方程即:数学模型。

  在回归过程中,回归的关联式是不可能全部通过每个回归数据点(x1,y1. x2,y2...xm,ym),为了判断关联式的好坏,可借助相关系数“R”,统计量“F”,剩余标准偏差“S”进行判断;“R”越趋近于 1 越好;“F”的绝对值越大越好;“S”越趋近于 0 越好。

  R = [∑XiYi - m (∑Xi / m)(∑Yi / m)]/ SQR{[∑Xi2 - m (∑Xi / m)2][∑Yi2 - m (∑Yi / m)2]} (式1-10) *

  在(式1-1)中,m为样本容量,即实验次数;Xi、Yi分别任意一组实验X、Y的数值。

4 公式

  最小二乘法公式 

  注:以下“平”是指某参数的算数平均值。如:X平——x的算术平均值。

  1、∑(X--X平)(Y--Y平)=

  ∑(XY--X平Y--XY平+X平Y平)=

  ∑XY--X平∑Y--Y平∑X+nX平Y平=

  ∑XY--nX平Y平--nX平Y平+nX平Y平=∑XY--nX平Y平; 

  2、∑(X --X平)^2=

  ∑(X^2--2XX平+X平^2)=

  ∑X^2--2nX平^2+nX平^2=∑X^2--nX平^2;

  3、Y=kX+b

  k=((XY)平--X平*Y平)/((X^2)平--(X平)^2),

  b=Y平--kX平;

  X平=1/n∑Xi,

  (XY)平=1/n∑XiYi;

5 拟合

  对给定数据点{(Xi,Yi)}(i=0,1,…,m),在取定的函数类Φ 中,求p(x)∈Φ,使误差的平方和E^2最小,E^2=∑[p(Xi)-Yi]^2。从几何意义上讲,就是寻求与给定点 {(Xi,Yi)}(i=0,1,…,m)的距离平方和为最小的曲线y=p(x)。函数p(x)称为拟合函数或最小二乘解,求拟合函数p(x)的方法称为曲线拟合的最小二乘法。

6 矩阵形式

  Ax=b,其中A为nxk的矩阵,x为kx1的列向量,b为nx1的列向量。如果n>k(方程的个数大于未知量的个数),这个方程系统称为Over Determined System,如果n<k(方程的个数小于未知量的个数),这个系统就是Under Determined System。

  正常来看,这个方程是没有解的,但在数值计算领域,我们通常是计算 min ||Ax-b||,解出其中的x。比较直观的做法是求解A'Ax=A'b,但通常比较低效。其中一种常见的解法是对A进行QR分解(A=QR),其中Q是nxk正交矩阵(Orthonormal Matrix),R是kxk上三角矩阵(Upper Triangular Matrix),然后min ||Ax-b|| = min ||QRx-b|| = min ||Rx-Q'b||,用MATLAB命令x=R\(Q'*b)可解得x。

7 Matlab实现

  ① 一次函数使用polyfit(x,y,1)

  ②多项式函数使用 polyfit(x,y,n),n为次数

  拟合曲线

  x=[0.5,1.0,1.5,2.0,2.5,3.0],

  y=[1.75,2.45,3.81,4.80,7.00,8.60]。

  解:MATLAB程序如下:

  x=[0.5,1.0,1.5,2.0,2.5,3.0];

  y=[1.75,2.45,3.81,4.80,7.00,8.60];

  p=polyfit(x,y,2)

  x1=0.5:0.05:3.0;

  y1=polyval(p,x1);

  plot(x,y,'*r',x1,y1,'-b')

  计算结果为:

  p =0.5614 0.8287 1.1560

  即所得多项式为y=0.5614x^2+0.8287x+1.15560

  ③非线性函数使用 lsqcurvefit(fun,x0,x,y)

8 在交通运输学中的运用

  交通发生预测的目的是建立分区产生的交通量与分区土地利用、社会经济特征等变量之间的定量关系,推算规划年各分区所产生的交通量。因为一次出行有两个端点,所以我们要分别分析一个区生成的交通和吸引的交通。交通发生预测通常有两种方法:回归分析法和聚类分析法。

  回归分析法是根据对因变量与一个或多个自变量的统计分析,建立因变量和自变量的关系,最简单的情况就是一元回归分析,一般式为:Y=α+βX式中Y是因变量,X是自变量,α和β是回归系数。若用上述公式预测小区的交通生成,则以下标 i 标记所有变量;如果用它研究分区交通吸引,则以下标 j 标记所有变量。而运用公式的过程中需要利用最小二乘法来求解,上述公式中的回归系数根据最小二乘法可得:

  最小二乘法最小二乘法最小二乘法其中,式中的X拔是规划年的自变量值,Y拔是规划年分区交通生成(或吸引)预测值    

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多