《20100402 第五讲:线性与非线性回归分析初步(2次课).ppt》由会员分享,可在线阅读,更多相关《20100402 第五讲:线性与非线性回归分析初步(2次课).ppt(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归1第五讲 一元/多元线性回归(上)内容:内容:线性回归简言之就是用统计数据寻求变量线性回归简言之就是用统计数据寻求变量 间间线性相关关系线性相关关系的近似表达式的一种方法的近似表达式的一种方法目的:目的:学习回归分析的基本思想和方法,掌握学习回归分析的基本思想和方法,掌握 Matlab的一元的一元/多元线性回归多元线性回归函数和工具函数和工具要求:要求:掌握掌握Matlab线性回归分析,处理应用问题线性回归分析,处理应用问题了解回归分析的基本思想和方法了解回归分析的基本思想和方法了解回归分析的了解回归分析的基本类型和实现步骤
2、基本类型和实现步骤掌握线性回归函数掌握线性回归函数 regress rcoplot robustfit掌握交互式回归分析工具掌握交互式回归分析工具 rstool stepwise第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归2回归分析的基本思想和方法 在客观世界中普遍存在着变量之间的关系,在客观世界中普遍存在着变量之间的关系,变量之间的关系一般来说可分为变量之间的关系一般来说可分为确定性的与非确确定性的与非确定性定性的两种。确定性关系是指变量之间可以用确的两种。确定性关系是指变量之间可以用确定的定的函数关系函数关系来表达来表达(插值或拟合插值或拟合)。非确定性关。非确定
3、性关系,例如人的身高和体重的关系、人的血压和年系,例如人的身高和体重的关系、人的血压和年龄的关系、某产品的广告投入与销售额间的关系龄的关系、某产品的广告投入与销售额间的关系等,它们之间是有关联的,但又不能用普通函数等,它们之间是有关联的,但又不能用普通函数来表示,我们称这类非确定性关系为来表示,我们称这类非确定性关系为相关关系相关关系。具有相关关系的变量在很多时候涉及到具有相关关系的变量在很多时候涉及到随机随机变量变量,虽然不具有确定的函数关系,但是可以借,虽然不具有确定的函数关系,但是可以借助函数关系来助函数关系来近似表示近似表示它们之间的统计规律,这它们之间的统计规律,这种近似地表示它们之
4、间的相关关系的函数被称为种近似地表示它们之间的相关关系的函数被称为回归函数回归函数,对应的数学方法称为,对应的数学方法称为回归分析回归分析。第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归3回归分析的基本思想和方法 回归分析是数学建模的有力工具,那么我们要回归分析是数学建模的有力工具,那么我们要建立回归函数的数学模型,一般需要以下建立回归函数的数学模型,一般需要以下步骤步骤:1、采集采集一组包含自变量和因变量的一组包含自变量和因变量的数据数据;2、选定选定自变量与因变量之间的自变量与因变量之间的模型模型,利用数据,利用数据 按照最小二乘准则按照最小二乘准则计算计算模型中的
5、模型中的系数系数;3、利用统计、利用统计分析分析方法对不同的模型进行方法对不同的模型进行比较比较,找出与数据拟合得最好的模型;找出与数据拟合得最好的模型;4、判断得到的、判断得到的模型模型是否适合于这组数据,是否适合于这组数据,诊断诊断 有无不适合回归模型的异常数据;有无不适合回归模型的异常数据;5、利用模型对因变量做出、利用模型对因变量做出预测预测或或解释解释。附注附注:在第:在第2步中,选定自变量与因变量的模步中,选定自变量与因变量的模型时,一般是凭经验选取模型。回归分析主要包型时,一般是凭经验选取模型。回归分析主要包括括一元线性回归,多元线性回归一元线性回归,多元线性回归以及以及非线性回
6、归非线性回归第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归4一元线性回归(linear regression)基于最小二乘的一元线性回归函数基于最小二乘的一元线性回归函数regress:Unary Linear Regression Analysis:b=regress(y,X)回归系数的点估计回归系数的点估计b,bint,r,rint,stats=regress(y,X,alpha)回归系数的点估计和区间估计,并检验回归模型回归系数的点估计和区间估计,并检验回归模型范例范例 为实时地调整切削机床,需测定刀具的磨损为实时地调整切削机床,需测定刀具的磨损程度,每隔一小时测
7、量刀具的厚度得到以下的数据,程度,每隔一小时测量刀具的厚度得到以下的数据,试建立刀具厚度关于切削时间的回归模型,对模型试建立刀具厚度关于切削时间的回归模型,对模型和系数进行检验,预测和系数进行检验,预测15小时后刀具的厚度小时后刀具的厚度:时间时间(h)012345678910厚度厚度(cm)30.629.128.428.128.027.727.527.227.026.826.5第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归5一元线性回归(linear regression)1、对原始数据进行观察,确定回归模型:、对原始数据进行观察,确定回归模型:x=0:1:10;y=
8、30.6,29.1,28.4,28.1,28.0,27.7,27.5,27.2,27.0,26.8,26.5;plot(x,y,rs,linewidth,2);从原始数据上看,可以建立一元线性回归模型:从原始数据上看,可以建立一元线性回归模型:第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归6一元线性回归(linear regression)2、线性回归函数、线性回归函数regress相关参数的统计学意义相关参数的统计学意义:其中,其中,alpha表示显著性水平,缺省时为表示显著性水平,缺省时为0.05;b为为回归回归系数估计值系数估计值,bint为回归系数的置信区间;为
9、回归系数的置信区间;r是残差,是残差,rint是残差的置信区间;是残差的置信区间;stats是用于是用于检验检验回归模型的统计量。回归模型的统计量。统计量统计量stats有三个数值:有三个数值:一是一是相关系数相关系数 R的平方的平方(用于用于相关系数评价,相关系数评价,R的绝对值间于的绝对值间于0.81,越靠近,越靠近1表明回归表明回归显著显著);二是二是统计量统计量F(用于用于F检验法,检验法,F的值大于的值大于F1-a(v1,v2)表明回归显著表明回归显著);三是三是与与F对应的概率对应的概率P(Palpha表明表明回归显回归显著,一般著,一般0.01P 0.05被认为是具有统计学意义,
10、而被认为是具有统计学意义,而0.001 P 0.01被认为具有高度统计学意义被认为具有高度统计学意义)第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归7一元线性回归(linear regression)3、计算计算回归模型各项回归模型各项系数系数并绘制时序残差图并绘制时序残差图:x=0:1:10;y=30.6,29.1,28.4,28.1,28.0,27.7,27.5,27.2,27.0,26.8,26.5;alpha=0.05;x=ones(length(x),1),x;y=y;b,bint,r,rint,stats=regress(y,x,alpha);%线性回归线性
11、回归disp(回归系数回归系数b估计值估计值:,num2str(b);disp(相关系数相关系数R绝对值绝对值:,num2str(sqrt(stats(1);%此值至少间于此值至少间于0.81,越接近,越接近1越显著越显著disp(假设检验统计量假设检验统计量F:,num2str(stats(2);%此值大于此值大于F分布查表值分布查表值finv(0.95,1,9),越大于越显著,越大于越显著disp(统计量统计量F对应概率对应概率P:,num2str(stats(3);%此值小于此值小于alpha(默认默认0.05),越小于越显著,越小于越显著rcoplot(r,rint)%画出残差及其置信
12、区间画出残差及其置信区间(时序残差图时序残差图)fprintf(回归函数为回归函数为 y=%.4f+%.4f*xn,b(1),b(2);第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归8一元线性回归(linear regression)4、诊断诊断并剔除并剔除不适合回归模型的异常数据不适合回归模型的异常数据:%为了方便多次回归,此处为了方便多次回归,此处daoju.m已作适当改写已作适当改写 观察残差分布,发现第观察残差分布,发现第一个数据一个数据(0,30.6)残差的置信残差的置信区间区间不包括零点不包括零点,应视为,应视为异异常点常点,将其剔除后,用剩余,将其剔除后,
13、用剩余的数据点的数据点重新进行计算重新进行计算:再次计算,发现原始数再次计算,发现原始数据中的第二个数据据中的第二个数据(1,29.1)残残差的置信区间差的置信区间也不包括零点也不包括零点,仍将该点视为仍将该点视为异常点异常点,将其,将其剔除,剔除,重新计算重新计算:第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归9一元线性回归(linear regression)5、综合、综合三三种评价种评价指指数数一一时序残差时序残差图图选定最佳回归选定最佳回归:最后一次回归最后一次回归的数据残差的置的数据残差的置信区间信区间全部包括全部包括零点,无异常点零点,无异常点。对比分析:对
14、比对比分析:对比两次两次剔除剔除异常点异常点前后的变化,发前后的变化,发现现置信区间明显置信区间明显缩小,相关系数缩小,相关系数F F平方和平方和明显变大明显变大,表明异常点的剔表明异常点的剔除有利于更好的除有利于更好的建立模型。建立模型。第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归10一元线性回归(linear regression)6、残差向量正态性的图形检验、残差向量正态性的图形检验:目的是为了检验误差的正态性假设是否合理,常用的目的是为了检验误差的正态性假设是否合理,常用的图形检验方法与三种:图形检验方法与三种:normplot qqplot histqqpl
15、ot分位图分位图hist频度统计图频度统计图第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归11一元线性回归(linear regression)7、利用利用回归回归模型对因变量做出预测或解释模型对因变量做出预测或解释:代入最后一次回归系数估计值:代入最后一次回归系数估计值:28.8667 -0.233333对比采样点和回归模型,并预测对比采样点和回归模型,并预测1515小时后刀具的厚度:小时后刀具的厚度:xdata=0:1:10;ydata=30.6,29.1,28.4,28.1,28.0,27.7,27.5,27.2,27.0,26.8,26.5;plot(xdata
16、,ydata,rs,linewidth,2);hold on;x=0:0.01:16;y=b(1)+b(2)*x;plot(x,y,b-,linewidth,2);y=b(1)+b(2)*15%ans=25.3667 即该切削机床即该切削机床15小时后的刀具厚度预测值为小时后的刀具厚度预测值为25.3667 cm第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归12一元线性回归(linear regression)基于最小二乘加权迭代的基于最小二乘加权迭代的稳健回归稳健回归函数函数robustfit:Robust Regression Analysis:b=robustfi
17、t(X,Y)b,stats=robustfit(X,Y)b,stats=robustfit(X,Y,wfun,tune,const)说明说明 b为回归为回归系数估计向量;系数估计向量;stats为为各种参数估各种参数估计;计;wfun指定一个加权函数;指定一个加权函数;tune为调协常数;为调协常数;const的值为的值为on(默认值默认值)时添加一个常数项;时添加一个常数项;为为off 时忽略常数项。时忽略常数项。稳健回归稳健回归是指此回归方法是指此回归方法相对于其他回归方法而言,受异常值的影响较小。相对于其他回归方法而言,受异常值的影响较小。第第五五讲讲 一一元元多多元元线线性性回回归归与
18、与非非线线性性回回归归13一元线性回归(linear regression)范例范例 用函数用函数y=10-2x加随机干扰项生成数据集加随机干扰项生成数据集,改改变变y(10)的值形成异常值,分别作的值形成异常值,分别作regress和和robustfit线性回归,线性回归,观察异常数据点对回归效果的影响:观察异常数据点对回归效果的影响:x=1:1:10;y=10-2*x+randn(1,10);%生成数据并加干扰项生成数据并加干扰项y(10)=0;%产生异常数据点产生异常数据点breg=regress(y,ones(1,10);x)brob=robustfit(x,y)%注意调用格式注意调用
19、格式syms b1 b2 t;fun=b1+b2*t;f=inline(subs(fun,b1,b2,breg(1),breg(2);g=inline(subs(fun,b1,b2,brob(1),brob(2);plot(x,y,rs,linewidth,2);hold on;plot(x,f(x),g-,linewidth,2);plot(x,g(x),b-,linewidth,2);上面的范例也可以通过运行上面的范例也可以通过运行robustdemo动态观察动态观察第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归14多元线性回归(linear regression)
20、基于最小二乘的多元线性回归函数基于最小二乘的多元线性回归函数regress:Multiple Linear Regression Analysis:b=regress(y,X)b,bint,r,rint,stats=regress(y,X,alpha)范例范例 现有现有23位病人对医院的服务工作进行综合打位病人对医院的服务工作进行综合打分分(百分制百分制),同时也调查病人的简单情况,项目包,同时也调查病人的简单情况,项目包括,病人对医院服务工作的满意程度括,病人对医院服务工作的满意程度Y,病人的年,病人的年龄龄X1,病情严重程度,病情严重程度X2,病人忧虑程度,病人忧虑程度X3,具体,具体调查
21、表格如下调查表格如下(参见参见p89-90,方法,方法1)第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归15多元线性回归(linear regression)1、对原始数据进行观察,确定回归模型:、对原始数据进行观察,确定回归模型:load hospital.mat%载入数据源载入数据源subplot(1,3,1);plot(x(1,:),y,rs,linewidth,2);title(年龄年龄vs评分评分);subplot(1,3,2);plot(x(2,:),y,gs,linewidth,2);title(病情病情vs评分评分);subplot(1,3,3);plo
22、t(x(3,:),y,bs,linewidth,2);title(忧虑忧虑vs评分评分);由散点图分析知:由散点图分析知:自变量年龄、病情、忧虑与因变量评分自变量年龄、病情、忧虑与因变量评分呈显著线性关系呈显著线性关系,所以可以建立多元线性回归模型,所以可以建立多元线性回归模型第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归16多元线性回归(linear regression)2、利用数据按照最小二乘准则计算模型中的系数利用数据按照最小二乘准则计算模型中的系数:load hospital.mat%载入数据源载入数据源alpha=0.05;x=ones(length(x),
23、1),x;y=y;b,bint,r,rint,stats=regress(y,x,alpha);disp(回归系数回归系数b估计值估计值:,num2str(b);disp(相关系数相关系数R绝对值绝对值:,num2str(sqrt(stats(1);disp(假设检验统计量假设检验统计量F:,num2str(stats(2);%finv(0.95,3,19)disp(统计量统计量F对应概率对应概率P:,num2str(stats(3);rcoplot(r,rint)%画出残差及其置信区间画出残差及其置信区间(时序残差图时序残差图)fprintf(回归函数为回归函数为 y=%.4f+%.4f*x
24、1+%.4f*x2+%.4f*x3,b(1),b(2),b(3),b(4);第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归17多元线性回归(linear regression)3、找出与数据拟合得最好的模型找出与数据拟合得最好的模型:经过对经过对stats统计量和时序残差图的综合分析,回归统计量和时序残差图的综合分析,回归显著,回归函数具有统计学意义显著,回归函数具有统计学意义第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归18多元线性回归(linear regression)4、利用模型对因变量做出预测或解释利用模型对因变量做出预测或解释:代入最
25、后回归系数估计值:代入最后回归系数估计值:162.88 -1.2103 -0.66591 -8.613如果有一个新病人,其特征是年龄如果有一个新病人,其特征是年龄53,病情严重程度,病情严重程度60,忧虑程度忧虑程度2.5,试预测该病人对医院服务工作的评分:,试预测该病人对医院服务工作的评分:x=1,53,60,2.5;y=x*by=37.2421即该病人对医院服务工作的评分预测值为即该病人对医院服务工作的评分预测值为37.2421第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归19多元线性回归(linear regression)基于最小二乘的多元基于最小二乘的多元线性
26、线性回归工具回归工具rstool:Interactive fitting and visualization of a response surface:rstool(x,y,model)rstool(x,y,model,alpha,xname,yname)范例范例 现有现有23位病人对医院位病人对医院(方法方法2)load hospital.mat%载入数据源载入数据源x=x;y=y;rstool(x,y,linear,0.05,年龄年龄;病情病情;忧虑忧虑,评分评分);第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归20多元线性回归(linear regression
27、)基于多元线性回归的逐步回归工具基于多元线性回归的逐步回归工具stepwise:Interactive environment for stepwise regression:stepwise(X,y,inmodel)stepwise(X,y,inmodel,alpha)范例范例 现有现有23位病人对医院位病人对医院(方法方法3)load hospital.mat%载入数据源载入数据源x=x;y=y;stepwise(x,y,1,2,3,0.05);第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归21第五讲 非线性回归及转化(下)内容:内容:非线性回归简言之就是用统计数据
28、寻求变量非线性回归简言之就是用统计数据寻求变量 间间非线性相关关系非线性相关关系的近似表达式的一种方法的近似表达式的一种方法目的:目的:学习非线性回归学习非线性回归转化转化为线性回归的方法,掌为线性回归的方法,掌 握握Matlab的非线性回归的非线性回归函数和工具箱函数和工具箱要求:要求:掌握掌握Matlab非线性回归分析非线性回归分析,处理应用问题处理应用问题了解非线性回归算法的了解非线性回归算法的初值困难初值困难问题问题掌握非线性回归转化为线性回归掌握非线性回归转化为线性回归常用变量代换常用变量代换掌握非线性回归函数掌握非线性回归函数 nlinfit polyfit lsqcurvefit
29、掌握交互式回归分析工具掌握交互式回归分析工具 rstool nlintool polytool第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归22非线性回归(nonlinear regression)前面假定因变量和自变量之间的相关关系可以前面假定因变量和自变量之间的相关关系可以用线性方程来近似地反映,但是,在现实生活中,用线性方程来近似地反映,但是,在现实生活中,非线性关系是大量存在的非线性关系是大量存在的,在许多场合,非线性的,在许多场合,非线性的回归函数比线性回归函数更能够正确地反映客观现回归函数比线性回归函数更能够正确地反映客观现象之间的相互联系。象之间的相互联系
30、。非线性回归模型是回归函数关于未知参数具有非线性回归模型是回归函数关于未知参数具有非线性结构非线性结构的回归模型,模型的拟合一般的回归模型,模型的拟合一般很困难很困难。处理非线性回归的处理非线性回归的通行方法通行方法是,通过是,通过变量变换变量变换,将将非线性回归非线性回归转化为转化为线性回归线性回归,然后用线,然后用线性回归方法处理。性回归方法处理。第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归23非线性回归(nonlinear regression)非线性回归通常需要非线性回归通常需要猜测猜测未知的初始值,然后未知的初始值,然后反复迭代,每次迭代都会修正当前的估计值
31、,直至反复迭代,每次迭代都会修正当前的估计值,直至算法收敛为止。但是,如果设定的参数初始值不当算法收敛为止。但是,如果设定的参数初始值不当则计算难以收敛,无法求得正确结果则计算难以收敛,无法求得正确结果(或陷入局部或陷入局部最优最优),在实际应用当中,对大多数用户来说,给在实际应用当中,对大多数用户来说,给出出(猜出猜出)恰当的初始值是件恰当的初始值是件相当困难相当困难的事的事。第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归24非线性回归(nonlinear regression)非线性回归非线性回归转转化为线性回归化为线性回归(常用变量代换参考常用变量代换参考):1、
32、双曲曲线、双曲曲线y=1/(a+b/x)syms a b x;y=1/(a+b/x);f=subs(y,a,b,3,4);ezplot(f);grid;第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归25非线性回归(nonlinear regression)非线性回归非线性回归转转化为线性回归化为线性回归(常用变量代换参考常用变量代换参考):2、幂函数曲线、幂函数曲线syms a b x;y=a*xb;f=subs(y,a,b,3,4);ezplot(f);grid;第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归26非线性回归(nonlinear
33、regression)非线性回归非线性回归转转化为线性回归化为线性回归(常用变量代换参考常用变量代换参考):3、指数曲线、指数曲线syms a b x;y=a*exp(b*x);f=subs(y,a,b,3,4);ezplot(f);grid;第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归27非线性回归(nonlinear regression)非线性回归非线性回归转转化为线性回归化为线性回归(常用变量代换参考常用变量代换参考):4、倒指数曲线、倒指数曲线syms a b x;y=a*exp(b/x);f=subs(y,a,b,3,4);ezplot(f);grid;第
34、第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归28非线性回归(nonlinear regression)非线性回归非线性回归转转化为线性回归化为线性回归(常用变量代换参考常用变量代换参考):5、对数曲线、对数曲线syms a b x;y=a+b*log(x);f=subs(y,a,b,3,4);ezplot(f);grid;第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归29非线性回归(nonlinear regression)非线性回归非线性回归转转化为线性回归化为线性回归(常用变量代换参考常用变量代换参考):6、S型曲线型曲线syms a b x
35、;y=1/(a+b*exp(-x);f=subs(y,a,b,3,4);ezplot(f);grid;第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归30非线性回归(nonlinear regression)非线性回归非线性回归转转化为线性回归化为线性回归(更多变量代换参考更多变量代换参考):第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归31非线性回归(nonlinear regression)基于最小二乘的非线性回归函数基于最小二乘的非线性回归函数nlinfit:Nonlinear Regression Analysis:beta=nlinfit
36、(X,y,FUN,beta0)beta,r,J=nlinfit(X,y,FUN,beta0)范例范例 为研究三种化学物质:氢、为研究三种化学物质:氢、n-戊烷和异戊戊烷和异戊烷与某物质的反应速度烷与某物质的反应速度Y(%)之间的关系,测得表之间的关系,测得表7.2所示的数据,试建立非线性回归模型,并进行所示的数据,试建立非线性回归模型,并进行统计分析统计分析(参见参见p103,方法,方法1)第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归32非线性回归(nonlinear regression)已知经验回归函数已知经验回归函数(实际问题背景分析实际问题背景分析)进行回归进
37、行回归首先:首先:编写被调编写被调M函数文件函数文件reacfun.mfunction yhat=reacfun(b,x)x1=x(:,1);x2=x(:,2);x3=x(:,3);yhat=(b(1)*x2-x3/b(5)./(1+b(2)*x1+b(3)*x2+b(4)*x3);然后:然后:导入数据并利用导入数据并利用nlinfit进行非线性回归进行非线性回归load reaction.mat%此数据此数据Matlab已自带,只需导入已自带,只需导入x=reactants;y=rate;b=1,0.05,0.02,0.1,2;%猜测猜测恰当初值恰当初值beta,r=nlinfit(x,y,
38、reacfun,b)%对初值的选取有严重依赖对初值的选取有严重依赖normplot(r)%检验误差的正态性假设检验误差的正态性假设第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归33非线性回归(nonlinear regression)最后:最后:代入代入非线性回归模型非线性回归模型系数系数,定义,定义内联函数内联函数for n=1:5,eval(syms b,num2str(n);end%定义符号变量定义符号变量for n=1:3,eval(syms x,num2str(n);end%定义符号变量定义符号变量y=(b1*x2-x3/b5)/(1+b2*x1+b3*x2+
39、b4*x3);%符号表达式符号表达式f=inline(subs(y,b1,b2,b3,b4,b5,beta);%代入系数定义函数代入系数定义函数%在定义好内联函数后,只要按格式在定义好内联函数后,只要按格式f(x1,x2,x3)调用即可调用即可应用:应用:试估计氢试估计氢255、n-戊烷戊烷230和异戊烷和异戊烷70时的该时的该物质的反应速度?物质的反应速度?f(255,130,70)%ans=3.4598第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归34非线性回归(nonlinear regression)基于最小二乘的多元基于最小二乘的多元非线性非线性回归工具回归工
40、具rstool:Interactive fitting and visualization of a response surface:rstool(x,y,model)rstool(x,y,model,alpha,xname,yname)范例范例 为研究三种化学物质为研究三种化学物质(方法方法2)首先:首先:导入数据导入数据 load reaction.mat;x=reactants;y=rate;xname=xn;yname=yn;alpha=0.05;rstool(x,y,quadratic,alpha,xname,yname)第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性
41、性回回归归35非线性回归(nonlinear regression)然后:然后:选择选择 Expot/Parameters 输出回归系数输出回归系数beta最后:最后:代入非线性回归模型系数,并定义内联函数代入非线性回归模型系数,并定义内联函数for n=0:9,eval(syms b,num2str(n);endfor n=1:3,eval(syms x,num2str(n);endy=b0+b1*x1+b2*x2+b3*x3+b4*x1*x2+b5*x1*x3+b6*x2*x3+b7*x12+b8*x22+b9*x32;%完全二次回归函数完全二次回归函数f=inline(subs(y,b0
42、,b1,b2,b3,b4,b5,b6,b7,b8,b9,beta);应用:应用:试估计氢试估计氢255、n-戊烷戊烷230和异戊烷和异戊烷70时的该时的该物质的反应速度?物质的反应速度?f(255,130,70)%ans=2.4895第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归36非线性回归(nonlinear regression)基于基于rstool的非线性多项式回归工具的非线性多项式回归工具nlintool:Nonlinear Regression Analysis:nlintool(x,y,FUN,beta0)nlintool(x,y,FUN,beta0,al
43、pha,xname,yname)范例范例 为研究三种化学物质为研究三种化学物质(方法方法3)load reaction.matnlintool(reactants,rate,hougen,beta,0.01,xn,yn)b=1.2526 0.0628 0.0400 0.1124 1.1914第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归37非线性回归(nonlinear regression)基于基于polyfit的一元多项式回归工具的一元多项式回归工具polytool:Interactive plot for prediction of fitted polynomi
44、als:polytool(x,y,n)polytool(x,y,n,alpha)范例范例 产生数据集产生数据集x=1:10;y=x+randn(1,10);试对其试对其进行多项式回归分析,并预测进行多项式回归分析,并预测x=8.5262对应值:对应值:x=1:10;y=x+randn(1,10);alpha=0.05polytool(x,y,3,alpha)%拟合拟合3阶多项式,显著性水平阶多项式,显著性水平0.05%通过通过 Export/Parameters 导出系数导出系数syms b3 b2 b1 b0 x;y=b3*x3+b2*x2+b1*x+b0;f=inline(subs(y,b
45、3,b2,b1,b0,beta);%以后调用以后调用f(x)即可计算相应预测值即可计算相应预测值第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归38非线性回归(nonlinear regression)基于最小二乘的多项式拟合函数基于最小二乘的多项式拟合函数polyfit:p=polyfit(x,y,n)p,S=polyfit(x,y,n)S:a structure S for use with polyval to obtain error estimates or predictions.基于最小二乘的非线性拟合函数基于最小二乘的非线性拟合函数lsqcurvefit:x=lsqcurvefit(fun,x0,xdata,ydata)x,resnorm,residual=lsqcurvefit(.)renorm:the value of the squared 2-norm of the residual at x:sum(fun(x,xdata)-ydata).2residual:the value of the residual,fun(x,xdata)-ydata,at the solution x第第五五讲讲 一一元元多多元元线线性性回回归归与与非非线线性性回回归归39实验一:P107 练习一/二Thats all3Q!
限制150内