《第8章非线性回归.ppt》由会员分享,可在线阅读,更多相关《第8章非线性回归.ppt(94页珍藏版)》请在课桌文档上搜索。
1、第八章 非线性回归,8.1 可化为线性回归的曲线回归8.2 多项式回归8.3 非线性模型8.4 本章小结与评注,8.1 可化为线性回归的曲线回归,y=0+1ex+(8.1),可线性化的曲线回归模型,也称为本质线性回归模型,只须令x=ex即可化为y对x是线性的形式y=0+1x+需要指出的是,新引进的自变量只能依赖于原始变量,而不能与未知参数有关。,8.1 可化为线性回归的曲线回归,y=0+1x+2x2+pxp+(8.2),令x1=x,x2=x2,,xp=xp,于是得到y关于x1,x2,,xp的线性表达式y=0+1x1+2x2+pxp+(8.2)式本来只有一个自变量x,是一元p次多项式回归,在线性
2、化后,变为p元线性回归。,8.1 可化为线性回归的曲线回归,y=aeb xe(8.3),可线性化的曲线回归模型,也称为本质线性回归模型,对等式两边同时取自然对数,得:lny=lna+bx+令y=lny,0=lna,1=b,于是得到y关于x的一元线性回归模型y=0+1x+,8.1 可化为线性回归的曲线回归,不可以线性化的曲线回归模型,也称为本质非线性回归模型,y=aeb x+(8.4),当b未知时,不能通过对等式两边同时取自然对数的方法将回归模型线性化,只能用非线性最小二乘方法求解。,(8.3)式的误差项称为乘性误差项(8.4)式的误差项称为加性误差项。一个非线性回归模型是否可以线性化,不仅与回
3、归函数的形式有关,而且与误差项的形式有关。,8.1 可化为线性回归的曲线回归,在对非线性回归模型线性化时,总是假定误差项的形式就是能够使回归模型线性化的形式,为了方便,常常省去误差项,仅写出回归函数的形式。例如把回归模型(8.3)式y=aeb xe简写为 y=aeb x,8.1 可化为线性回归的曲线回归,SPSS软件给出的10种常见的可线性化的曲线回归方程,8.1 可化为线性回归的曲线回归,除了以上SPSS软件中收入的几种曲线回归外,另外几种其他常用的曲线回归,例如,1.双曲函数,或等价地表示为,8.1 可化为线性回归的曲线回归,(a0,b0),8.1 可化为线性回归的曲线回归,2.S型曲线,
4、此S型曲线当a0,b0时,是x的增函数。当x+时,y1/a;x-时,y0。y=0与y=1/a是这条曲线的两条渐进线。S型曲线有多种,其共同特点是曲线首先是缓慢增长,在达到某点后迅速增长,在超过某点后又变为缓慢增长,并且趋于一个稳定值。S型曲线在社会经济等很多领域都有应用,例如某种产品的销售量与时间的关系,树木、农作物的生长与时间的关系等。,8.1 可化为线性回归的曲线回归,8.1 可化为线性回归的曲线回归,SPSS软件中的S型曲线y=exp(b0+b1/t):当b10时,曲线在t的正实轴上是t的减函数,不是通常意义下的S型曲线。SPSS软件中的逻辑函数在0b11时也是S型曲线。,8.1 可化为
5、线性回归的曲线回归,例8.1对GDP(国内生产总值)的拟合。我们选取GDP指标为因变量,单位为万亿元,拟合GDP关于时间t的趋势曲线。以1981年为基准年,取值为t=1,1998 年t=18,1981年至1998年的数据如表8.1。,8.1 可化为线性回归的曲线回归,8.1 可化为线性回归的曲线回归,1.直接用SPSS软件的Curve Estimation命令计算。首先画出GDP对时间的散点图,见图8.2。,8.1 可化为线性回归的曲线回归,8.1 可化为线性回归的曲线回归,8.1 可化为线性回归的曲线回归,8.1 可化为线性回归的曲线回归,为了与线性回归的拟合效果直接相比,可以先储存复合函数
6、回归的残差序列,然后计算出 复合函数回归的 SSE=262467769=2.625108,R2=1-262467769/11043353279=0.97623,拟合效果明显优于线性回归,当然应该采用复合函数回归。,8.1 可化为线性回归的曲线回归,复合函数回归b0=3603.06,等比系数b1=1.192417,回归方程为,其中b1=1.192417=119.2417%表示GDP的平均发展速度,平均增长速度为19.2417%。这里GDP是用的当年现价,在实际工作中可以用不变价格代替现价;对误差项的自相关做相应的处理;考虑到GDP的年增长速度会有减缓趋势,可以对回归函数增加适当的阻尼因子等改进方
7、法。,8.1 可化为线性回归的曲线回归,2.线性化求解法。对复合函数y=b0两端取自然对数,得lny=lnb0+ln(b1)t令y=lny,0=lnb0,1=ln(b1),于是得到y关于t的线性回归方程y=0+1t计算出y=lny的值列在表8.4中,用y对t做一元线性回归,输出结果为:,8.1 可化为线性回归的曲线回归,8.1 可化为线性回归的曲线回归,8.2 多项式回归,一、几种常见的多项式回归模型,一元二次多项式模型yi=0+1xi+11+i的回归函数yi=0+1xi+11是一条抛物线方程,通常称为二项式回归函数。回归系数1为线性效应系数,11为二次效应系数。相应地,回归模型 yi=0+1
8、xi+11+111+i称为一元三次多项式模型。,8.2 多项式回归,8.2 多项式回归,二、一个应用例子,例8.2 表8.5列出的数据是关于18个35岁44岁经理的:前两年平均年收入 x1(千美元)风险反感度 x2 人寿保险额 y(千美元)风险反感度是根据发给每个经理的标准调查表估算得到的;它的数值越大,风险反感就越厉害。,8.2 多项式回归,研究人员想研究给定年龄组内的经理年平均收入,风险反感度和人寿保险的关系。研究者预计,在经理的收入和人寿保险额之间成立着二次关系,并有把握认为风险反感度对人寿保险额只有线性效应,而没有二次效应。但是,研究者对两个自变量是否对人寿保险额有交互效应,心中没底。
9、因此,研究者拟合了一个二阶多项式回归模型,并打算先检验是否有交互效应,然后检验风险反感的二次效应。,8.2 多项式回归,8.2 多项式回归,8.2 多项式回归,8.2 多项式回归,8.2 多项式回归,表8.6,8.2 多项式回归,得最终的回归方程为:,括号中的数值是标准化回归系数。这样,研究者就可用这个回归方程来进一步研究经理的年平均收入和风险反感对人寿保险额的效应。从标准化回归系数看到,年平均收入的二次效应对人寿保险额的影响程度最大。,8.2 多项式回归,【例8.3】维生素C注射液因长期放置会渐变成微黄色,中国药典规定可以用焦亚硫酸钠等作为抗氧剂。本实验考虑3个因素,分别是EDTA(X1)无
10、水碳酸钠(X2)焦亚硫酸钠(X3)每个因素各取7个水平,选用U7(74)均匀设计表,取其中的第1、2、3列,实验安排与结果见表6.9。,8.2 多项式回归,表6.9 实验设计与结果,8.2 多项式回归,首先做线性回归,回归的计算程序参照例6.1,得回归方程y=2.63+0.77 X1-0.0524 X2-0.087 X3回归模型的P值=0.1040;决定系数(R-square)=83.9%;调整的决定系数(AdjR-sq)=67.8%。可见线性回归的效果不够好,以下使用二次多项式回归。,8.2 多项式回归,使用逐步回归,回归方程的具体形式是:,做变量替换转化为9个自变量的线性回归。,8.2 多
11、项式回归,表6.10 回归变量表,8.2 多项式回归,这个线性回归只有7组观测数据却有10个未知参数,需要使用逐步回归逐个引入变量。在SPSS软件逐步回归模块默认的进入变量P值=0.05,剔除变量P值=0.10的条件下,逐步回归只进行了一步就结束了,只选入了自变量x2。为了更全面地了解回归的效果,可以把进入变量的条件放宽一些。用Option选项把进入变量P值改为0.30,剔除变量P值改为0.50,重新做逐步回归。,8.2 多项式回归,表6.12 逐步回归的输出结果(2),8.2 多项式回归,此时的逐步回归共进行了5步,依次选入了X2,X22=,X3,X23=X2 X3,X13=X1 X3共5个
12、变量,共计算出5个回归模型:第一个回归模型最先选入的是X2,说明无水碳酸钠的含量是最重要的影响因素;第二个回归模型再选入的是X22=,进一步说明无水碳酸钠的含量是最重要的影响因素,并且说明y与X2的关系是非线性的,容易求出此方程在X2=48.548时达极小值y=0.197,比第6号实验值y=0.147略高。,8.2 多项式回归,再看第三个回归方程:,为使y值最小,X3应该最大,取X3=1.4,X2的取值与X3无关,容易求出此方程在X2=45.145,X3=1.4时达极小值y=0.074,低于第6号实验值y=0.147。,8.2 多项式回归,第四个回归方程是:,在回归方程含有X3的两项1.115
13、 X3+0.0206 X2X3中,当X254时是X3的减函数,根据对第二和第三两个回归方程的分析,两个方程中X2的最优解分别是48和45,所以有理由认为X254,y是X3的减函数,X3越大y越小,因此取X3=1.4。,把X3=1.4代入以上方程中,解得X2的极小值是X2=43.944,所以第四个回归方程的最优组合是X2=44,X3=1.4,此时最优预测值y=0.080,与第三个回归方程的最优解基本相同。,8.2 多项式回归,第五个方程是:,其中包含了变量X1,并且是作为与X3的交互作用形式出现,说明EDTA对实验指标本身没有影响,只是通过焦亚硫酸钠对实验产生弱的影响。仿照对第四个回归方程求最优
14、解的方法,首先确定X1和X3是y的减函数,分别取最大值X1=0.12和X3=1.4,然后再解得X2=41.241。最优预测值y=0.1280,可以视为接近0。,8.2 多项式回归,比较第三、四、五这3个回归模型,回归方程的决定系数分别是:97.11、98.73、99.99%,从回归的效果看第五个回归的效果最好,但是有6个估计参数,而y的数据只有7个,所以估计的误差会较大。第三、四两个回归模型的实验条件基本相同,预测值也很接近,约为0.080,明显小于第6号实验的吸收度y=0.147,是一组稳定的好条件,见表6.13。,8.2 多项式回归,表6.13 吸收度的最优实验条件,8.2 多项式回归,本
15、例的文献17对吸收度y值先取了倒数作为实验指标,其数值越大越好,然后建立回归方程。这样做的一个好处是避免了本例回归模型五预测值为负值的情况,但是回归方程的效果不好。文献中得到的最优条件是X1=0.12、X2=38、X3=1.4,和本例第五个模型相差不大。,8.3 非线性模型,一、非线性最小二乘,非线性回归模型一般可记为:yi=f(xi,)+i,i=1,2,n(8.9)其中,yi是因变量,非随机向量xi=(xi1,xi2,,xik)是自变量,=(0,1,,p)是未知参数向量,i是随机误差项并且满足独立同分布假定,即,8.3 非线性模型,对非线性回归模型 我们仍使用最小二乘法估计参数,即求使得,8
16、.3 非线性模型,称为非线性最小二乘估计的正规方程组,8.3 非线性模型,在非线性回归中,平方和分解式SST=SSR+SSE不再成立。类似于线性回归中的复判定系数,定义非线性回归的相关比为:,相关比也称为相关指数。,8.3 非线性模型,二、非线性回归模型的应用,例8.4 一位药物学家使用下面的非线性模型对药物反应拟合回归模型:,自变量x是药剂量,用级别表示;因变量y是药物反应程度,用百分数表示。3个参数c0、c1、c2都是非负的,根据专业知识,c0的上限是100%,3个参数的初始值取为c0=100,c1=5,c2=4.8。测得9个反应数据如下:,8.3 非线性模型,图8.3 药物反应程度散点图
17、,8.3 非线性模型,在SPSS的Regression菜单下点选Nonlinear,进入非线性回归对话框,将y点入因变量框,在model Expression框中输入回归函数c0-c0/(1+(x/c2)*c1),然后点Parameters进入参数设置框赋给未知参数初值。,8.3 非线性模型,8.3 非线性模型,8.3 非线性模型,8.3 非线性模型,8.3 非线性模型,本例回归离差平方和SSR=15156.55,而总离差平方和SST=14917.89SSR,可见对非线性回归不再满足平方和分解式,即SSTSSR+SSE。另外,非线性回归的残差和不等于零,本例残差均值为0.2855560。当然,
18、如果回归拟合的效果好,残差的均值会接近于零的。,8.3 非线性模型,通过以上分析可以认为药物反应程度y与药剂量x符合以下非线性回归方程:,8.3 非线性模型,【例8.4】龚珀兹(Gompertz)模型是计量经济中的一个常用模型,用来拟合社会经济现象发展趋势,龚珀兹曲线形式为:,其中k为变量的增长上限,和 是未知参数。当k未知时,龚珀兹模型不能线性化,可以用非线性最小二乘法求解。表8.12的数据是我国民航国内航线里程数据,以下用龚珀兹模型拟合这个数据。,8.3 非线性模型,表8.8 我国民航国内航线里程数据 单位:万公里,8.3 非线性模型,用SPSS软件的非线性最小二乘法功能求解。依照Anal
19、yzeRegressionNonlinear的顺序进入非线性回归对话框。在回归函数框条中输入k*a*(b*t),再给出参数的初值。龚珀兹中的参数k是变量的发展上限,应该取其初值略大于最大观测值。本例最大观测值是115.52,不妨取k的初值为120。a和b都是0到1之间的数,可以取其初值为0.5。经过31步迭代后收敛,部分输出结果如下:,8.3 非线性模型,8.3 非线性模型,8.3 非线性模型,用非线性最小二乘法求得的三个参数估计值为k=150.0,a=0.012 43,b=0.892 7其中k=150.0为回归模型估计的国内航线里程增长上限。图8.4是用Excel绘制的国内航线里程趋势预测图
20、,其中粗实线是观测值,虚细线是预测值。,图8.4 龚珀兹曲线拟合国内航线里程趋势图,8.3 非线性模型,上面的过程中回归迭代给出了一些警告错误,这是由于回归迭代过程中的参数取值超出了允许范围造成的,可以通过对参数取值范围增加一些限制解决,用非线性回归对话框中的Constraints按钮实现。另外如果参数的初值给得不够准确回归迭代不收敛时,对参数增加一些限制可能就收敛了。例如本例中把k的初值改为130回归迭代不能收敛,但是增加一个k116的限制回归迭代就收敛了。,8.3 非线性模型,龚珀兹模型和几种常见的非线性回归模型可以用三和值法求解,见参考文献15第13章。在正态误差假定下,非线性回归的最小
21、二乘估计与极大似然估计是相同的,而极大似然估计具有好的大样本性质,例如渐近无偏性、渐近正态性、一致性等。因而非线性最小二乘估计值比三和值更精确,可以把三和值法的参数估计值作为求解非线性最小二乘的初值。,8.3 非线性模型,【例8.6】下表8.9是我国从19502005年历年大陆总人口数,试用威布尔(Weibull)曲线拟合数据并做预测。威布尔曲线如下:,其中参数k是变量发展的上限,参数a 0,00。,8.3 非线性模型,表8.9 我国历年大陆总人口数 单位:亿人,8.3 非线性模型,根据人口学的专业预测,我国人口上限为16亿人,因此取k的初值=16,取b的初值=0.5,取c的初值=1。对以上初
22、值把t=1时(即1950年)=5.5196代入,得,用以上初值做非线性最小二乘,得下面的输出结果8.7。从中看到,人口上限为k=15.76亿人,这与人口学预测的人口上限16亿人完全一致。图8.5是用Excel绘制的人口趋势预测图,其中粗实线是观测值,虚细线是预测值。,8.3 非线性模型,8.3 非线性模型,8.3 非线性模型,图8.5 威布尔模型预测我国人口趋势图,8.3 非线性模型,【例8.6】柯布道格拉斯生产函数研究。在计量经济学中有一种熟知的C-D(CobbDouglas)生产函数,其中,y为产出,K(资本)、L(劳力)为两个投入要素,A0为效率系数、a和b为K和L的产出弹性,A、a、b
23、 均为待估参数。,8.3 非线性模型,a是产出对资本投入的弹性系数,度量在劳动投入保持不变时资本投入增加1%时产出增加的百分比。b是产出对劳动投入的弹性系数,度量在资本投入保持不变时劳动投入增加1%时产出增加的百分比。两个弹性系数之和 a+b 表示规模报酬(returns to scale)。a+b=1表示规模报酬不变,即1倍的投入带来1倍的产出;a+b 1表示规模报酬递减,即1倍的投入带来少于1倍的产出;a+b 1表示规模报酬递增,即1倍的投入带来大于1倍的产出。,8.3 非线性模型,8.3 非线性模型,8.3 非线性模型,其中,y是国内生产总值GDP(单位:亿元),K是资金投入,包括固定资
24、产投资和库存占用资 金(单位:亿元),L是就业总人数(单位:万人)。,(1)假设随机误差项为相乘的,我们可以用两边取对数的办法,按照(8.15)式将模型转化线性形式,对数变换后的数据见表8.14,用SPSS作线性回归得如下结果:,8.3 非线性模型,8.3 非线性模型,得两个弹性系数为a=0.902,b=0.361,资金的贡献率大于劳动力的贡献率。规模报酬a+b=0.902+0.361=1.2631表示规模报酬递增。效率系数A=0.1242。其中系数b 的显著性概率P值=0.087,显著性较弱。得乘性误差项的C-D生产函数为:,8.3 非线性模型,对加性误差项模型,不能通过变量变换数转化成线性
25、模型,只能用非线性最小二乘法求解未知参数。以上面乘性误差项的参数为初值做非线性最小二乘,经过81步迭代得下面的输出结果8.。其中参数的置信度为95%的置信区间为(-0.555,1.565),包含0在内,因而不能认为非0,显著性较弱。得乘性误差项的C-D生产函数为:,8.3 非线性模型,8.3 非线性模型,8.3 非线性模型,使用线性化的乘性误差项模型,由共线性检验得方差扩大因子VIF=15.5。使用岭回归,选取岭参数k=0.20,这时R2从原来的0.998 14下降为0.980 58,得岭回归如下:,*Ridge Regression with k=0.20*B SE(B)Beta B/SE(
26、B)lnK.49700385.02048319.51558506 24.26398868lnL 2.18274631.11798929.39309616 18.49952910Constant-18.43784255 1.27336521.00000000-14.47961853,8.3 非线性模型,其中a=0.4970,b=2.183,A=表明劳动力的贡献率远大于资金的贡献率,与普通最小二乘的结果完全相反。并且b=2.183也不符合经济意义。从统计方法看,岭回归的结果是可信的,但是我们对其计算结果却无法给出合理的解释。,8.3 非线性模型,三、其他形式的非线性回归,非线性最小二乘是使残差平方
27、和达极小的方法,其最大的缺点是缺乏稳健性。当数据存在异常值时,参数的估计效果变得很差。因而在一些场合,我们希望用一些更稳健的残差损失函数代替平方损失函数,8.3 非线性模型,绝对值残差损失函数,利用SPSS的非线性回归程序,可以用数值计算法求解多种损失函数的回归估计值。以下以例3.2北京经济开发区数据为例,说明用SPSS软件的最小绝对值法求解方法。,8.3 非线性模型,1进入非线性回归对话框,在因变量框中点入y,在Model Expressions框中输入回归方程表达式b0+b1*x1+b2*x2;2.给参数赋初值,以普通最小二乘估计值为初始值,初始值为b0=-213.7,b1=2.185,b
28、2=0.368,点Continue返回非线性回归对话框;3.点选Options选项,进入Options选项框选择数值计算方法,默认的计算方法是Levenberg-Marquardt方法,将其改为Sequential quadratic program方法,点Continue返回非线性回归对话框。用自定义损失函数计算时必须做这个改动;4点Loss进入Loss Function对话框给出损失函数,默认的损失函数是Sum of squared residuals,将其改为User-defiend loss function,然后输入ABS(y-b0-b1*x1-b2*x2),点Continue返回非线性回归对话框;5点Save保存残差变量和预测值:,8.3 非线性模型,普通最小二乘经验回归方程为:,8.3 非线性模型,