最小二乘法及数据拟合

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验五 最小二乘法及数据拟合建模的回归分析

一、实验目的:

1.掌握用最小二乘建立回归数学模型。

2.学习通过几个数据拟合的回归分析来判断曲线(直线)拟合的精度,通过回归分析来判断模型建立是否正确。 3.应用建立的模型进行预测。 二、基本原理和方法 1.建立回归数学模型

在进行建模和仿真分析时,人们经常面临用已知系统实测数据应用数学模型描述对应系统,即对数据进行拟合。拟合的目的是寻找给定的曲线(直线),它在某种准则下最佳地拟合数据。最佳拟合要在什么准则下的最佳?以及用什么样的曲线模型去拟合。

常用的拟合方法之一是多项式的最小二乘拟合,其准则是最小误差平方和准则,所用的拟合曲线为多项式。

本实验在Matlab 平台上,以多项式最小二乘拟合为例,掌握回归模型的建立(包括参数估计和模型建立)和用模型进行预测的方法,并学习回归分析的基本方法。

2.在MATLAB 里,用于求解最小二乘多项式拟合问题的函数如下: polyfit 最小二乘多项式拟合

p=polyfit(x,y,n) 对输入数据y 的n 阶最小二乘拟合多项式

p(x)的系数

Y=polyval(p,x) 求多项式的函数值Y )1n (p x )n (p x )2(p x )1(p Y 1n n +++++=−L

以下是一个多项式拟合的例子。

已知 x=0,0.1,0.2,0.3,...,0.9,1 共11个点(自变量),

实测数据y=-0.447, 1.978, 3.28, 6.16, 7.08, 7.34, 7.66, 9.56,

9.48, 9.30, 11.2

求:2阶的预测方程,并用8阶的预测方程与之比较。 x=linspace(0,1,11);

y=[-.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2]; p=polyfit(x,y,2)

%求2阶的预测方程 2210x b x b b y ++= 的系数 p= b 2 b 1 b 0

z=polyval(p,x); %求预测的y 值 (z 表示y )) p2=polyfit(x,y,8) %求8阶的预测方程 z1=polyval(p2,x);

plot(x,y,'om',x,z,':*r'x,z1, ':+b')

图中:”0” 代表散点图 “+”代表8阶预测方程

“*”代表2阶预测方程

图1 散点图与2阶预测方程

3.回归模型的检验

回归模型的检验是判断数据拟合的好坏即模型建立的正确与否,为建立模型和应用模型提供支持。

在MATLAB 平台,用于回归检验的语句如下: [b,bint,r,rint,stats]=regress(y,X,α) 其中,01122m m y x x x e =β+β+β++β+L )m ,2,1,0i (i L =β为回归系数 e 随机误差(均值为0,方差2σ)

b:回归系数的估计值 ˆb =β

bint:回归系数的置信区间

r:残差 y y r )

−= rint:残差的置信区间 stats:统计量 R 2 F P

用此语句,可以得到回归系数,复相关系数R,方差检验F 值,P。

rcoplot(r,rint) %打印残差分布图

4.预测值:

用经过检验的数学模型即可预测数据。即把x代入回归方程对y 进行估计,该估计值为ˆy。

以下用一个例子说明回归模型的检验与预测:

有人研究了黏虫孵化历期平均温度(x,o C)与历期天数(y,天)之间关系,试验资料列入下表,求直线回归方程,并进行检验。 x,历期平均温度o C 11.8 14.7 15.6 16.8 17.1 18.8 19.5 20.4

Y,孵化历期(天) 30.1 17.3 16.7 13.6 11.9 10.7 8.3 6.7

先作出(xi,yi)的散点图

x=[11.8 14.7 15.6 16.8 17.1 18.8 19.5 20.4]';

y=[30.1 17.3 16.7 13.6 11.9 10.7 8.3 6.7]'

plot(x,y,'r+')

图2 历期平均温度(x,o C)与历期天数(y,天)的散点图

从图中可见y与x基本,因此用一元线性回归。

X=[ones(8,1),x];

[b,bint,r,rint,stats]=regress(y,X);

b,bint,stats,rcoplot(r,rint)

运行结果:

b = 57.0393

-2.5317

bint = 45.9035 68.1750

-3.1851 -1.8782

stats = 0.9374 89.8675 0.0001

得到以下结果:

复相关系数的平方 R2=0.9374, 则R=0.9682>0.8,

F=89.8675 存在极显著的直线回归关系。 p<10-4,因此此回归模型y 接受。

预测历期平均温度为21.05o C时,孵化历期天数为多少天?

)(天)

y=

×

bx

a

57

=

+

=

+

21

.

05

.3

7470

.

)

0393

5317

(

.2

图三 残差分布图 (全部观测点)

观察图中的残差分布,除第一点外,其余残差的置信区间均包含零点,第一个点应视为异常点,将其剔除后重新计算,可得:

b = 45.2899 -1.8863

bint = 38.5660 52.0138 -2.2670 -1.5057

stats = 0.9701 162.2546 0.0001

图三 残差分布图 (除掉第一个异常点观测点)

观察图中的残差分布,残差的置信区间均包含零点,置信区间明显缩小,R 与F 明显增大。重新预测预测历期平均温度为21.05o

C 时,孵化历期天数

5832.505.21)8863.1(2899.45bx a y =×−+=+=)

显然,此估计值应更加符合真实数据。

相关文档
最新文档