对给定数据点集合,在取定的函数类中,求,使误差的平方和最小,。从几何意义上讲,就是寻求与给定点集的距离平方和为最小的曲线y=p(x)。函数p(x)称为拟合函数或最小二乘解,求拟合函数p(x)的方法称为曲线拟合的最小二乘法。
最小二乘法的矩阵形式
最小二乘法的矩阵形式为:
其中 为 的矩阵, 为 的列向量, 为 的列向量。如果 (方程的个数大于未知量的个数),这个方程系统称为矛盾方程组(Over Determined System),如果 (方程的个数小于未知量的个数),这个系统就是Under Determined System。
正常来看,这个方程是没有解的,但在数值计算领域,我们通常是计算 ,解出其中的 。比较直观的做法是求解 ,但通常比较低效。其中一种常见的解法是对 进行QR分解( ),其中 是 正交矩阵(Orthonormal Matrix), 是 上三角矩阵(Upper Triangular Matrix),则有
用MATLAB命令 x=R\(Q\b)可解得 。
最小二乘法的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.5: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)
a=nlinfit(x,y,fun,b0)
最小二乘法在交通运输学中的运用
交通发生预测的目的是建立分区产生的交通量与分区土地利用、社会经济特征等变量之间的定量关系,推算规划年各分区所产生的交通量。因为一次出行有两个端点,所以我们要分别分析一个区生成的交通和吸引的交通。交通发生预测通常有两种方法:回归分析法和聚类分析法。
回归分析法是根据对因变量与一个或多个自变量的统计分析,建立因变量和自变量的关系,最简单的情况就是一元回归分析,一般式为:Y=α+βX式中Y是因变量,X是自变量,α和β是回归系数。若用上述公式预测小区的交通生成,则以下标 i 标记所有变量;如果用它研究分区交通吸引,则以下标 j 标记所有变量。而运用公式的过程中需要利用最小二乘法来求解,上述公式中的回归系数根据最小二乘法可得:
其中,式中的X拔是规划年的自变量值,Y拔是规划年分区交通生成(或吸引)预测值。
定义:(xi)2为最小,按ni=1这样的标准定义的拟合函数称为最小二乘拟合,是离散情形下的最佳平方逼近.对给定数据点{(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)的方法称为曲线拟合的最小二乘法。