基于MATLAB的多元非线性回归模型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第29卷第2期2009年3月
云南师范大学学报
JournalofYunnanNormalUniversity
V01.29No.2
Mar.2009基于MATLAB的多元非线性回归模型‘
董大校
(临沧师范高等专科学校,云南临沧6770000)
摘要:MATLAB是源于矩阵运算的一种高度集成的计算机语言。它提供了强大的科学运算、灵活的
程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能。文章充分利用
MATLAB统计工具箱的优势,通过程序的实现,对多元非线性回归模型的未知参数的估计方法以及对估
计后的模型预报做出研究,并以实例验证了该方法的有效性。
关键词:MATLAB;多元非线性回归;td,--乘法;统计工具箱
中图分类号:TP301文献标识码:A文章编号:1007—9793(2009)02—0045—04
l预备知识
非线性回归最小二乘法拟合的基本原理…。
对给定数据(菇i,Y;)(i=0,l,…,rrt),在取定的函数类西中,求p(x)∈痧,使误差t=p(x)一Y。(i=0,1,…,m)的平方和最小,即
∑#=∑[p(戈i)一,,i]2
最小,从几何意义上讲,就是寻求与给定点(菇i,Y;)(i=0,1,…,rn)的距离平方和为最小的曲线Y=p(菇)(图1)。函数p(x)称为拟合函数或最小二乘解,求拟合函数p(x)的方法称为曲线拟合的最小二乘法。
2MATLAB非线性曲线拟合命令介绍
2.1nHnfit函数旧1
用nlinfit函数进行非线性最小二乘数据拟合。该函数使用高斯一牛顿算法,调用格式如下:
Qbeta=nlinfit(X,Y,fun,beta0)用最小二乘法估计非线性函数系数。Y为响应值(因变量)矢量。一般地,为自变量值组成的设计矩阵,每一行对应与Y中的一发个值。但是,x可以是fun参数能接受的任何数组。fun参数为一函数,该函数具有下面的形式
yhat=myfun(beta。X)
其中beta为系数矢量,x为设计矩阵。fun为参数返回一个拟合Y值的yhat矢量。betaO为包含系数初始值的矢量。
●[beta,r,J]=nlinfit(X,Y,fun,beta0)返回拟合系数(beta)、残差(r)、和雅可比矩阵J,这些参数可以用于nlintool函数,生成预测值的误差估计;或用于nlparci函数生成系数的误差估计。
2.2nlintool函数
使用nlintool函数可以对数据进行非线性方程拟合并交互图形显示,其调用格式如下:
·收稿日期:2008—10-23
作者简介:董大校(1965一),男,云南省临沧市人,副教授,主要从事数学教学科研工作.
·46·云南师范大学学报(自然科学版)第29卷
●nlinfit(x,y,fun,beta())为一预测图,它提供数据(x,y)的非线性曲线拟合。它用两条红色曲线来表示预测值的95%置信区间。be啪为一矢量,包含参数的初值。fun参数为一函数,该函数具有yhat=myfun(beta,X)的形式:
其中beta为系数矢量,x为设计矩阵。
nlintool函数显示一个图形“矢量”,其中的每个图形对应于输入矩阵X的每一列。响应变量Y为一列矢量,与x的行数相匹配。
●nlintool(x,Y,FUN,beta0,alpha)用图形表示预测值的100(1一alpha)%置信区间。当x为矩阵时,将为每一列单独生成图形,应变量Y为一列变量,对应于X的行。alpha()的默认值为0.05生成95%置信区间。
2.3nlpredci函数
可利用nlpredci函数计算非线性模型预测值的置信区间,其调用格式如下:
●ypred=nlpredci(FUN,inputs,beta,r,J)给定拟合参数(beta)、残差(r)和和雅可比矩阵(J),返回预测响应。输入是非线性函数中独立变量的数值矩阵。
2.4nlparci函数
可利用nlparci函数计算非线性模型中参数估计值的置信区间。
●nlparci(beta,r,J)给定拟合参数(beta)、残差(r)、和解处的雅可比矩阵(J),返回非线性最小二乘参数估计(beta)的95%置信区间ci。nlparci函数使用nlinfit函数的输出作为输入。
2.5regress函数
用regress函数进行多元线性回归。
●[b,bint,r,tint,stats]=regress(y,x,alpha)给出bint和tint的100(1一alpha)%置信区间。2.6stepwise函数
用stepwise函数进行逐步回归,它使用交互环境进行分析。其调用格式如下:
●stepwise(x,Y,inmodel,penter,premove)指定模型的初始状态和要使用的置信区间。inmodel为长度为x中列数的逻辑矢量。inmodel指定包含在初始模型中的自变量。默认时不包含x中的列。pen—ter指定引入自变量的最大P值,默认时为0.05。premove指定剔除自变量的最小P值,默认时为0.10。
3实例验证
3.1反应动力学模型
反应动力学中的Hougen—Watson模型是非线性模型的一个典型例子。其模型如下:
口l·菇2一X3佃5
rate2—瓦了■啄-_i而
其中:卢。,届:,…,风为未知参数,石。,算:和戈,为三个输入变量。三个输入为氢(hydrogen)、n一戊烷(n—pentane)、异戊烷(isopentane)。上述模型显然为多元非线性模型。文件reaction.mat包含了反应的仿真数据。
通过计算可知,反应动力学Hougen—Watson模型中的5个未知参数为
卢l=1.2526,/32=0.0628,岛=0.04,/34=0.1124,岛=1.1914最终模型为:mte=ri矿丽西1.2_5i26了‘百x2面-Fx/i1—.1_石911:4瓦ri
3.2财政收入预测[31
财政收入与国民收入、工农业总产值、人12、就业人12、固定资产投资等因素有关。采用逐步回归分析构造预测模型。以财政收入作为因变量Y,自变量为国民收入(鼻。)、工业总产值(茹:)、农业总产值