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
因篇幅问题不能全部显示,请点此查看更多更全内容