资源预览内容
第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
第9页 / 共16页
第10页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
非线性最小二乘法与数值最优化变量之间的关系更多地表现为非线性特征。 线性模型作为基础模型是非线性的近似, 即 任何非线性模型都可以通过线性模型来近似表达。比如,模型yr?。U通过泰勒级数展开表述为y : :o “ex |xf (x -xo) u=- -Qx。亠書exx - u=:o* 亠);x u模型y = 1。 x2 u的线性近似表达式为y:。(2x)|x去(x x。) u=。-2 x。2 2 1xox u。* 讥 u例1.1利用Monte Carlo模拟的方法观察线性模型对非线性模型的近似。设DGP为:y=10+0.2*exp(x)+u,x为1,3区间的均匀分布。利用线性模型与指数模型分别回归模型,并计算 x对y的(平均)边际影响与(平均)弹性。(数据文件:nonlin)但线性模型对非线性模型的近似程度取决于高阶部分是否充分小。即使在样本内线性模型能够较好地拟合数据,也不能准确地体现变量的结构关系。非线性模型中,x对y的边际影响(或弹性)是变化的;而线性模型中,x对y的边际影响(或弹性)是常数。很多情况下,线性模型与非线性模型对边际影响或弹性的估计存在非常大的差异。另外,利用线性模型拟合非线性数据存在潜在的危险,即区间外预测会存在越来越大的误差。因此,正确设定模型的形式是进行准确推断和预测的重要环节。对于一般的回归模型,如以下形式的模型,y 二 f (X, 3) - u1.1OLS 般不能得到其解析解。比如,运用OLS方法估计模型(1.1),令S(B)表示残差平方和,即nn1.2S( 3 八 ui2 八yi -f(Xi; 3)2i=1i =1最小化sC),即根据一阶条件可以得到SOnV yii =1f( X i;-0#以模型y =x u为例,其一阶条件为-:S( 3)1 xn y#-:S( J y =0j-i2 锂印-2y0 &Xi/e2x =0 J 22 i 2上述方程组没有解析解,需要一般的最优化方法。很多数值最优化算法都可以完成这一 类任务,这些方法的总体思路是一样的。即,从初始值出发,按照一定的方向搜寻更好的估计量,并反复迭代直至收敛。 各种不同的最优化算法的差异主要体现在三个方面:搜寻的方向、估计量变化的幅度和迭代停止法则。本章主要介绍非线性最小二乘法、梯度最优化方法及其其在Stata中的实现。1.1非线性最小二乘法非线性最小二乘法的思路是,通过泰勒级数将均值函数展开为线性模型。即,只包括一阶展开式,高阶展开式都归入误差项。然后再进行OLS回归,将得到的估计量作为新的展开点,再对线性部分进行估计。如此往复,直至收敛。设模型中共存在(k+1)个参数0 =(凤高,,久)。首先为参数选择一组初始值% = ( -0,0, -1,0, k,0 )。其中下标零表示初始值。然后将 f (X ,:)按泰勒级数在1;-0点展开。f (X, %) = f(X,伍厂 g(0)(卩- %0) R1.3其中g。表示一阶导数在-0=( :0, 0 , 1,0,-k, 0)时的取值,R为高阶部分。上式中只保留 1的线性部分,将高阶部分归入误差项,可得y = f (X, % u=f (X, %0)- g(0)(卩- %0) R u1.4二g(0) % f (X,悅)-g(0) %(0) - U1其中,随机扰动项U1包含u和泰勒级数展开式中高阶成分。得到新的回归模型y - f (X, %0) - g(0) %(0)二 g(0) % s1.5新的目标函数为 Q”工U1U1。模型的OLS估计量为,%1) = g(0)g(0)g(0)y f(X,%0) )g(0)%0)-%0) g(0) g(0) g(0) y f (X , %0)因此,NLS的迭代估计式为:%j 1)二 (j) g(j)%) g(j)y -f(X, %m)1.7上述方法也被称作高斯牛顿方法,即利用迭代方法估计非线性最小二乘模型。在(1.7)式中,第二项恰好是模型y - f (x, %)=g(j)y v1.8丫的OLS估计量。把1.8式称作高斯-牛顿回归。的迭代公式又可以写作1.9Aj i) = $j) 丫(j)这种迭代估计方法必须设定初始值和停止法则。初始值的选择对于迅速找到最优解非常重要。如果目标函数不是严格的凹函数或凸函数,或者存在多个局部最优值,可以设定多个初始值,观察最优解。如果不同的初始值得到相同的最优解,则结论是比较稳健的。停止法则用以设定满足一定的标准后终止迭代过程,否则迭代过程会无限继续下去。可用的停止法则包括:目标函数Q(P+i)- Q (:()没有明显的变化,或者g(j)的每个元素都非常小,或者 孑+1)- o没有明显变化等。迭代法则也可以同时设定最高迭代次数n,如果经过n次迭代仍然没有能够达到收敛,则停止迭代。例1.2利用NLS方法估计非线性消费函数。(数据文件:usmacro)cs - :- incu利用NLS方法估计模型。.nl (realcons = alpha + beta*realgdpAgamma)参数初始值可以通过两种方法进行设定。其一,直接在参数表达式中设定。比如,上述模型中设定 alpha=0, beta=0.5,gamma=1。Stata命令可以表述为:.nl (realcons = alpha=0 + beta=0.5*realgdpAgamma=1)另外一种方法是通过命令选项initial进行设定。比如上述命令也可以表述为:.nl (realcons = alpha + beta*realgdpAgamma),initial(alpha0 beta 0.5gamma 1)注意,Stata的nl命令用于估计不存在缺失值的区间。如果某些变量存在缺失值,则必 须通过variables选项设定模型中的解释变量。比如,.nl (realcons = alpha + beta*xAgamma=1), variables(realgdp)在一般的非线性模型中,解释变量对被解释变量的结构影响(边际影响或弹性)都不是常数,甚至影响的方向与参数估计量的符号也不同。比如,在本模型中,收入对消费的边际影响为pYxinc。Stata提供了一个方便的计算边际影响的命令mfx,用于计算不同变量在不同点上的边际影响。但如果在命令栏中使用nl命令,必须设定variables选项,才能使用mfx命令。比如,计算平均边际消费倾向.nl (realcons = alpha + beta*xAgamma=1), variables(realgdp).mfx, at(mean)计算收入inc=3000美元时的边际消费倾向,.mfx at(realgdp=3000)例1.3利用NLS方法估计如下生产函数模型。文件包含产出、资本、劳动力等数据。(数据文件:product ion )(1) 广义CD( GCD )生产函数ln y 約-0, In K 21n L u实际上,GCD模型为线性模型,仍然可以采用nl命令进行估计,与regress命令得到完 全相同的结果。.nl (lnout=-theta*out + beta。 + beta1*lnk+beta2*lnl)(2) 不变替代弹性(CES )生产函数ln y =2。-1/ ?ln、K 一(1-、u.nl ( Inout=beta0-1/rho=1*ln( delta=0.5*capitaL(-rho)+(1-delta)*laborA(-rho)资本劳动力的要素替代弹性为1/(1+rho)。.nlcom (1/(1+_brho)(3) 广义CES生产函数ln y *:0_1/5、.k (1u.nl ( lnout=beta0-1/rho=1*ln( delta=0.5*capitalA(-rho)+(1-delta)*laborA(-rho)1.2最优化方法概述非线性最小二乘法是利用泰勒级数展开的一种迭代估计方法,它是一般数值最优化的特例。对于一般的非线性的模型的其它估计方法,如极大似然法或广义矩方法等,都涉及到数值最优化的问题。接下来,我们介绍数值最优化方法的一般原理及其在Stata中的实现。设参数为P =(甩p1,,k),目标函数为Q(P)。估计参数P使目标函数最优化(极大化 或极小化)。1.2.1 格点搜寻法格点搜寻法即令参数在其取值范围内取不同的数值,从中选择使目标函数最优的数值作为参数估计量。比如,模型中只有一个参数-已知介于0 , 1。我们可以令从0逐渐变化到1,每次递增0.01,即0, 0.01 , 0.02,1。对于每一个取值计算目标函数,进而得到 使目标函数最优的1估计量。格点搜寻法只适用于参数个数比较少,而且取值范围具有一定 的信息的模型。如果参数个数较多,而且取值范围较大的话,那么格点搜寻会耗费很长时间。 比如,5个参数,每个参数取 10个数值,那么需要计算 105次。1.2.2迭代方法另外一类最优化方法是迭代方法,其中一类最常见的方法即是梯度方法。以极大化问题为例,迭代方法的基本公式为:卩(j 1)= Rj) A (j) g(j)1.10其中,9(j)为一阶导数梯度矩阵(gradient),元素为SQ/覆。根据泰勒级数的线性展开式Q( =Q( R(0) - g(0)(卩-舫),第j次估计量表示为*+1),则目标函数Q( p+1)在巾)的展开式为:Q(卩(j1)=Q(&j) 7仃)(阳1)i&j)R1.11其中,R表示被忽略的高阶项。将迭代公式代入可得1.12Q(卩仃 i) -Q(馆)二g()A(j)g(j) R对于极大化问题,如果A为正定矩阵且 R比较小的话,则 QC(j+i) Q (乜)。对于极小化冋题,如果 A为负定矩阵且R比较小的话,贝U Q(|.;q+i) Q (F(j)。1.2.3 其它方法梯度方法要求目标函数充分平滑,可以计算其梯度向量。如果目标函数不存在梯度向量,则需要利用其它最优化方法。比如,最小绝对值方法的目标函数是,nny 二 f(X, P) -u,S( 八 |5| 八 $ -f(Xj; |7id可以利用线性规划方法。其它的更复杂的模型需要用到模拟退火法(annealling )或者遗传算法(genetic)。1.3 梯度方法1.3.1 牛顿(拉弗森)方法初始值为卩(0)=(扎0,打0k,0)。利用泰勒级数展开得到目标函数的二阶近似表达式:* 1Q ( P -Q( (0) ) g(0)(卩- 00) 2 (卩 一 ) H(0)(卩一 00)其中,g(0)为一阶导数梯度矩阵( gradient),元素为5Q/餌;H(0)为二阶导数海塞矩阵(Hessian),元素为Q/貝郁j。如果函数为二次(或一次)线性
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号