微积分应用课题一    最小二乘法

 

从前面的学习中, 我们知道最小二乘法可以用来处理一组数据, 可以从一组测定的数据中寻求变量之间的依赖关系, 这种函数关系称为经验公式. 本课题将介绍最小二乘法的精确定义及如何寻求 之间近似成线性关系时的经验公式. 假定实验测得变量之间的 个数据 , , , , 则在 平面上, 可以得到 个点 , 这种图形称为散点图, 从图中可以粗略看出这些点大致散落在某直线近旁, 我们认为 之间近似为一线性函数, 下面介绍求解步骤.

考虑函数 , 其中 是待定常数. 如果 在一直线上, 可以认为变量之间的关系为 . 但一般说来, 这些点不可能在同一直线上. , 它反映了用直线 来描述 , , 计算值 与实际值 产生的偏差. 当然要求偏差越小越好, 但由于 可正可负, 因此不能认为总偏差 , 函数 就很好地反映了变量之间的关系, 因为此时每个偏差的绝对值可能很大. 为了改进这一缺陷, 就考虑用 来代替 . 但是由于绝对值不易作解析运算, 因此, 进一步用 来度量总偏差. 因偏差的平方和最小可以保证每个偏差都不会很大. 于是问题归结为确定 中的常数 , 使 为最小. 用这种方法确定系数 , 的方法称为最小二乘法.

由极值原理得   ,

解此联立方程得

                        (*)

问题 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   484   290   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拟合函数为:

=