当前位置:文档之家› 多项式回归、非线性回归模型

多项式回归、非线性回归模型

多项式回归、非线性回归模型
关键词:回归方程的统计检验、拟合优度检验、回归方程的显著性检验、F 检验、回归系数的显著性检验、残差分析、一元多项式回归模型、一元非线性回归模型
一、回归方程的统计检验 1. 拟合优度检验
1. 概念介绍
SST 总离差平方和total SSR 回归平方和regression SSE 剩余平方和error
∑∑∑∑====--=
---
=n
i i i
n
i i i
n
i i i
n
i i i
y y
y y y y
y
y R 1
2
1
2
12
12
2)()ˆ()()ˆ(1
2. 例题1
存在四点(-2,-3)、(-1,-1)、(1,2)、(4,3)求拟合直线与决定系数。

2. 回归方程的显著性检验
)
2/()2/()ˆ()ˆ(1
212
-=
---=
∑∑==n SSE SSA
n y
y
y y
F n
i i i n
i i i
例6(F 检验)
在合金钢强度的例1中,我们已求出了回归方程,这里考虑关于回归方程的显著性检验,经计算有:
表5 X 射线照射次数与残留细菌数的方差分析表
这里值很小,因此,在显著性水平0.01下回归方程是显著的。

3. 回归系数的显著性检验 4. 残差分析
二、一元多项式回归模型
模型如以下形式的称为一元多项式回归模型:
0111a x a x a x a y n n n n ++++=--
例1(多项式回归模型)
为了分析X 射线的杀菌作用,用200千伏的X 射线来照射细菌,每次照射6分钟,用平板计数法估计尚存活的细菌数。

照射次数记为t ,照射后的细菌数为y 见表1。

试求:
(1)给出y 与t 的二次回归模型。

(2)在同一坐标系内作出原始数据与拟合结果的散点图。

(3)预测16=t 时残留的细菌数。

(4)根据问题的实际意义,你认为选择多项式函数是否合适?
表1 X 射线照射次数与残留细菌数
程序1 t=1:15;
y=[352 211 197 160 142 106 104 60 56 38 36 32 21 19 15]; p=polyfit(t,y,2)%作二次多项式回归 y1=polyval(p,t);%模型估计与作图
plot(t,y,'-*',t,y1,'-o');%在同一坐标系中做出两个图形 legend('原始数据','二次函数') xlabel('t(照射次数)')%横坐标名 ylabel('y(残留细菌数)')%纵坐标名 t0=16;
yc1=polyconf(p,t0)%预测t0=16时残留的细菌数,方法1 yc2=polyval(p,t0)%预测t0=16时残留的细菌数,方法2 即二次回归模型为:
8967.3471394.519897.121+-=t t y
图1 原始数据与拟合效果的散点图
原始数据与拟合结果的散点图如图所示,从图形可知拟合效果较好。

照射16次后,用二次函数计算出细菌残留数为39.0396,显然与实际不符。

由实际问题的意义可知,尽管二次多项式拟合效果较好,但是用于预测并不理想。

因此如何根据原始数据散点图的规律,选择适当的回归曲线是非常重要的,这样就有必要给出非线性回归模型。

三、一元非线性回归模型
为了便于正确选择合适的函数进行回归分析建模,我们给出通常选择的6类曲线: (1)双曲线
x
b
a y +=1(如图所示) (2)幂函数曲线b
ax y =,其中0>x ,(如图所示) (3)指数曲线,其中参数(如图所示) (4)倒指数曲线,其中(如图所示)
(5)对数曲线(如图所示) (6)S 型曲线x
be
a y -+=
1
,其中(如图所示) 非线性回归建模通常有两种方法:一是通过适当的变换转化为线性回归模型,例如双曲线模型
(如图1所示),如果作变换y y 1
=',则有x b a y '+=',此时就是线性回归模型。

如果无法实现线性化,可以利用最小二乘法直接建立非线性回归模型,求解最佳参数。

例2(非线性回归模型、置信区间)
炼钢厂出钢时所用盛钢水的钢包,由于钢水对耐火材料的侵蚀,容积不断增大,我们希望找出使用次数与增大容积之间的函数关系。

实验数据见表2。

t(照射次数)
y (残留细菌数)
0>a bx
ae y =0>a x b ae
y /=0>a x b a y ln +=0>ab x b a y +=1x
x 1='
(1)建立非线性回归模型
x
b a y +=1; (2)预测钢包使用170=x 次后增大的容积0y ; (3)计算回归模型参数的置信度为95%的置信区间。

表2 钢包使用次数与增大容积
解:(1)建立非线性回归模型: 程序2 x=[2:16];
y= [6.42 8.2 9.58 9.5 9.7 10 9.93 9.99 10.49 10.59 10.6 10.8 10.6 10.9 10.76]; %建立非线性双曲线回归模型 b0=[0.084,0.1436];%回归系数初值
fun=inline('x./(b(1)*x+b(2))','b','x');%建立函数
[beta,r,J]=nlinfit(x,y,fun,b0);%非线性拟合命令;其中,beta 表示最佳回归系数的估计值,r 是残差,J 是雅可比矩阵
beta%输出最佳参数
y1=x./(0.0845*x+0.1152);%拟合曲线 plot(x,y,'*',x,y1,'-or')
legend('原始数据','拟合曲线')%legend 为图例命令
初始值要先计算后才能得到上面程序中的b0,选择已知程序中的点(2,6.42)和点(16,10.76),可选择手工方法解方程,也可利用以下MATLAB 程序求解。

程序3
[a,b]=solve('1/6.42=a+b/2','1/10.76=a+b/16')%解方程
注:当所求解的方程过于复杂时,MATLAB 运行会出现错误,此时需将方程尽量化简后再进行求解,如以下形式:
[a,b]=solve('6.42*(2*a+b)=2','10.76*(16*a+b)=16')
运行程序3可得到最佳参数为、,求解得到钢包使用次数与增大容积的非线性拟合图,如图2所示。

0845.0=a 1152.0=b
图2 钢包使用次数与增大容积的非线性拟合图
(2)预测钢包使用17次后增大的容积: 程序4
ypred=nlpredci(fun,17,beta,r,J)%预测钢包使用17次后增大的容积 (3)置信区间: 程序5
ci=nlparci(beta,r,J)%置信区间 运行后得到 ci =
0.0814 0.0876 0.0934 0.1370
即回归模型中参数的置信度为的置信区间分别为[0.0814,0.0876]与[0.0934,0.1370]。

我们求出的最佳参数分别为和,均属于上述置信区间。

调用多项式回归的GUI 界面,可显示出钢包使用次数与增大容积的拟合交互图,见图3。

程序6 polytool(x,y,2)
0845.0=a 1152.0=b
图3 钢包使用次数与增大容积的拟合交互图
图中的星号代表实验的原始数据点,绿色实线是回归模型曲线,两条红色虚线为95%上下置信区间的曲线,纵向的虚线表示自变量为9时,横向虚线对应的预测值为10.4118。

相关主题