logo资料库

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

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
1   第 29卷第 2期 2009年 3月 云南师范大学学报 Journal of Yunnan Normal University Vol. 29 No. 2 Mar. 2009   基于 MATLAB的多元非线性回归模型 董大校 (临沧师范高等专科学校 ,云南 临沧 6770000) 3 摘  要 :  MATLAB是源于矩阵运算的一种高度集成的计算机语言 。它提供了强大的科学运算 、灵活的 程序设计流程 、高质量的图形可视化与界面设计 、便捷的与其他程序和语言接口的功能 。文章充分利用 MATLAB统计工具箱的优势 ,通过程序的实现 ,对多元非线性回归模型的未知参数的估计方法以及对估 计后的模型预报做出研究 ,并以实例验证了该方法的有效性 。 关键词 :  MATLAB;多元非线性回归 ;最小二乘法 ;统计工具箱 中图分类号 : TP301  文献标识码 :  A  文章编号 :  1007 - 9793 (2009) 02 - 0045 - 04 1 预备知识 非线性回归最小二乘法拟合的基本原理 [ 1 ] 。 对给定数据 ( xi , yi ) ( i = 0, 1, …, m ) ,在取定的函数类 Φ中 ,求 p ( x) ∈Φ,使误差 ri = p ( x) - yi ( i = 0, 1, …, m ) 的平方和最小 ,即 m ∑ i = ∑ r2 i = 1 m i = 0 [ p ( xi ) - yi ]2 最小 ,从几何意义上讲 ,就是寻求与给定点 ( xi , yi ) ( i = 0, 1, …, m ) 的距离平方和为最小的曲线 y = p ( x) (图 1) 。函数 p ( x) 称为拟合 函数或最小二乘解 ,求拟合函数 p ( x) 的方法称为曲线拟合的最小二乘 法 。 2 MATLAB 非线性曲线拟合命令介绍 2 1 nlinfit函数 [ 2 ] 用 nlinfit函数进行非线性最小二乘数据拟合 。该函数使用高斯 —牛顿算法 ,调用格式如下 : ●beta = nlinfit(X, y, fun, beta0)  用最小二乘法估计非线性函数系数 。y为响应值 (因变量 ) 矢量 。 一般地 ,为自变量值组成的设计矩阵 ,每一行对应与 y中的一发个值 。但是 , X 可以是 fun参数能接受的 任何数组 。 fun参数为一函数 ,该函数具有下面的形式 其中 beta为系数矢量 , X为设计矩阵 。 fun为参数返回一个拟合 y值的 yhat矢量 。 beta0为包含系 yhat =myfun ( beta, X) 数初始值的矢量 。 ●[ beta, r, J ] = nlinfit(X, y, fun, beta0)  返回拟合系数 ( beta) 、残差 ( r) 、和雅可比矩阵 J,这些参数 可以用于 nlintool函数 ,生成预测值的误差估计 ;或用于 nlparci函数生成系数的误差估计 。 2 2 nlintool函数 使用 nlintool函数可以对数据进行非线性方程拟合并交互图形显示 ,其调用格式如下 : 收稿日期 : 2008 - 10 - 23 作者简介 :董大校 (1965 - ) ,男 ,云南省临沧市人 ,副教授 ,主要从事数学教学科研工作
1 ·64· 云南师范大学学报 (自然科学版 )   第 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为矩阵 05 生成 时 ,将为每一列单独生成图形 ,应变量 y为一列变量 ,对应于 x的行 。 alpha ( )的默认值为 0 95%置信区间 。 3 nlp redci函数 2 可利用 nlp redci函数计算非线性模型预测值的置信区间 ,其调用格式如下 : ●yp red = nlp redci( FUN , inputs, beta, r, J)  给定拟合参数 ( beta) 、残差 ( r)和和雅可比矩阵 (J) ,返 回预测响应 。输入是非线性函数中独立变量的数值矩阵 。 2 4 nlparci函数 可利用 nlparci函数计算非线性模型中参数估计值的置信区间 。 ●nlparci( beta, r, J)  给定拟合参数 ( beta) 、残差 ( r) 、和解处的雅可比矩阵 (J ) ,返回非线性最小二 乘参数估计 ( beta)的 95%置信区间 ci。 nlparci函数使用 nlinfit函数的输出作为输入 。 2 5 regress函数 用 regress函数进行多元线性回归 。 ●[ b, bint, r, rint, stats] = regress( y, x, alpha)  给出 bint和 rint的 100 (1 - alpha) %置信区间 。 2 6 stepw ise函数 用 stepw ise函数进行逐步回归 ,它使用交互环境进行分析 。其调用格式如下 : ●stepwise ( x, y, inmodel, penter, p remove)  指定模型的初始状态和要使用的置信区间 。 inmodel为 长度为 x中列数的逻辑矢量 。 inmodel指定包含在初始模型中的自变量 。默认时不包含 x中的列 。pen ter指定引入自变量的最大 p值 ,默认时为 0 10。 05。p remove指定剔除自变量的最小 p值 ,默认时为 0 3 实例验证 3 1 反应动力学模型 反应动力学中的 Hougen - W atson模型是非线性模型的一个典型例子 。其模型如下 : ra te = β1 ·x2 - x3 /β5 1 +β2 ·x1 +β3 ·x2 +β4 ·x3 其中 : β1 ,β2 , …,β5 为未知参数 , x1 , x2 和 x3 为三个输入变量 。三个输入为氢 ( hydrogen) 、n - 戊烷 ( n - pentane) 、异戊烷 ( isopentane) 。上述模型显然为多元非线性模型 。文件 reaction mat包含了反应的仿真 数据 。 通过计算可知 ,反应动力学 Hougen - W atson模型中的 5个未知参数为 β1 = 1 2526,β2 = 0 1   最终模型为 : ra te = 3 2 财政收入预测 [ 3 ] 0628,β3 = 0 2526·x2 - x3 /1 04,β4 = 0 1914 1124,β5 = 1 1914 1 + 0 0628·x1 + 0 04·x2 + 0 1124·x3 财政收入与国民收入 、工农业总产值 、人口 、就业人口 、固定资产投资等因素有关 。采用逐步回归分 析构造预测模型 。以财政收入作为因变量 y, 自变量为国民收入 ( x1 ) 、工业总产值 ( x2 ) 、农业总产值
1 1 1 1 1 1 1 1  第 2期 董大校 ,等 :  基于 MATLAB的多元非线性回归模型   ·74· ( x3 ) 、总人口 ( x4 ) 、就业人口 ( x5 ) 、固定资产投资 ( x6 ) 。其样本数 n = 30,自变量数 p = 6 。 首先编写非线性函数的 M 函数文件 model 据构成的矩阵 x和财政收入样本数据 y , 取 beta0 = [ 0 03 - 0 非线性拟合图形工具来显示 ,在 MATLAB命令窗口中输入如下命令 : m 代码 。然后在命令窗口输入由 x1、x2、x3、x4、x5 样本数 35 ];用交互式 50 - 0 01 - 0 02 0 60 0 nlintool(X, Y, ’model’, beta0, 0 由此得到财政收入与各因素之间关系的回归模型 1为 : 01) ;得到 nlintool分析窗口 。 y = 0 5245x1 - 0 0293x2 - 0 631x3 + 0 0113x4 - 0 0231x5 + 0 3652x6 ( 1)   对该模型进行多元线性回归检验 ,输入命令 : > > [ b, bint, r, rint, stats] = regress( y, x) 9805 301 stats = 0 结果分析 : bint为各系数的置信区间 。 stats矢量是值分别为相关系数的平方 、F值和显著性概率 p。 0305    0 951 5530 相关系数平方值 R2 = 0 为模型 1中至少有一个自变量的系数不为零 ,因而从总体上模型 1是有意义日的 。 9805,说明模型拟合程度较高 。显著性概率 p = 0 ,小于 0 05,故拒绝零假设 ,认 结果 b给出了回归系数的估计值 ,检查它们的置信区间发现 , x2 系数的置信区间包含了零点 , 表明 回归变量 x2 对变量 Y的影响不是太显著 ,因此从模型中移出次变量 ,对该模型进行逐步回归检验 ,在 MATLAB命令窗口输入并运行命令 : > > stepwise ( x, y) 除了 x1 , x3 , x6 外 ,其他自变量的回归系数置信区间都包含零点 , 保留 x1 , x3 , x6 ,将其他变量移出回 归模型 , R—square = 0 104远远超过了 F检验的 临界值 , p = 0远小于显著性水平 ,这些说明用包含 x1 , x3 , x6 的线性模型来描述 y是合适的 。x1 的回归系 数为 0 408624,常数项由 Intercep给出 ,即 b = 177 382869, x3 的回归系数为 - 0 96%可由模型确定 , F = 417 496975, x6 的回归系数为 0 979645,是指因变量的 97 07 ,利用逐步回归得到的回归模型 2为 : 382869x1 - 0 y = 0 496875x3 + 0 408624x6 + 177 07 ( 2)   由于 x1 , x3 , x6 对 y具有较明显的显著性 ,用更为精确的拟合曲线来拟合表示 x1 , x3 , x6 和 y的关系 。 做 x1 , x3 , x6 分别对 y的散点图 ,具体步骤在 MATLAB命令窗口输入命令 : > > x1 = x (: , 1) ; x3 = x (: , 3) ; x6 = x (: , 6) ; > > subp lot (1, 3, 1) ; p lot ( x1, y, ’+ ’) ; > > subp lot (1, 3, 2) ; p lot( x3, y, ’+ ’) ; > > subp lot(1, 3, 3) ; p lot( x6, y, ’+ ’) 再做经变换后的散点图 ,对比其线性效果较好的 ,得出如下拟合曲线 : y = - 71 391 + 0 473x1 ; y = 1620 46 - 6 509x3 + 0 01x2 3 ; y = 141 921 + 1 158x6 ;   在 MATLAB 命令窗口输入如下命令 : > > subp lot(1, 3, 1) ; > > p lot( x1, - 71 > > subp lot(1, 3, 2) ; > > p lot( x3, 1620 > > subp lot(1, 3, 3) ; > > p lot( x6, 141 对应的 R - S qua re分别为 0 951, 0 887, 0 391 + 0 46 - 6 921 + 1 473 509 158 x1, ’+ ’) ; x3 + 0 01 x6, ’+ ’) x3 ^2, ’+ ’) 944。从相关系数的值可以看出 ,对应的拟合方程的拟合 程度较高 。所以 ,用拟合后的曲线来代替原来的 x1 , x3 , x6 ,得到如下回归模型 3: 3 + 0 作为对比 ,在引入交互项 ,在 MATLAB 命令窗口输入下面命令 : 1811x1 + 3 2342x3 - 0 y = 0 005x2 4732x6 - 597 4372 ( 3) > > x1 = x (: , 1) ; x2 = x (: , 2) ; x3 = x (: , 3) ; x7 = x1 x2; x8 = x1 x3; > > x = [ x x7 x8 ]; > > stepwise ( x, y) 加入交互项后 ,利用逐步回归分析 ,从运算结果可得 R - S qua re = 0 9283, p = 0 0000。各项参数值较模型 (2) 、(3)更好 ,所以 ,建立模型 (4) 98665, F = 461 923, RM S E = 27 y = 0 845361x1 - 0 845361x1 - 0 0120252x5 + 0 0120252x5 + 0 0000045x7 - 0 00057x1 x3 00057x8 即 :    y = 0 ( 4) 从各统计量的数值看 ,模型 (2)比模型 (1)差一点 ,但模型 (2)比模型 (1)更为简单 ,模型 ( 3)较模型 0000045x1 x2 - 0
1 ·84· 云南师范大学学报 (自然科学版 )   第 29卷   (1) 、(2)虽然是非线性的回归模型 ,但实际上它的拟合效果并不好 。模型 ( 4)是在加入交互项后建立 的 ,其系数中有的较小 ,几乎为零 ,代入数据进行预测 ,其效果不是很好 。综合上述情形 ,建立的线性回 归模型 (2)更能真实的反映各自变量与因变量之间的关系 。 4 结  语 本文从两方面入手 ,介绍了基于 MATLAB 的多元非线性回归模型参数的求解方法 ,同时也尝试了 2财政收入预测模型并没有表现的像多元线性 通过实验建立多元非线性回归模型的方法 ,虽然对于 3 回归模型那样优秀 ,但是可以提供一种思想与方法 ,在以后的学习与实践中来完善这种思想与方法 。 参  考  文  献 : [ 1 ]  袁建问 [ 2 ]  苏金明 ,阮沈勇 ,王永利 经济计量学实验 [M ] 北京 :科学出版社 , 2002 87 - 89 MATLAB工程数学 [M ] 北京 :电子工业出版社 , 2005 50 - 83 The M ultivar ia te Non linear Regression M odel Ba sed on M ATLAB DON G D a - xiao (L in Cang Teachers’College) Abstract:  MATLAB is the origin of the matrix operations in a highly integrated computer language It p rovided a powerful scien tific computing, flexible p rogram design p rocess, high - quality graphics and visual interface design and convenient p rocedures and language and other interface features In this paper, we take full advantage ofMATLAB statistic tool box to achieve the multi variate nonlinear regression model Key words:  MATLAB;Multivariate Nonlinear regression; Least squares; statistic tool box examp les are used to validate the method is effective Estimate of the unknown parameters (上接第 44页 ) En tire Sol ution s of Functiona l Equa tion f 6 ( z) + g6 ( z) + h6 ( z) = 1 SU M in ,  L I Yu - hua (Department of Mathematics, Yunnan Normal University, Yunnan Kunm ing 650092) Abstract:  This paper studies the entrie solutions of the functional equation f 6 ( z) + g6 ( z) + h6 ( z) = 1 It is shown that there is no nonconstant entrie functions with order smaller than one satisfying the equation f ( z) , g ( z) , h ( z) w ith order smaller than one satisfying the equation f 6 ( z) + g6 ( z) + h6 ( z) = 1 Meanwhile a new brief p roof is given for the known results that if n≥7 there is no nonconstant entrie functions solutions of the functional equation f n ( z) + gn ( z) + hn ( z) = 1 Key words:  Functional equation; Entire function; Value distribution theory
分享到:
收藏