知识库 > 数学方法 > 回归分析

非线性回归    

  •     有些非线性模型是可以通过对应的函数变化将之线性化的,如下:
        倒数模型:
        
        只要令,则有
        k阶多项式模型
        
        令,则有
        对数模型
        
        令,则有
        可间接线性化的模型
        生产函数:
        
        将两边取对数我们得到
        
        Logistic新产品生命周期模型:
        
        两边求倒,再减1,取对数,我们可以得到:
        
        当然大部分的非线性不可以线性化,可以给定其其一般形式为
         
        其中,个解释变量;为参数的集合,且解释变量与参数的维数没必要相等。为非线性函数,运用前面的方法,显然已经不可以将模型转化为标准化的线性模型。
        非线性最小二乘:
         
        在处达到最小,这样称为参数的非线性最小二乘估计值。非线性没有现成的公式可以套用,只能通过初值设置反复迭代,且求出的只是一定精度下的近似解。
        

        定义:Regress_NLM(string:func,array():x,array():y,array():Initial):array();
        说明:采用麦夸特方法求多元非线性方程的最小二乘回归系数。
        参数:
        Func:回归方程,为字符串类型;
        x : 解释变量矩阵,为二维数组类型,每一列为一个解释变量;
        y : 被解释变量序列,为一维数组类型;
        Initial:估计参数初始值,一维数字数组;
        

        例:我国居民消费支出(参见平台下的Regress_NLM_Demo函数)
    年份消费价格指数CPIX1(以1978年为100)人均可支配收入X2(元)上年人均消费支出X3(元)人均消费支出Y(元)
    1993273.1002577.4001671.7302110.810
    1994339.0003496.2002110.8102851.340
    1995396.9004283.0002851.3403537.570
    1996429.9004838.9003537.5703919.470
    1997441.9005160.3003919.4704185.640
    1998438.4005425.1004185.6404331.600
    1999432.2005854.0204331.6004615.900
    2000434.0006280.0004615.9004998.000
    2001437.0006859.6004998.0005309.000
    2002433.5007702.8005309.0006029.880
    2003438.7008472.2006029.8806510.940
    2004455.8009421.6006510.9407182.100
    2005464.00010493.0007182.1007942.880
    2006471.00011759.5007942.8808696.550
    2007493.60013785.8008696.5509997.470

        数据如表所示,通过散点图和数据拟合分析与比较,模型的最终形式确定为指数型,有如Coubb-Douglas函数形式: 
        
        用线性模型模型方法估计及其经济分析结果
        

        data:=array(
           (273.1,2577.4, 1671.73, 2110.81),
           (339, 3496.2, 2110.81, 2851.34),
           (396.9,4283,    2851.34, 3537.57),
           (429.9,4838.9, 3537.57, 3919.47),
           (441.9,5160.3, 3919.47, 4185.64),
           (438.4,5425.1, 4185.64, 4331.6),
           (432.2,5854.02,4331.6, 4615.9),
           (434, 6280, 4615.9,4998),
           (437, 6859.6, 4998, 5309),
           (433.5,7702.8, 5309, 6029.88),
           (438.7,8472.2, 6029.88, 6510.94),
           (455.8,9421.6, 6510.94, 7182.1),
           (464,10493,    7182.1,7942.88),
           (471, 11759.5,7942.88, 8696.55),
           (493.6,13785.8,8696.55,9997.47));
        Y:=data[:,3];
        Y1:=log(Y);
        X:=data[:,0:2];
        X1:=log(X);
        return Regression(y1,x1);
        

        这时的最小二乘估计结果的T检验通不过。
                    
         return Regress_VIF(x1);输出X的多重共线性检验,
        return Regress_Stepwise(Y1,X1,0.05,0.1);进行逐步回归,
        
        不难看出,我国居民消费支出增加决定因素包括两方面。一是消费价格指数CPI,对应的弹性为0.137,经济含义是,消费价格指数CPI每增加1个百分点,我国居民消费支出增加0.137个百分点,这与实际经济实情吻合,因为物价上涨,居民维持不变的实物消费,所支付的货币将随之增加。
        我国居民消费支出增加的另一决定因素是:人均可支配收入,对应的弹性为0.884,经济含义是,人均可支配收入每增加1个百分点,我国居民消费支出增加0.884个百分点,这与宏观经济学中居民消费行为假说基本吻合,随着人均可支配收入增加,消费价格指数CPI维持不变下,居民的实物消费随之增加,所支付的货币将随之增加。
        在模型估计过程中,发现上年人均消费支出在模型中不够显著,说明我国居民的当年消费,整体而言与上年的消费关系不大,某种程度上说明我国目前的消费还处在低端消费,耐用消费所占比例不大。
        用非线性普通最小二乘法直接估计模型
        x:=x[:,0:1];
        return Regress_NLM('Demo_Regress_NLM.NLM_CallBack',x,y,array(-0.2,0.2, 0.8));
        以为解释变量,不同初值下的迭代估计结果如下:
        的初值为时,
        
        
        的初值为时,
        
        经过反复迭代,模型参数的估计值均收敛于1.19,0.09,0.884,说明模拟结果较为合理。一方面,与经济预期也较为吻合,消费价格指数CPI和人均可支配收入的弹性系数分别为0.09和0.884。另一方面,参数估计值与前面线性模型模型估计结果基本一致,间接证明非线性最小二乘法NLS的结果比较合理。
内容