Ⅵ. 时间序列数据的其它非线性回归预测法
1. 非线性回归预测的含义
    在社会经济生活中,许多事物间的相互影响往往不是线性关系,而是呈非线线性关系,所以要用到非线性回归预测模型。
非线性回归预测模型有很多,前面已经提到过的“11 种常用曲线方程”,其中的除“直线回归方程(LIN)”外的对数曲线方程(LOG)、反函数曲线方程(INV)、二次曲线(抛物线)方程(QUA)、三次曲线方程(CUB)、复合曲线方程(COM)、幂函数曲线方程(POW)、S 形曲线方程(S)、生长曲线方程(GRO)、指数曲线方程(EXP)与logistic 曲线方程(LGS)等均为非线性回归方程。当然还有双曲线回归方程、超指数曲线方程等许多非线性回归方程,可用于预测预报。这里再举两个非线性回归方程用于预测预报的例子。
2. 非线性回归方程的拟合与预测方法
例1:指数曲线方程用于预测。指数曲线方程为:y = b0 eb1 x  或y = b0*(e**(b1*x))。
估计得 b0 与 b1 即可得指数曲线方程。
   某产品价格(x)与销售量(万件y)间的关系,9年来统计数据见下表第(2)、(3)列。
             表 7-5    某产品的价格与销售量的关系
----------------------------------------------------------------------
  年序    价格(x)   销售量(y)    预测值(Ey1) 
     (1)        (2)          (3)            (4)         
----------------------------------------------------------------------- 
1        3.5         0.6              0.60
        2        3.0         0.7              0.70
    3        2.5         0.8              0.80
        4        2.3         1.1              1.10
  5        1.9         1.5              1.50
    6        1.7         2.0              2.00
    7        1.3         2.3              2.30
    8        1.0         3.0              3.00
        9        0.9         3.3              3.30
------------------------------------------------------------------------
当该产品的价格(x)降至 0.8元时,估计的销售量是多少?
我们可用曲线拟合命令“CURVEFIT”来产生指数曲线方程。
此命令产生的过程是:Analyze → Regression → Curve Estimation → 将 Y 选入右侧的Dependent(s) 窗中 →将 x 选入右侧的 Independent 窗中(这时默认的拟合模型为直线回归方程 Linear)→ 把 Models 中的 Exponential (指数曲线)勾选 → 击右下方的 Save钮 → 将新出现的小窗 Save Variables 中的 Predicted Values、 Residuals 与Prediction Intervals 全勾选 → Continue → Paste  →出现 CURVEFIT 命令。
2.1 第(1)种方法用 CURVEFIT命令:运算后会输出待解参数 b0 与 b1。
可见 b0 = 5.8745, b1 = -0.7020。即可写出如下指数曲线方程:
y = 5.8745 ×e (-0.7020× x)
当该产品的价格(x)降至 0.8元时,估计的销售量:
y = 5.8745 × e (-0.7020× 0.8)  = 3.35 万件。
最后自动输出了指数曲线的拟合图形。
所用的程序文件为 NLR-Pred.sps 的例 *1。
* Some examples for NLR prediction; Filename: NLR-Pred.sps.
*---------------------------------------------------------------------------.
*1. From Wang Xian-Yu: Market Survey and the Prediction, P.178:.
DATA LIST FREE /x y.
BEGIN DATA.
3.5 0.6 3.0 0.7 2.5 0.8 2.3 1.1 1.9 1.5 1.7 2.0 1.3 2.3 1.0 3.0 0.9 3.3  
END DATA.
* (1) Using Curve Estimation:.
CURVEFIT /VARIABLES=y WITH x
         /CONSTANT
         /MODEL=EXPONENTIAL
         /PLOT=FIT
         /CIN=95
         /SAVE=PRED RESID CIN.
*(2) Using Linear Regression Model:.
COMPUTE LNy=LN(y).
REGRESSION VARIABLES=x LNy
           /DEPENDENT=LNy
           /METHOD=ENTER x
           /CASEWISE=ALL.
