数据拟合与模型选择解读

上传人:我** 文档编号:113558806 上传时间:2019-11-09 格式:PPT 页数:88 大小:1.96MB
返回 下载 相关 举报
数据拟合与模型选择解读_第1页
第1页 / 共88页
数据拟合与模型选择解读_第2页
第2页 / 共88页
数据拟合与模型选择解读_第3页
第3页 / 共88页
数据拟合与模型选择解读_第4页
第4页 / 共88页
数据拟合与模型选择解读_第5页
第5页 / 共88页
点击查看更多>>
资源描述

《数据拟合与模型选择解读》由会员分享,可在线阅读,更多相关《数据拟合与模型选择解读(88页珍藏版)》请在金锄头文库上搜索。

1、数据拟合与模型选择 Curve Fit and Model Selecting,Jie Fei MPTC June 20, 2012,引例 美国人口预测,给出美国人口从1790年到1990年间的人口如表1(每10年为一个间隔),请估计出美国2010年的人口。,表1 美国人口统计数据,一、数据拟合的方法,平面上绘出已知数据的分布图 (散点图,Scatter Plot). 通过直观观察或经验公式猜测人口随时间的变化规律 (函数关系). 3. 利用函数拟合的方法确定拟合函数中的未知参数. 4. 利用拟合函数估计出2010年的美国人口.,曲线拟合问题的提法 什么是曲线拟合,已知一组二元数据, 这组数据

2、形成 平面上的一组散点. 在某一类函数中寻找一个函数 使得函数曲线在某种准则下与所有数据点最为接近, 这种构造近似函数的方法称为曲线拟合, 称为拟合函数.,曲线拟合的图示,图1 数据散点图,设有 m 个数据点(xi, yi)i=1, 2, , m. 作散点图如下:,Scatter Plot,要想对图1所示的数据拟合模型 f (x) = a x + b. 应如何选择 a 和 b ,使直线最好地拟合数据?即最佳拟合的原则与方法是什么?,最佳拟合准则,从图上看,存在两个以上点时,不能期望它们精确地处于一直线上。数据点和直线间总存在一些纵向差异。称这些纵向差异为绝对偏差 。,最佳拟合的准则: (1)极

3、小化这些绝对偏差的和. 即极小化,图2 极小化绝对偏差的和,解这一问题必须用数值最优化方法 解出模型参数a, b的估计.,(2)极小化所有点的最大偏差.,图3 极小化最大绝对偏差,(3) 极小化这些绝对偏差的平方和(最小二乘原则),即极小化,Max| yi f (xi) |, i =1,2, ,m,解这个问题可能需要高级的数学方法,或者需要计算机的数值算法。简单情形,会转化成一个线性规划问题。,(Least-Squares Criterion),即极小化,最小二乘准则,函数中的参数作为自变量,绝对偏差的平方和作为目标函数,利用多元函数的极值理论就可以解决。,给定某一函数类型 y = f (x)

4、 , 以及m个数据点(xi, yi)的集合,极小化绝对偏差 | yi - f(xi)| 的平方和,即确定函数 y = f (x)中的参数,极小化,用最小二乘准则来估计各种类型曲线参数的数学过程如下:,一、拟合直线,设预期模型的形式为 y =Ax+B,用a、b记A、B的最小二乘估计,这时要求极小化:,等价于下述线性方程组的最小二乘解:,根据多元函数的极值理论,最优的必要条件是两个偏导数等于0.,整理得正规方程:,(正规方程),正规方程组解的矩阵表示:,记,若 可逆,正规方程的解为,则正规方程组为,解得,可以编写计算机程序解 a 和 b. 用Matlab编程,只要输入数据,再输入 regress命

