有些非线性模型是可以通过对应的函数变化将之线性化的,如下:
倒数模型:
只要令
,
,则有
。
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(元) |
1993 | 273.100 | 2577.400 | 1671.730 | 2110.810 |
1994 | 339.000 | 3496.200 | 2110.810 | 2851.340 |
1995 | 396.900 | 4283.000 | 2851.340 | 3537.570 |
1996 | 429.900 | 4838.900 | 3537.570 | 3919.470 |
1997 | 441.900 | 5160.300 | 3919.470 | 4185.640 |
1998 | 438.400 | 5425.100 | 4185.640 | 4331.600 |
1999 | 432.200 | 5854.020 | 4331.600 | 4615.900 |
2000 | 434.000 | 6280.000 | 4615.900 | 4998.000 |
2001 | 437.000 | 6859.600 | 4998.000 | 5309.000 |
2002 | 433.500 | 7702.800 | 5309.000 | 6029.880 |
2003 | 438.700 | 8472.200 | 6029.880 | 6510.940 |
2004 | 455.800 | 9421.600 | 6510.940 | 7182.100 |
2005 | 464.000 | 10493.000 | 7182.100 | 7942.880 |
2006 | 471.000 | 11759.500 | 7942.880 | 8696.550 |
2007 | 493.600 | 13785.800 | 8696.550 | 9997.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的结果比较合理。