最小二乘法( 四 )


文章插图

最小二乘法

文章插图
上三角矩阵(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拔是规划年分区交通生成(或吸引)预测值 。课题从前面的学习中, 我们知道最小二乘法可以用来处理一组数据, 可以从一组测定的数据中寻求变数之间的依赖关係, 这种函式关係称为经验公式. 本课题将介绍最小二乘法的精确定义及如何寻求点与点之间近似成线性关係时的经验公式. 假定实验测得变数之间的 n个数据, 则在 平面上, 可以得到 n个点 , 这种图形称为“散点图”, 从图中可以粗略看出这些点大致散落在某直线近旁, 我们认为 与 之间近似为一线性函式, 下面介绍求解步骤. 考虑函式 y=a+bx, 其中a 和 b是待定常数. 如果离散点完全的在一直线上,可以认为变数之间的关係为一元函式 . 但一般说来, 这些点不可能在同一直线上. 但是它只能用直线来描述时, 计算值与实际值会产生偏差. 当然要求偏差越小越好, 但由于偏差可正可负, 因此不能认为总偏差 时, 拟合函式很好地反映了变数之间的关係,但是因为此时每个偏差的绝对值可能很大. 为了改进这一缺陷, 就考虑用平均值来代替 . 但是由于绝对值不易作解析运算, 因此, 进一步用残差平方和函式来度量总偏差. 偏差的平方和最小可以保证每个偏差都不会很大. 于是问题归结为确定拟合函式中的常数和使残差平方和函式最小. 通过这种方法确定係数的方法称为最小二乘法.由极值原理得 , 即解此联立方程得(*)问题 I 为研究某一化学反应过程中, 温度 ℃)对产品得率 (%)的影响, 测得数据如下:温度 ℃)100 110 120 130 140 150 160 170 180 190得率 (%)45 51 54 61 66 70 74 78 85 89(1) 利用“ListPlot”函式, 绘出数据 的散点图(採用格式: ListPlot[{ , , …, }, Prolog->AbsolutePointSize[3]] );(2) 利用“Line”函式, 将散点连线起来, 注意观察有何特徵? (採用格式: Show[Graphics[Line[{ , , …, }]] , Axes->True ]) ;(3) 根据公式(*), 利用“Apply”函式及集合的有关运算编写一个小的程式, 求经验公式 ;(程式编写思路为: 任意给定两个集合A (此处表示温度)、B(此处表示得率), 由公式(*)可定义两个二元函式(集合A和B为其变数)分别表示 和 . 集合A元素求和: Apply[Plus,A] 表示将加法施加到集合A上, 即各元素相加, 例如Apply[Plus,{1,2,3}]=6;Length[A]表示集合A 元素的个数, 即为n; A.B表示两集合元素相乘相加;A*B表示集合A与B元素对应相乘得到的新的集合.)(4) 在同一张图中显示直线 及散点图;(5) 估计温度为200时产品得率.然而, 不少实际问题的观测数据 , , …, 的散点图明显地不能用线性关係来描叙, 但确实散落在某一曲线近旁, 这时可以根据散点图的轮廓和实际经验, 选一条曲线来近似表达 与 的相互关係.问题 II 下表是美国旧轿车价格的调查资料, 今以 表示轿车的使用年数, (美元)表示相应的平均价格, 求 与 之间的关係.使用年数1 2 3 4 5 6 7 8 9 10平均价格2651 1943 1494 1087 765 538 484290 226 204(1) 利用“ListPlot”函式绘出数据 的散点图, 注意观察有何特徵? (2) 令 , 绘出数据 的散点图, 注意观察有何特徵?(3) 利用“Line”函式, 将散点 连线起来, 说明有何特徵?(4) 利用最小二乘法, 求 与 之间的关係;(5) 求 与 之间的关係;(6) 在同一张图中显示散点图及 关于 的图形.思考与练习1. 假设一组数据 : , , …, 变数之间近似成线性关係, 试利用集合的有关运算, 编写一简单程式: 对于任意给定的数据集合 , 通过求解极值原理所包含的方程组, 不需要给出 、 计算的表达式, 立即得到 、 的值, 并就本课题 I /(3)进行实验.注: 利用Transpose函式可以得到数据A的第一个分量的集合, 命令格式为:先求A的转置, 然后取第一行元素, 即为数据A的第一个分量集合, 例如(A即为矩阵 )= (数据A的第一个分量集合)= (数据A的第二个分量集合)B-C表示集合B与C对应元素相减所得的集合, 如 = .2. 最小二乘法在数学上称为曲线拟合, 请使用拟合函式“Fit”重新计算 与 的值, 并与先前的结果作一比较.注: Fit函式使用格式:设变数为x, 对数据A进行线性拟合, 如对题1中的A拟合函式为:实例数据编号1234实验次数