COMPUTE Ey1 = EXP(LNy).
LIST VARIABLES=x y Ey1 /CASES=FROM 1 TO 9.
*So getting b0 = 1.771, b1 = -0.702:.
COMPUTE Ey1=EXP(1.771 - 0.702 * x).
LIST VARIABLES=x y Ey1 /FORMAT=NUMBERED /CASES=FROM 1 TO 9.
GRAPH /LINE(MULTIPLE)=VALUE(y, Ey1) BY x.
*(3) Using NLR commands:.
MODEL PROGRAM b0=1 b1=1.
COMPUTE LNy2=b0+b1*x.
NLR LNy /PRED=LNy2 /SAVE=PRED.
*So getting b0=1.770616436, b1= -.702034569:.
COMPUTE Ey2=EXP(1.770616436 -.702034569 * x).
LIST VARIABLES=x y Ey2 /FORMAT=NUMBERED /CASES=FROM 1 TO 9.
GRAPH /LINE(MULTIPLE)=VALUE(y, Ey2) BY x.
*------------------------------------------------------------------------------.
Independent:  X
-------------------------------------------------------------------------------
  Dependent   Mth    Rsq    d.f.        F    Sigf        b0         b1
-------------------------------------------------------------------------------
   Y          EXP   0.966     7    198.65   0.000    5.8745     -0.7020
-------------------------------------------------------------------------------
The following new variables are being created:
-------------------------------------------------------------------------------
  Name        Label
-------------------------------------------------------------------------------
  FIT_1       Fit for Y with X from CURVEFIT, MOD_1 EXPONENTIAL
  ERR_1       Error for Y with X from CURVEFIT, MOD_1 EXPONENTIAL
  LCL_1       95% LCL for Y with X from CURVEFIT, MOD_1 EXPONENTIAL
  UCL_1       95% UCL for Y with X from CURVEFIT, MOD_1 EXPONENTIAL
-------------------------------------------------------------------------------
 
2.2 第(2)种方法用 REGRESSION命令:
     由于指数曲线方程可表示为:Y = b0 eb1 x  或 Y = b0*(e**(b1*x))
     令 ln (Y) = Y', ln (b0) = b0' ,则可得出直线方程形式:Y' = b0' + (b1 * x )。
    故可用 REGRESSION命令来拟合此直线回归方程:
对 Y 值取自然对数,即 “COMPUTE LNy = LN(y).”一句;其下 REGRESSION 一句以 LNy 为因变量、x 为自变量,拟合直线回归方程,可得 b0 = 1.771, b1 = -0.702。
当该产品的价格(x)降至 0.8元时,估计的销售量 Ey1:
Ey1 = EXP (1.771 - 0.702 * 0.8) = 3.35 万件, 结果同上。
Model Summary
Model R R Square Adjusted R Square Std. Error of the Estimate
1 0.983 0.966 0.961 0.1259
a  Predictors: (Constant), X
可见拟合良好(R square = R2 = 0.966)。
Coefficients
  Unstandardized Coefficients  Standardized Coefficients t Sig.
Model  B Std. Error Beta  
1 (Constant) 1.771 .109  16.303 .000
 X -0.702 .050 -.983 -14.094 .000
a  Dependent Variable: LNY
2.3 第(3)种方法用非线性回归(non-linear regression, NLR)命令:
    做法是先以其直线方程形式 Y' = b0' + (b1 * x ),取初始值 b0 = 1, b1 = 1。即先用 “MODEL PROGRAM b0=1 b1=1.” 一句;以此来拟合直线回归方程,即其下的 “COMPUTE LNy2 = b0 + b1 * x.”一句;再用非线性回归 NLR 命令 “NLR LNy /PRED = LNy2 /SAVE=PRED.”来解得方程的 b0 与 b1;结果可得 b0=1.770616436, b1= -.702034569。
当该产品的价格(x)降至 0.8元时,估计的销售量 Ey2:
Ey2 = EXP(1.770616436 -.702034569 * 0.8) = 3.35 万件,结果也相同。
Nonlinear Regression Summary Statistics     Dependent Variable LNY
---------------------------------------------------------------------------
  Source                 DF  Sum of Squares  Mean Square
---------------------------------------------------------------------------
  Regression              2        4.30707        2.15354
  Residual                7         .11096         .01585
  Uncorrected Total       9        4.41803
  (Corrected Total)       8        3.25974
  R squared = 1 - Residual SS / Corrected SS =     0.96596
---------------------------------------------------------------------------
                                              Asymptotic 95 %
                           Asymptotic       Confidence Interval
  Parameter   Estimate     Std. Error      Lower          Upper
---------------------------------------------------------------------------
  B0         1.770616436   0.108608000    1.513799324   2.027433547
  B1        -0.702034569   0.049809471    -.819815252   -.584253885
