最小二乘法的拟合

颐和园昆明湖2023-02-01  29

对给定数据点集合,在取定的函数类中,求,使误差的平方和最小,。从几何意义上讲,就是寻求与给定点集的距离平方和为最小的曲线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)的方法称为曲线拟合的最小二乘法。


转载请注明原文地址:https://juke.outofmemory.cn/read/2862571.html

最新回复(0)