5、令即可得到系数的最小二乘估计。,统计上利用最小二乘准则估计拟合直线的参数称为线性回归。,例1:弹簧的弹性系数的测定.,下表给出了悬挂不同重量的物体时弹簧的长度,试由这组数据推测弹簧的弹性系数.,已知弹簧的弹力与弹簧长度有线性关系: y=ax+b 其中常数 a与b需要根据数据测定.,x=5:5:30; y=7.25 8.12 8.95 9.90 10.90 11.80; x1=ones(length(x),1),x; regress(y,x1),输入 Matlab 指令如下:,得到最佳拟合直线为: y= 0.1831 x+ 0.6827,拟合效果图:,二、拟合多项式,最小二乘估计即要求极小化(以

6、n=2为为例),S对参数求偏导,令其等于零得方程:,设预期模型的形式为 n是固定的.,正规方程组解的矩阵表示:,记,若 可逆,正规方程的解为,则正规方程组为,多项式拟合的Matlab指令为:polyfit 其调用格式为 a=polyfit(adata, ydata, n),其中 n拟合多项式的次数. xdata, ydate拟合的数据,以数组方式输入. a输出参数,拟合多项式的系数.,多项式在 x处的取值y可用如下命令格式计算: y=polyval(a, x),三、经变换的最小二乘拟合,这个方程组是非线性的,手工难于求解。,理论上最小二乘准则可用于其它模型,方法都是对参数求导,令其等于零,解得

7、到的方程,求出模型的参数。但在实践上可能有困难。 例如要拟合模型 ,作最小二乘估计时需要极小化,处理方法:在模型 取对数以后,变成线性模型:,可以利用最小二乘求解。,非线性关系变成线性关系,常见形式有一下几种:,一般地,变换以后再进行最小二乘拟合与直接进行最小二乘拟合的结果是不一样的。,在原始问题中,寻找曲线时,是极小化原始数据的偏差平方和,而在变换后的问题中,极小化变换后的变量的偏差平方和。,非线性拟合的Matlab指令为:lsqcurvefit 其调用格式为 p= lsqcurvefit(Fun, p0 , xdata, ydata),其中 Fun表示拟合函数的M文件或内联函数. xdat

8、a, ydate拟合的数据,以数组方式输入. p0 拟合参数的初值. p拟合的参数.,若要求在 x处的取值y可用如下命令格式计算: y=Fun(p, x),2. 按照一个或一些选出的模型类型对数据进行拟合 (确定模型中的最佳参数).,3. 对拟合模型的评价 (不同模型之间的优劣).,4. 根据收集的数据做出预报, 评价预报的效果.,在分析一个数据集合时,有四个可能需要解决的任务:,1. 模型选择 , 线性模型, 多项式模型, 指数模型或是其它模型.,怎样评价一个好模型?,评估模型是否很好地拟合了数据的途径是:计算残差。即计算模型点与实际点间的偏差。 要回答哪个模型最好时要以考虑模型的目的、实际

9、情况要求的精度、数据的准确性以及使用模型时独立变量的值的范围等因素。,1. 单项模型的选择; 2. 通过数据点的高阶多项式; 3. 低阶多项式对数据光滑化; 4. 三次样条插值。,当实际问题中不能根据一些假定提出某种模型时,就要基于数据建立经验模型。,二、基于数据建立经验模型,例2. Chesapeake 海湾的收成.,1. 单项模型的选择,任务是预测蓝鱼的产量。,策略是变换数据,使得所产生的图形近似一条直线。,怎样确定这一变换呢?,作出散点图:,散点图中数据的倾向是增的、下凸的。,对于一个向上凹的正值函数,y = f ( x ),x 1.,用阶梯中处于 z下方的某些变换,将y值变为 或 lo

10、g y 或更剧烈的变化,挤压右侧尾部向下,可能产生更接近直线的新函数。应该采用哪个变换是反复试验、不断摸索的问题(或根据经验)。另一种变换是改变 x 的值为 x2,x3等,拉伸右侧的尾部向右。,对于蓝鱼的产量数据,将 x 的值改为阶梯向上的几种值(x2,x3 等),不能产生有关线性图形;因此将y的值改为阶梯向下的值 或 ln y 的值。经比较,选取 ln y 对 x 的模型,用最小二乘拟合下面模型:,找出拟合的曲线,其中x是基底年,log y 是以10为底的对数,y 的单位是104磅。,由log y取指数得,数据拟合效果图:,例3. 估计蓝蟹.,散点图中数据的倾向是增的、上凸的。,作出散点图:

