搜索
您的当前位置:首页基于MATLAB的多元非线性回归模型

基于MATLAB的多元非线性回归模型

来源:乌哈旅游
第29卷第2期 

2009年3月云南师范大学学报

JournalofYunnanNormalUniversity

3

Vol.29No.2

 

Mar.2009

基于MATLAB的多元非线性回归模型

董大校

(临沧师范高等专科学校,云南临沧6770000)

摘 要: MATLAB是源于矩阵运算的一种高度集成的计算机语言。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能。文章充分利用

MATLAB统计工具箱的优势,通过程序的实现,对多元非线性回归模型的未知参数的估计方法以及对估

计后的模型预报做出研究,并以实例验证了该方法的有效性。关键词: MATLAB;多元非线性回归;最小二乘法;统计工具箱

中图分类号:TP301  文献标识码: A  文章编号: 1007-9793(2009)02-0045-04

1 预备知识

非线性回归最小二乘法拟合的基本原理

=0,1,…,m)的平方和最小,即

mm[1]

对给定数据(xi,yi)(i=0,1,…,m),在取定的函数类Φ中,求p(x)∈Φ,使误差ri=p(x)-yi(i

∑r

i=1

2i

=∑[p(x)

i

i=0

-yi]

2

最小,从几何意义上讲,就是寻求与给定点(xi,yi)(i=0,1,…,m)的距离平方和为最小的曲线y=

p(x)(图1)。函数p(x)称为拟合函数或最小二乘解,求拟合函数p(x)的方法称为曲线拟合的最小二乘

法。

2 MATLAB非线性曲线拟合命令介绍

211nlinfit函数

[2]

用nlinfit函数进行非线性最小二乘数据拟合。该函数使用高斯—牛顿算法,调用格式如下:

●beta=nlinfit(X,y,fun,beta0) 用最小二乘法估计非线性函数系数。y为响应值(因变量)矢量。一般地,为自变量值组成的设计矩阵,每一行对应与y中的一发个值。但是,X可以是fun参数能接受的任何数组。fun参数为一函数,该函数具有下面的形式

yhat=myfun(beta,X)

其中beta为系数矢量,X为设计矩阵。fun为参数返回一个拟合y值的yhat矢量。beta0为包含系数初始值的矢量。

●[beta,r,J]=nlinfit(X,y,fun,beta0) 返回拟合系数(beta)、残差(r)、和雅可比矩阵J,这些参数可以用于nlintool函数,生成预测值的误差估计;或用于nlparci函数生成系数的误差估计。212nlintool函数

使用nlintool函数可以对数据进行非线性方程拟合并交互图形显示,其调用格式如下:

收稿日期:2008-10-23

作者简介:董大校(1965-),男,云南省临沧市人,副教授,主要从事数学教学科研工作1

3

・46・云南师范大学学报(自然科学版)

 第29卷 

●nlinfit(x,y,fun,beta0) 为一预测图,它提供数据(x,y)的非线性曲线拟合。它用两条红色曲线来表示预测值的95%置信区间。beta0为一矢量,包含参数的初值。fun参数为一函数,该函数具有yhat=myfun(beta,X)的形式:

其中beta为系数矢量,X为设计矩阵。nlintool函数显示一个图形“矢量”,其中的每个图形对应于输入矩阵x的每一列。响应变量y为一列矢量,与x的行数相匹配。

●nlintool(x,y,FUN,beta0,alpha) 用图形表示预测值的100(1-alpha)%置信区间。当x为矩阵时,将为每一列单独生成图形,应变量y为一列变量,对应于x的行。alpha()的默认值为0105生成95%置信区间。213nlpredci函数

可利用nlpredci函数计算非线性模型预测值的置信区间,其调用格式如下:●ypred=nlpredci(FUN,inputs,beta,r,J) 给定拟合参数(beta)、残差(r)和和雅可比矩阵(J),返回预测响应。输入是非线性函数中独立变量的数值矩阵。214nlparci函数

可利用nlparci函数计算非线性模型中参数估计值的置信区间。●nlparci(beta,r,J) 给定拟合参数(beta)、残差(r)、和解处的雅可比矩阵(J),返回非线性最小二乘参数估计(beta)的95%置信区间ci。nlparci函数使用nlinfit函数的输出作为输入。215regress函数

用regress函数进行多元线性回归。●[b,bint,r,rint,stats]=regress(y,x,alpha) 给出bint和rint的100(1-alpha)%置信区间。216stepwise函数用stepwise函数进行逐步回归,它使用交互环境进行分析。其调用格式如下:●stepwise(x,y,inmodel,penter,premove) 指定模型的初始状态和要使用的置信区间。inmodel为长度为x中列数的逻辑矢量。inmodel指定包含在初始模型中的自变量。默认时不包含x中的列。pen2ter指定引入自变量的最大p值,默认时为0105。premove指定剔除自变量的最小p值,默认时为0110。

3 实例验证

311反应动力学模型

反应动力学中的Hougen-Watson模型是非线性模型的一个典型例子。其模型如下:

ββ1・x2-x3/5

rate=

1+β2・x1+β3・x2+β4・x3

其中:βogen)、n-戊烷(n-1,β2,…,β5为未知参数,x1,x2和x3为三个输入变量。三个输入为氢(hydrpentane)、异戊烷(isopentane)。上述模型显然为多元非线性模型。文件reaction1mat包含了反应的仿真数据。

通过计算可知,反应动力学Hougen-Watson模型中的5个未知参数为

β1=112526,β2=010628,β3=0104,β4=011124,β5=111914  最终模型为:rate=312财政收入预测

[3]

112526・x2-x3/111914

1+010628・x1+0104・x2+011124・x3

财政收入与国民收入、工农业总产值、人口、就业人口、固定资产投资等因素有关。采用逐步回归分析构造预测模型。以财政收入作为因变量y,自变量为国民收入(x1)、工业总产值(x2)、农业总产值

 第2期

董大校,等: 基于MATLAB的多元非线性回归模型

 ・47・

(x3)、总人口(x4)、就业人口(x5)、固定资产投资(x6)。其样本数n=30,自变量数p=6。

首先编写非线性函数的M函数文件model1m代码。然后在命令窗口输入由x1、x2、x3、x4、x5样本数据构成的矩阵x和财政收入样本数据y,取beta0=[0150-0103-01600101-01020135];用交互式非线性拟合图形工具来显示,在MATLAB命令窗口中输入如下命令:

nlintool(X,Y,m’odel’,beta0,0101);得到nlintool分析窗口。由此得到财政收入与各因素之间关系的回归模型1为:

y=015245x1-010293x2-01631x3+010113x4-010231x5+013652x6

(1)

  对该模型进行多元线性回归检验,输入命令:>>[b,bint,r,rint,stats]=regress(y,x)

stats=019805 30110305    0 95115530

结果分析:bint为各系数的置信区间。stats矢量是值分别为相关系数的平方、F值和显著性概率p。

2

相关系数平方值R=019805,说明模型拟合程度较高。显著性概率p=0,小于0105,故拒绝零假设,认为模型1中至少有一个自变量的系数不为零,因而从总体上模型1是有意义日的。

结果b给出了回归系数的估计值,检查它们的置信区间发现,x2系数的置信区间包含了零点,表明回归变量x2对变量Y的影响不是太显著,因此从模型中移出次变量,对该模型进行逐步回归检验,在MATLAB命令窗口输入并运行命令:>>stepwise(x,y)

除了x1,x3,x6外,其他自变量的回归系数置信区间都包含零点,保留x1,x3,x6,将其他变量移出回归模型,R—square=01979645,是指因变量的97196%可由模型确定,F=4171104远远超过了F检验的临界值,p=0远小于显著性水平,这些说明用包含x1,x3,x6的线性模型来描述y是合适的。x1的回归系数为01382869,x3的回归系数为-01496975,x6的回归系数为01408624,常数项由Intercep给出,即b=177107,利用逐步回归得到的回归模型2为:(2)y=01382869x1-01496875x3+01408624x6+177107  由于x1,x3,x6对y具有较明显的显著性,用更为精确的拟合曲线来拟合表示x1,x3,x6和y的关系。

做x1,x3,x6分别对y的散点图,具体步骤在MATLAB命令窗口输入命令:

);>>subplot>>x1=x(:,1);x3=x(:,3);x6=x(:,6);>>subplot(1,3,1);plot(x1,y,’+’

(1,3,2);plot(x3,y,’+’);>>subplot(1,3,3);plot(x6,y,’+’)

再做经变换后的散点图,对比其线性效果较好的,得出如下拟合曲线:

y=-711391+01473x1;y=1620146-61509x3+0101x3;y=1411921+11158x6;

2

  在MATLAB命令窗口输入如下命令:

);>>subplot(1,3,1);>>plot(x1,-711391+014733x1,’+’

)>>subplot(1,3,2);>>plot(x3,1620146-615093x3+01013x31^2,’+’

)>>subplot(1,3,3);>>plot(x6,1411921+111583x6,’+’

对应的R-Square分别为01951,01887,01944。从相关系数的值可以看出,对应的拟合方程的拟合

程度较高。所以,用拟合后的曲线来代替原来的x1,x3,x6,得到如下回归模型3:

y=011811x1+312342x3-01005x3+014732x6-59714372

2

(3)

作为对比,在引入交互项,在MATLAB命令窗口输入下面命令:

>>x1=x(:,1);x2=x(:,2);x3=x(:,3);x7=x113x2;x8=x113x3;>>x=[xx7x8];>>stepwise(x,y)

加入交互项后,利用逐步回归分析,从运算结果可得R-Square=0198665,F=4611923,RMSE=

(3)更好,所以,建立模型(4)2719283,p=010000。各项参数值较模型(2)、

y=01845361x1-010120252x5+010000045x7-0100057x8

(4)即:  y=01845361x1-010120252x5+010000045x1x2-0100057x1x3

从各统计量的数值看,模型(2)比模型(1)差一点,但模型(2)比模型(1)更为简单,模型(3)较模型

・48・云南师范大学学报(自然科学版)

 第29卷 

(1)、(2)虽然是非线性的回归模型,但实际上它的拟合效果并不好。模型(4)是在加入交互项后建立

的,其系数中有的较小,几乎为零,代入数据进行预测,其效果不是很好。综合上述情形,建立的线性回归模型(2)更能真实的反映各自变量与因变量之间的关系。

4 结 语

本文从两方面入手,介绍了基于MATLAB的多元非线性回归模型参数的求解方法,同时也尝试了通过实验建立多元非线性回归模型的方法,虽然对于312财政收入预测模型并没有表现的像多元线性回归模型那样优秀,但是可以提供一种思想与方法,在以后的学习与实践中来完善这种思想与方法。参 考 文 献:

[1] 袁建问1经济计量学实验[M]1北京:科学出版社,2002187-891

[2] 苏金明,阮沈勇,王永利1MATLAB工程数学[M]1北京:电子工业出版社,2005150-831

TheMultivariateNonlinearRegressionModelBasedonMATLABDONGDa-xiao(LinCangTeachers’College)

Abstract: MATLABistheoriginofthematrixoperationsinahighlyintegratedcomputerlanguage1Itprovidedapowerfulscien2tificcomputing,flexibleprogramdesignprocess,high-qualitygraphicsandvisualinterfacedesignandconvenientproceduresandlanguageandotherinterfacefeatures1Inthispaper,wetakefulladvantageofMATLABstatistictoolboxtoachievethemulti2variatenonlinearregressionmodel1Estimateoftheunknownparameters1examplesareusedtovalidatethemethodiseffective1Keywords: MATLAB;MultivariateNonlinearregression;Leastsquares;statistictoolbox

(上接第44页)

EntireSolutionsofFunctionalEquation

SUMin, LIYu-hua

f(z)+g(z)+h(z)=1

666

(DepartmentofMathematics,YunnanNormalUniversity,YunnanKunming650092)

666

Abstract: Thispaperstudiestheentriesolutionsofthefunctionalequationf(z)+g(z)+h(z)=11Itis

shownthatthereisnononconstantentriefunctionswithordersmallerthanonesatisfyingtheequationf(z),g

(z),h(z)withordersmallerthanonesatisfyingtheequationf

nnn

functionalequationf(z)+g(z)+h(z)=11

6

(z)+g(z)+h(z)=11Meanwhileanew

66

briefproofisgivenfortheknownresultsthatifn≥7thereisnononconstantentriefunctionssolutionsoftheKeywords: Functionalequation;Entirefunction;Valuedistributiontheory

因篇幅问题不能全部显示,请点此查看更多更全内容

Top