SAS讲义第三十四课非线性回归分析

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1578647543227第三十四课非线性回归分析现实世界中严格的线性模型并不多见,它们或多或少都带有某种程度的近似;在不少情况下,非线性模型可能更加符合实际。由于人们在传统上常把“非线性”视为畏途,非线性回归的应用在国内还不够普及。事实上,在计算机与统计软件十分发达的令天,非线性回归的基本统计分析已经与线性回归一样切实可行。在常见的软件包中(诸如SAS、SPSS等等),人们已经可以像线性回归一样,方便的对非线性回归进行统计分析。因此,在国内回归分析方法的应用中,已经到了“更上一层楼”,线性回归与非线性回归同时并重的时候。对变量间非线性相关问题的曲线拟合,处理的方法主要有:首先决定非线性模型的函数类型,对于其中可线性化问题则通过变量变换将其线性化,从而归结为前面的多元线性回归问题来解决。若实际问题的曲线类型不易确定时,由于任意曲线皆可由多项式来逼近,故常可用多项式回归来拟合曲线。若变量间非线性关系式已知(多数未知),且难以用变量变换法将其线性化,则进行数值迭代的非线性回归分析。一、可变换成线性的非线性回归在实际问题中一些非线性回归模型可通过变量变换的方法化为线性回归问题。例如,对非线性回归模型titititixbixay210sincos(34.1)即可作变换ttttttttxxxxxxxx2sin,2cos,sin,cos4321将其化为多元线性回归模型。一般地,若非线性模型的表达式为tmmtttxgbxgbxgbby22110(34.2)则可作变量变换tmmtttttxgxxgxxgx*2*21*1,,,(34.3)将其化为线性回归模型的表达式,从而用前面线性模型的方法来解决,其中(34.3)中的xt也可为自变量构成的向量。这种变量变换法也适用于因变量和待定参数bi。如1exp2132211tttttxxbxbxbay(34.4)时上式两边取对数得1lnln2132211tttttxxbxbxbay(34.5)现作变换1,ln,ln2130*tttttxxxabyy(34.6)则可得线性表达式1578647543227ttttxbxbxbby3322110*(34.7)利用前面方法确定了3,2,1,0,ˆibi,并由)ˆexp(ˆ0ba得到aˆ的值。变量变换的线性化方法可推广到下列形式的非线性模型tmmmttxgbcxgbcbcyh)()()()(11100(34.8)其中x=(x1,x2,,xp),而h(yt)、ci(bi)、gi(xt)则分别化为新的因变量、线性回归参数和自变量,即可归结为线性回归模型来解。见表34.1所示给出了一些常见的可线性化的非线性模型。表34.1典型的函数及线性化方法函数名称函数表达式线性化方法双曲线函数xbay1yv1xu1幂函数baxyyvlnxuln指数函数bxaeyyvlnxuxbaey/yvlnxu1对数函数xbaylnyvxulnS型函数xbeay1yv1xeu当曲线的函数类型未确定时,我们常采用上述非线性模型作为其拟合曲线,即将自变量的各种初等函数的组合作为新自变量,用逐步回归法(或正交筛选法等)对新变量进行筛选,以确定一个项数不多的线性函数表达式。该方法对表达式形式没限制且精度要求不高的问题颇为有效。二、多项式回归分析在式(34.2)中,若取iixxg,则为多项式回归模型。由数学分析知识可知,一般函数都可用多项式来逼近,故多项式回归分析可用来处理相当广泛的非线性问题。对观测数据(xt,yt)(t=1,…,N),多项式回归模型为tmtmtttxbxbxbby2210,t=1,2,,N令1578647543227NyyyY21,mNNNmmxxxxxxxxxX222221211111,mbbbB10,N21则模型可表示为XBY当X列满秩时,由前面的讨论知,其最小二乘估计为YXXXB1ˆ由此即可求得其多项式回归方程。但由于1XX的计算既复杂又不稳定,故我们一般采用正交多项式法来进行多项式回归。三、不可变换成线性的非线性回归分析假设因变量y与自变量(x1,x2,…,xp)之间满足非线性模型;,,,21pxxxFy(34.9)其中m,,,21为未知参数,F为已知表达式,仅未知的非线性函数,为误差项。现将观察数据pttttxxxy,,,,21,t=1,2,,N代人上式(34.9)得非线性回归模型tpttttxxxFy;,,,21,t=1,2,,N常记为EFY)(其中NyyyY,,,21为y的观察向量,m,,1为非线性回归系数,E=N,,,21为观察误差向量,F为未知参数的函数向量。非线性回归分析就是利用最小二乘准则来估计回归系数,即求ˆ使得残差平方和FYFYEEQ2121在ˆ处达到最小。非线性回归分析一般来用数值迭代法来进行,其共同特点是:由选定的初值0出发,通过逐步迭代1578647543227t0(34.10)即选择适当的步长t(0)及确定搜索方向向量=(1,2,…,m),使得0QQ(5.4.11)再由取代0,重复上述迭代过程,直至Q()可认为达到最小值为止,即可将所得的作为其最小二乘估计ˆ,从而得到非线性回归方程ˆ;,,,ˆ21pxxxFy1.下降方向和步长的选择首先考察FYFYEEQ2121的梯度向量(即导数)FYGFYFQ其中mFFFG,,1为F的梯度矩阵。为使0迭代收敛到ˆ,其迭代公式应满足下降性质(5.4.11)。现考虑一元函数tQt0,它从0出发以为方向的射线上取值。由复合求导公式得GFYQtdt0可以证明,当d0时,在以为方向向量的射线上可以找到t0,使得0QQ。我们将满足d0的称为下降方向,Bard于1974年给出了为下降方向的充要条件为FYGP其中P为对称正定阵,由此我们可得下降算法的迭代公式为FYGtP0(34.12)其中P为任意正定阵,G为F的梯度,t为满足0QQ的正实数,即步长。如何计算以便修改参数向量有五种常用的非线性回归迭代方法:高斯-牛顿法(Gauss-Newton)、最速下降法(梯度法,Gradient)、牛顿法(Newton)、麦夸特法(Marquardt)、正割法(DUD)。以下我们介绍其中高斯-牛顿法。15786475432272.Gauss-Newton法首先选取的一切初始近似值0,令0,则只要确定的值即可确定。为此,考虑)(F在0处的Taylor展开式,并略去二次以上的项得GFFFFF0000其中0FG为F的梯度。此时其残差平方和GFYGFYQ0021由0Q,得其的正则方程为0FYGGG(34.13)故01FYGGG(34.14)由此即可用前面线性回归法求,只需将G、)(0FY视为前面(5.2.1)式中的X、Y即可。此时,对给定精度1、2,当1maxii或20Q时,即得的最小二乘法估计0ˆ;否则用所得的ˆ代替0,重复上述步骤,直至i或Q()满足精度要求为止。该法称为Gauss-Newton法,其一般迭代公式为iiit1(34.15)其中:为iiiiFYGGG的解,ti为tQti的最小值点。Gauss-Newton法在初值0选取适当,且GG可逆时非常有效,但在其他情形,其求解较为困难,对此,Marguardt对(34.14)中的正则系数阵作适当修正,得到了改进算法。四、nlin非线性回归过程在很多场合,可以对非线性模型进行线性化处理,尤其是关于变量非线性的模型,以运用OLS进行推断。对线性化后的线性模型,可以应用SAS的reg过程进行计算。多项式模型可以直接应用glm(广义线性模型)求解。对于不能线性化的非线性模型。其估计不能直接运用经典的最小二乘法,而需要运用其他估计方法,如直接搜索法、直接最优法与Taylor级数展开法进行线性逼近。此时,可以利用SAS/STAT的nlin过程实现相应的计算。1.procnlin过程1578647543227procnlin采用最小误差平方法(LeastSquaresMethod)及循环推测法(IterativeEstimationMethod)来建立一个非线性模型。一般而言,用户必须自订参数的名字、参数的启动值(startingva1ue)、非线性的模型与循环推测法所用的准则。若用户不指明,则nlin程序自动以高斯-牛顿迭代法(Gauss-Newtoniterativeprocedure)为估计参数的方法。另外此程序也备有扫描(Gridsearch)的功能来帮助读者选择合适的参数启动值。由于非线性回归分析十分不易处理,nlin程序不保证一定可以算出符合最小误差平方法之标准的参数估计值。nlin过程的功能,计算非线性模型参数的最小二乘估计LS及加权最小二乘估计。与reg过程不同的是:模型的参数要命名、赋初值、求偏导数;model语句与参数名、解释变量的表达式有关;可以使用赋值语句及条件语句。nlin过程一般由下列语句控制:procnlindata=数据集/选项列表;parameters参数名=数值;model因变量=表达式/选项列表;bounds表达式;der.参数名{.参数名}=表达式;id变量列表;outputout=数据集/选项列表;by变量列表;run;其中,parameters语句和model语句是必需的,而其余语句供用户根据需要选择。2.procnlin语句中的主要选择项。outest=数据集名——指定存放参数估计的每步迭代结果的数据集名。best=n——要求过程只输出网格点初始值可能组合中最好的n组残差平方和。method=gauss|marquardt|newton|gradient|dud|——设定参数估计的迭代方法。缺省时为gauss,除非没有der.语句。eformat——要求所有数值以科学记数法输出。nopoint——抑制打印输出。noinpoint——抑制迭代结果的输出。3.parameters(parms)语句。用于对所有参数赋初值,项目之间以空格分隔。例如,parmsb0=0b1=1to10b2=1to10by2b3=1,10,100;4.model语句。表达式可以是获得数值结果的任意有效SAS表达式。这个表达式包括参数名字、输入数据集中的变量名以及在nlin过程中用程序设计语句创建的新变量。例如,modely=b0*(1-exp(-b1*x));5.bounds语句。用于设定参数的约束,主要是不等式约束,约束间用逗号分隔。例如,boundsa=20,b30,1=c=10;6.der.语句。除非在procnlin语句中指明所用的迭代法是dud,使用选择项method=dud,否则der.

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功