11、,对于一个向上凸的正值函数,y = f ( x ),x 1.,这次尝试改变 y 的值成为 y2、y3 等来拉伸右侧尾部向上而线性化。另一种可能是尝试改变x的值成为 或log x ,或更剧烈的变换梯步(变换阶梯表的下部),来使右侧尾部向左。,注意,阶梯表中log 以下的变换有时会把一个增函数逆转为减函数,这是不希望的。因此数据分析时常加一个负号,以保持变换的数据与原数据有相同的增减性。,试图改变y的值为 y2 或 y3 和改变x的值成为 或log x 等,最后选择一条过原点的直线,由最小二乘法得到,其中 x 是基底年,y的单位是104磅蓝蟹。,曲线似乎是可取的。,曲线拟合效果图:,蓝鱼,蓝蟹,模

12、型验证:对每一对数据计算残差和相对误差。,模型预测:预测2010年海湾收成,这些简单的单项模型应该用于内插,而在作外推时误差较大。,小结:构造一个预测模型时,细心分析收集到的数据,看数据存在什么样的倾向?是否有明显处于倾向外的数据点?如果这样的异常值存在,是否抛弃它?如果是实验观察到的,重复该实验以检查数据。当某一种倾向确实清楚存在时,找到一个将数据变换成一直线(近似地)的函数。,如果选择了模型 y = a xb, 应画一个lny对 lnx 的图,看是否产生一近似直线。同样在研究模型y = a ebx 的适当性时,应画ln y 对x 的图是否产生一条直线。当认为一个确定的模型类型比较符合数据的

13、倾向时,可以用最小二乘及其他解析方法估计模型参数。最后对原始模型作拟合优度分析。如果对这一拟合不满意,可以研究其他的单项模型。如果在单项模型框架内不能满意地拟合数据,则要使用其他的技术。这就是将要讨论的多项式拟合和样条插值。,2. 高阶多项式(polynomials)模型,单项模型易于进行模型分析,然而由于其数学上的简单性,在追踪数据到的数据的趋势时,单项模型是有局限的。在某些情况下,必须考虑多于一项的模型,即多项式。当然多项式也是有其缺点的。,大家知道:有惟一的最高阶为2的多项式 y = a0+ a1x + a2x2 能够通过三个不同的点。但存在无数个阶大于2的多项式通过这三个点。,例4 带

14、式录音机的播放时间.,收集一个特定的录音机的计数器的数据及相应的录音机的播放时间。数据如下( ci 表示计数器读数,ti 为对应的播放总时间),可以构造一个最高阶为7的惟一多项式,通过这8个数据点。记此多项式为,因为要经过8个点,所以有下面方程组(读数缩小100倍):,解得:,对P7(ci)的预测值舍入到小数第四位,给出了与观测到数据完全一致的预测值,产生零绝对偏差。我们真的能够认为这一模型比其他可以提供的模型更好吗?答案是否定的。后面将要谈到它的缺点。,在理论上可以证明:给定(n+1)个不同的数据点,存在惟一的一个最高阶为n的多项式通过全部数据点。这就是多项式的Lagrange形式。,高阶多

15、项式的优点与缺点:,优点:因为多项式函数易于积分和微分。如果高阶多项式 模型对研究的问题是合适的,则后面的计算就比较容易。,缺点:虽然 Lagrange 多项式能够通过给定的n个数据点,但在区间的端点附近,多项式有严重的摆动。而在作预测和外推时,端点附近的估计往往是很需要的。,高阶多项式的另一个严重的缺点是它的系数对数据的微小变化的敏感性。因此高阶多项式的这些缺点限制了它在建模中的应用。,例如,给定17个数据点如下:,高阶多项式拟合图:,x=-2:1:7; y=sin(x); p=polyfit(x,y,7); x1=-5:0.05:10; f=polyval(p,x1); plot(x,y,

16、o,x1,f,-) axis(-5 12 -5 5),又如,设有数据集:xi= -2, -1, 0, 1, 2, 3, 4, 5, 6, 7. yi= sin xi 共8个数据点。用7阶多项式拟合,可以经过这8个点。 但在x 7 时,多项式的变动非常大。,3. 低阶多项式对数据的光滑化,用低阶多项式拟合数据,不要求通过全部数据点。这将降低多项式的摆动倾向和它对数据中微小变化的敏感性。,低阶多项式拟合要求做出两个决定: 1. 决定选择所用多项式的阶; 2. 确定最佳拟合多项式的系数。,例4 带式录音机的播放时间,先用二阶多项式拟合带式录音机的播放时间,用最小二乘法决定最佳系数.,x=100 200 300 400 500 600 700 800; y=205 430 677 945 1233 1542

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号