最小二乘法
历史简介
1801年,义大利天文学家朱赛普·皮亚齐发现了第一颗小行星谷神星。经过40天的跟蹤观测后,由于谷神星运行至太阳背后,使得皮亚齐失去了谷神星的位置。随后全世界的科学家利用皮亚齐的观测资料开始寻找谷神星,但是根据大多数人计算的结果来寻找谷神星都没有结果。时年24岁的高斯也计算了谷神星的轨道。奥地利天文学家海因裏希·奥尔伯斯根据高斯计算出来的轨道重新发现了谷神星。
高斯使用的最小二乘法的方法发表于1809年他的着作《天体运动论》中。
法国科学家勒让德于1806年独立发现“最小二乘法”,但因不为世人所知而默默无闻。
勒让德曾与高斯为谁最早创立最小二乘法原理发生争执。
1829年,高斯提供了最小二乘法的最佳化效果强于其他方法的证明,因此被称为高斯-莫卡夫定理。(来自于wikipedia)
原理
在我们研究两个变数(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的数值。
公式
最小二乘法公式
注:以下“平”是指某参数的算数平均值。如: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),
=Y平--kX平;
X平=1/n∑Xi,
(XY)平=1/n∑XiYi;
拟合
对给定资料点{(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)的方法称为曲线拟合的最小二乘法。
矩阵形式
Ax=b,其中A为nxk的矩阵,x为kx1的列向量,b为nx1的列向量。如果n>k(方程的个数大于未知量的个数),这个方程系统称为Over Determined System,如果n 正常来看,这个方程是没有解的,但在数值计算领域,我们通常是计算 min ||Ax-b||,解出其中的x。比较直观的做法是求解A'Ax=A'b,但通常比较低效。当A的秩小于k时,有无数多个最小二乘解,若A的秩=k ① 一次函式使用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]; =polyfit(x,y,2) x1=0.5:0.05:3.0; y1=polyval(p,x1); lot(x,y,'*r',x1,y1,'-b') 计算结果为: =0.5614 0.8287 1.1560 即所得多项式为y=0.5614x^2+0.8287x+1.15560 ③非线性函式使用 lsqcurvefit(fun,x0,x,y) 交通发生预测的目的是建立分区产生的交通量与分区土地利用、社会经济特征等变数之间的定量关系,推算规划年各分区所产生的交通量。因为一次出行有两个端点,所以我们要分别分析一个区生成的交通和吸引的交通。交通发生预测通常有两种方法:回归分析法和聚类分析法。 回归分析法是根据对因变数与一个或多个自变数的统计分析,建立因变数和自变数的关系,最简单的情况就是一元回归分析,一般式为:Y=α+βX式中Y是因变数,X是自变数,α和β是回归系数。若用上述公式预测小区的交通生成,则以下标 i 标记所有变数;如果用它研究分区交通吸引,则以下标 j 标记所有变数。而运用公式的过程中需要利用最小二乘法来求解,上述公式中的回归系数根据最小二乘法可得: 其中,式中的X拔是规划年的自变数值,Y拔是规划年分区交通生成(或吸引)预测值 实现
运用