---------------------------------------------------------------------------
 
最后自动输出的指数曲线拟合图与前面的图形完全相同,只不过前一个图是x 坐标从小到大排列,故曲线呈下降趋势(销售量随价格的上升而下降);此图的 x  坐标从大到小排列而已,故曲线呈上升趋势(销售量随价格的下降而上升)。
可见拟合良好(R square = R2 = 0.96596 = 0.966)。
例2:双曲线回归方程用于预测。双曲线方程为:Y = b0 + b1 * 1/x 
令 z = 1/x,则可得出直线方程形式:Y = b0' + b1 * z。
表 7-6    某商品流通费用水平(y)与销售额(x)的关系
-------------------------------------------------------------------------
  时期    销售额(x)  费用水平(%,y)    预测值(Ey)
 (1)        (2)             (3)                  (4)        
-------------------------------------------------------------------------
                   1        9.50             6.00             5.73
2       11.50             4.60             4.70
                   3       13.50             4.00             3.98
                   4       15.50             3.20             3.44
                   5       17.50             2.80             3.03
                   6       19.50             2.50             2.70
                   7       21.50             2.40             2.43
                   8       23.50             2.30             2.21
                   9       25.50             2.20             2.02
--------------------------------------------------------------------------
     问商品销售额(x)为 28 时,商品流通费用水平(y)是多少?
所用程序文件名为 NLR-Pred.sps 的例 *2。
* Some examples for NLR prediction; Filename: NLR-Pred.sps.
*---------------------------------------------------------------------------.
*2. From Wang Xian-Yu: Market Survey and the Prediction, P.182:.
DATA LIST FREE /x y.
BEGIN DATA.
 9.5 6.0 11.5 4.6 13.5 4.0 15.5 3.2 17.5 2.8 
19.5 2.5 21.5 2.4 23.5 2.3 25.5 2.2 27.5 2.1 
END DATA.
COMPUTE z = 1/x.
REGRESSION VARIABLES = y z
          /DEPENDENT = y
          /METHOD = ENTER z
          /RESIDUALS=DEFAULTS
          /CASEWISE=ALL.
*So getting b0 = -0.188, b1 = 56.268:.
COMPUTE Ey = -0.188 +  56.268 * 1/x.
LIST VARIABLES=x y Ey /CASES=FROM 1 TO 9.
GRAPH /LINE(MULTIPLE)=VALUE(y, Ey) BY x.
*--------------------------------------------------------------------------------.
运算结果如下:
Model Summary
Model R R Square Adjusted R Square Std. Error of the Estimate Durbin-Watson
1 .989 0.977 .975 .2037 .834
a  Predictors: (Constant), Z          b  Dependent Variable: Y
Coefficients
    Unstandardized Coefficients   Standardized Coefficients t Sig.
Model  B Std. Error Beta  
1 (Constant) -0.188 .193  -.972 .360
 Z 56.268 3.019 .989 18.638 .000
a  Dependent Variable: Y
Casewise Diagnostics
Case Number Std. Residual Y Predicted Value Residual
1 1.301 6.00 5.7350 .2650
2 -.515 4.60 4.7050 -.1050
3 .098 4.00 3.9801 1.990E-02
4 -1.189 3.20 3.4423 -.2423
5 -1.116 2.80 3.0274 -.2274
6 -.970 2.50 2.6976 -.1976
7 -.143 2.40 2.4292 -2.9208E-02
8 .459 2.30 2.2065 9.353E-02
9 .890 2.20 2.0187 .1813
10 1.187 2.10 1.8582 .2418
a  Dependent Variable: Y
可见输出 b0 = -0.188, b1 = 56.268。双曲线方程为:
EY = b0 + b1 * 1/x  = -0.188 + 56.268 * 1/x
---------------------------------------------------------------
         X        Y       EY
---------------------------------------------------------------
        9.50     6.00     5.73
       11.50     4.60     4.70
       13.50     4.00     3.98
       15.50     3.20     3.44
       17.50     2.80     3.03
       19.50     2.50     2.70
       21.50     2.40     2.43
       23.50     2.30     2.21
       25.50     2.20     2.02
---------------------------------------------------------------
 
    可见,当商品销售额(x)为 28 时,商品流通费用水平(y)是:
     EY = -0.188 +  56.268 * 1/28 = 1.82 %