Accuracy: Nonlinear Least Squares Computation

Nonlinear regression is more difficult than the linear computations described above. B.D. McCullough (Journal of Applied Econometrics, 1999) surveyed numerous programs for their ability to solve nonlinear least squares problems. LIMDEP was able to solve nearly all the benchmark problems using only the program default settings, and all of the rest with only minor additional effort. The example below is one of the most difficult of the set. The (correct) solution from the more difficult starting values is routine.

The NIST data and solution file

Data:          1 Response  (y)
               1 Predictor (x)
               16 Observations
               Higher Level of Difficulty
Model:         Exponential Class
               y = b1 * exp[b2/(x+b3)]  +  e
          Starting values             Certified Values
        Start 1     Start 2      Parameter     Standard Deviation
  b1 =        2         0.02  5.6096364710E-03  1.5687892471E-04
  b2 =   400000      4000     6.1813463463E+03  2.3309021107E+01
  b3 =    25000       250     3.4522363462E+02  7.8486103508E-01
Residual Sum of Squares:                    8.7945855171E+01
Residual Standard Deviation:                2.6009740065E+00
Degrees of Freedom:                                13

LIMDEP solution

READ ; Nobs=16 ; Nvar=2 ; Names=Ym10,Xm10$
      3.478000E+04    5.000000E+01
      2.861000E+04    5.500000E+01
      2.365000E+04    6.000000E+01
      1.963000E+04    6.500000E+01
      1.637000E+04    7.000000E+01
      1.372000E+04    7.500000E+01
      1.154000E+04    8.000000E+01
      9.744000E+03    8.500000E+01
      8.261000E+03    9.000000E+01
      7.030000E+03    9.500000E+01
      6.005000E+03    1.000000E+02
      5.147000E+03    1.050000E+02
      4.427000E+03    1.100000E+02
      3.820000E+03    1.150000E+02
      3.307000E+03    1.200000E+02
      2.872000E+03    1.250000E+02
NLSQ  ; Lhs=Ym10
      ; Fcn=B1*EXP(B2/(Xm10+B3)) 
      ; Labels=B1,B2,B3 ; Dfc
      ; Start=2,400000,25000 ; Maxit=10000$

+-------------------------------------------------------------------+
|User Defined Optimization                                          |
|Nonlinear   least squares regression    Weighting variable = none  |
|Number of iterations completed =2050                               |
|Dep. var. = YM10     Mean=   12432.06250    , S.D.=   9722.364270  |
|Model size: Observations =      16, Parameters =   3, Deg.Fr.=   13|
|Residuals:  Sum of squares= 87.94585517   , Std.Dev.=       2.60097|
|Fit:       R-squared= 1.000000, Adjusted R-squared =        1.00000|
|          (Note:  Not using OLS.  R-squared is not bounded in [0,1]|
|Model test: F[  2,     13] =********,    Prob value =        .00000|
+-------------------------------------------------------------------+
+---------+--------------+----------------+--------+---------+
|Variable | Coefficient  | Standard Error |b/St.Er.|P[|Z|>z] |
+---------+--------------+----------------+--------+---------+
 B1        .5609636411E-02  .15687857E-03   35.758   .0000
 B2           6181.346355       23.308962  265.192   .0000
 B3           345.2236349       .78485908  439.854   .0000