1、主讲教师:鲁萍 西安建筑科技大学 理学院 数学实验通识课 温度 t(0C) 20.5 32.7 51.0 73.0 95.7 电阻 R() 765 826 873 942 1032 已知热敏电阻 数据, 求 600C时的电阻 R。 拟合 /回归 20 40 60 80 10070080090010001100实际 中 ,需要处理 由实验或 测量得到 的一些 离散数据 。 插值 与拟合 方法就是要 通过已知数据 去 确定一些未知数据, 或者 由离散数据得到连续数据。 即, 寻找 某 一类已知函数的参数 或 寻求某个近似函数 , 使近似 函数与已知数据有较高的拟合精度 。 插值和拟合 20 40
2、60 80 10070080090010001100插值和拟合 20 40 60 80 10070080090010001100 如果要求近似 函数(曲线或曲面) 经过所已知的所有数据点 , 则为 插值问题 。 (不需要函数表达式 ) 如果 不 要求 近似函数 通过 所有数据点,而是要求它能较好地反映数据变化 规律,则为 拟合问题 。 (必须有函数表达式 )。 设 R=at+b 数据拟合 需要找到 t和 R的函数关系 函数插值与曲线拟合都是要根据一组 数据推导另一部分数据的近似值, 由于近似的要求不同,二者的数学方法完全不同。 问题 : 对一组数据, 需确定满足特定要求的曲线或曲面 解决 方案
3、 : 插值 :要求 所求曲线(面) 通过所给所有数据 点 拟合 :不 要求曲线(面)通过所有数据点,而是要求它 反映对象整体的变化 趋势 (必须由函数表达式 ) 插值和拟合 一元线性拟合 /回归 多元线性拟合 /回归 非线性拟合 /回归 例 3.1.1 近 10年来,某市社会商品零售总额与职工工资总额(单位:亿元)数据如下 表所示。请问: ( 1)工资总额与零售总额是否有关系? ( 2)能否能根据工资总额预测出零售总额? 工资总额 23.8 27.6 31.6 32.4 33.7 34.9 43.2 52.8 63.8 73.4 零售总额 41.4 51.8 61.7 67.9 68.7 77
4、.5 95.9 137.4 155.0 175.0 问题 ( 1)工资总额与零售总额是否有关系? ( 2)能否能根据工资总额预测出零售总额? 工资总额 23.8 27.6 31.6 32.4 33.7 34.9 43.2 52.8 63.8 73.4 零售总额 41.4 51.8 61.7 67.9 68.7 77.5 95.9 137.4 155.0 175.0 散点图 数据拟合 ( 1)通过绘制散点图观察数据呈线性关系。 ( 2)找到 x、 y的函数关系,根据不同的 x可求解对应的 y 问题 01Y a a X 11 1 0.nnnny a x a x a x a 如果 变量 y与 x的关
5、系是 n次多项式,即 其中: 是随机误差,服从正态分布 N(0,2) 则称 (1)为多项式拟合 /回归模型 . 一元多项式 曲线拟合 (1) a0,a1, an为拟合系数 10Y a X a 当 y与 x呈线性关系时,即 n=1, 称 (2) 为 一元线性 拟合函数。 (2) 命令 功能 polyfit 一元多项式曲线拟合 p=polyfit(x,y,n) p,S=polyfit(x,y,n) p,S,mu=polyfit(x,y,n) polyval 一元多项式曲线拟合预测 Y=polyval(p,x0) Y,Delta=polyconf(p,x0,S,alpha) 一元多项式曲线拟合 一元
6、多项式曲线拟合函数 polyfit p = polyfit (x,y,n) 输入 x,y分别为自变量与因变量的样本观测数据向量 ; n是多项式的阶数 ,一 元 线性拟合: n=1; 输出 p是按照 降幂排列 的多项式的系数向量 , 一元多项式曲线拟合 ( 1)工资总额与零售总额是否有关系? ( 2)能否能根据工资总额预测出零售总额? 工资总额 23.8 27.6 31.6 32.4 33.7 34.9 43.2 52.8 63.8 73.4 零售总额 41.4 51.8 61.7 67.9 68.7 77.5 95.9 137.4 155.0 175.0 散点图 数据拟合 一元多项式 曲线拟合
7、 例题 x=23.80,27.60,73.40; %工资总额 y=41.4,51.8,175.0; % 零售总额 plot(x,y,*) %作散点图 xlabel(x(职工工资总额 ) %横坐标名 ylabel(y(商品零售总额 ) %纵坐标名 ( 1)工资总额与零售总额是否有关系? ( 2)能否能根据工资总额预测出零售总额? 散点图 数据拟合 x=23.80,27.60,73.40; %工资总额 y=41.4,51.8,175.0; % 零售总额 p=polyfit(x,y,1) % 一元线性拟合 结果: p = 2.7991 -23.5493 10Y a X a 2.799 1 23.54
8、 93yx一元多项式 曲线拟合 例题 ( 1)工资总额与零售总额是否有关系? ( 2)能否能根据工资总额预测出零售总额? 散点图 数据拟合 ( 1)工资总额 x与 零售 总额 y关系的一元线性函数 2 . 7 9 9 1 2 3 . 5 4 9 3yx一元多项式 曲线拟合 例题 ( 1)工资总额与零售总额是否有关系? ( 2)能否能根据工资总额预测出零售总额? 散点图 数据拟合 ( 2)假设工资总额为 80,零售总额 y可能是多少? 代入 x=80: 2 . 7 9 9 1 2 3 . 5 4 9 3yx一元多项式 曲线拟合 例题 多项式曲线拟合预测 命令 polyval 在命令 p,S =
9、polyfit(x,y,n) 之后运行 Y = polyval(p,x0) 一元多项式曲线拟合 输入 p,S是由多项式 拟合命令的输出结果 x0是要预测的 自变量的 值 . 输出 Y是根据 p在 x处的预测值。 y0 = 200.3804 ( 1)工资总额与零售总额是否有关系? ( 2)能否能根据工资总额预测出零售总额? 散点图 数据拟合 x=23.80,27.60,73.40; %工资总额 y=41.4,51.8,175.0; % 零售总额 p=polyfit(x,y,1) % 一元线性拟合 x0=80; y0=polyval(p,x0) %预测 x0=80 一元多项式 曲线拟合 例题 (
10、1)工资总额与零售总额是否有关系? ( 2)能否能根据工资总额预测出零售总额? 工资总额 23.8 27.6 31.6 32.4 33.7 34.9 43.2 52.8 63.8 73.4 零售总额 41.4 51.8 61.7 67.9 68.7 77.5 95.9 137.4 155.0 175.0 散点图 数据拟合 ( 1)工资总额 x和零售总额 y的函数关系: 2 . 7 9 9 1 2 3 . 5 4 9 3yxx0=80 y0 = 200.3804 ( 2)当工资总额为 80时,零售总额 y可能是: 一元多项式 曲线拟合 例题 一元多项式 曲线拟合 例题 x=23.80,27.60
11、,31.60,32.40,33.70,34.90,43.20,52.80,63.80,73.40; y=41.4,51.8,61.70,67.90,68.70,77.50,95.90,137.40,155.0,175.0; % 作 散点图 plot(x,y,r*) %作散点图 xlabel(x(职工工资总额 ) %横坐标名 ylabel(y(商品零售总额 ) %纵坐标名 %数据拟合及预测 p=polyfit(x,y,1) % 一元线性拟合 x0=80; y0=polyval(p,x0) %预测 x0=80 %绘制曲线拟合图 x2=23:0.5:90; y2=polyval(p,x2); hol
12、d on plot(x2,y2,b-) 例 3.1.2 某种合金中的主要成分为 A,B两种金属,经过试验发现:这两种金属成分之和 x与合金的膨胀系数 y有如下关系,建立描述这种关系的数学 表达式。预测 x=45时 y的值? x 37 37.5 38 38.5 39 39.5 40 40.5 41 41.5 42 42.5 43 y 3.4 3 3 2.27 2.1 1.83 1.53 1.7 1.8 1.9 2.35 2.54 2.9 确定 x和 y,绘制散点图 观察散点图选择多项式次数 调用 polyfit函数,拟合出系数,写函数 调用 polyval函数,预测给定 x0的 y0值 一元多项
13、式 曲线拟合 例题 解: %首先输入数据 x=37:0.5:43; y=3.4,3, 2.9; plot(x,y,*) %其次做 散点图 xlabel(x(两种合金之和 ) %横坐标名 ylabel(y(合金膨胀系数 ) %纵坐标名 %然后根据散点图猜测曲线 类别 p = polyfit(x,y,2) %注意取 n=2 x0=45; y0=polyval(p,x0); 散点图呈抛物线,故选择二次函数曲线进行拟合 . 一元多项式 曲线拟合 例题 p = polyfit(x,y,2) %注意取 n=2 x0=45; y0=polyval(p,x0); 运行得到回归系数: p=0.1660 -13.
14、3866 271.6231 即二次回归模型为: 2 0 . 1 6 6 1 3 . 3 8 6 6 2 7 1 . 6 2 3 1y x x y0 = 5.3660 当 x0=45时预测 一元多项式 曲线拟合 例题 x=37:0.5:43; y=3.4,3,3,2.27,2.1,1.83,1.53,1.7,1.8,1.9,2.35,2.54,2.9; %绘制原始数据散点图 plot(x,y,r*) xlabel(x(两种合金之和 ) ylabel(y(合金膨胀系数 ) %拟合二次曲线 p = polyfit(x,y,2) %注意取 n=2 x0=45; y0=polyval(p,x0); %绘
15、制曲线拟合图 y2=polyval(p,x); hold on plot(x,y2,b-) 当 x0=45时预测 y0 = 5.3660 一元多项式 曲线拟合 例题 x0=0.00 0.40 0.80 1.20 1.60 2.00 2.40 2.80 3.20 3.60 4.00; y0=0.00 0.10 0.85 1.05 3.08 3.50 6.07 7.90 9.70 13.96 14.68; 【 例 1】 对以下数据进行拟合。 plot(x,y,r*) %作散点图 分别用 1次、 2次、 3次尝试 一元多项式 曲线拟合 例题 x0=0.00 0.40 0.80 1.20 1.60 2
16、.00 2.40 2.80 3.20 3.60 4.00; y0=0.00 0.10 0.85 1.05 3.08 3.50 6.07 7.90 9.70 13.96 14.68; plot(x,y,r*) %作 散点图 %不同次数的拟合 p1=polyfit(x0,y0,1); p2=polyfit(x0,y0,2); p3=polyfit(x0,y0,3); %分别绘制拟合曲线 x=0:0.1:4; y1=polyval(p1,x); y2=polyval(p2,x); y3=polyval(p3,x); hold on plot(x,y1,b:,x,y2,g-,x,y3,k-) lege
17、nd(原始数据 ,1次拟合 ,2次拟合 ,3次拟合 ) 【 例 1】 对以下数据进行拟合。 p1 = 3.9109 -2.2864 p2 = 0.8957 0.3282 -0.1367 p3 = -0.1119 1.5671 -0.6960 0.1211 一元多项式 曲线拟合 例题 一元多项式 曲线拟合 例题 由图容易看出, 1次拟合效果较差, 2次拟合和 3次拟合相对较好; 哪个最好? 如何判断拟合结果的优良程度? 拟合优度检验 1. 拟合优度检验 指 样本观测值聚集在样本回归线周围的紧密程度。 评价 指标: 可决系数 (判定系数) 2Ryiyy原 始 值 均 值 预 测 值1. 拟合优度检
18、验 指 样本观测值聚集在样本回归线周围的紧密程度。 评价 指标: 可决系数 (判定系数) 2R21()niiS S T y y21()niiiS S E y y21()niiS S R y y(1)总离差平方和: (2)回归平方和: (3)残差平方和: 11 niiyyn 其中 yiyy原 始 值 均 值 预 测 值越小越好! (1)总离差平方和: (2)回归平方和: (3)残差平方和: 1. 拟合优度检验 指 样本观测值聚集在样本回归线周围的紧密程度。 评价 指标: 可决系数 (判定系数) 2R 22 121niiniiyySSRRSSTyy可决系数 越大 ,回归模型 拟合程度越高 。 的取
19、值范围在 0到 1之间,是一个统计量。 2R2R21()niiS S T y y21()niiiS S E y y21()niiS S R y yR2越大越好, 残差越小越好! x=0.00 0.40 0.80 1.20 1.60 2.00 2.40 2.80 3.20 3.60 4.00; y=0.00 0.10 0.85 1.05 3.08 3.50 6.07 7.90 9.70 13.96 14.68; %不同次数的拟合 p1=polyfit(x,y,1); p2=polyfit(x,y,2); p3=polyfit(x,y,3); %分别各个拟合多项式在 x点的拟合值 y1=polyval(p1,x); y2=polyval(p2,x); y3=polyval(p3,x); 【 例 1】 对以下数据进行拟合。 一元多项式 曲线拟合 例题 %计算拟合优度 SST=sum(y-mean(y).2); %计算总离差平方和 SSR=sum(y1-mean(y).2); %计算回归平方和 SSE1=sum(y-y1).2); %计算残差平方和 R21=RSS/TSS; %计算可决系数 R2.