最小二乘法及数据拟合
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 =×−+=+=)
显然,此估计值应更加符合真实数据。