PROC NLIN Statement
 PROC NLIN < options > ;
The PROC NLIN statement invokes the procedure.
The following table lists the options
available with the PROC NLIN statement.
Explanations follow in alphabetical order.
Task


Options

Specify data sets   DATA= 
  OUTEST= 
  SAVE 
Grid search   BEST= 
Choose an iteration method   METHOD= 
Control step size   MAXSUBIT= 
  RHO= 
  SMETHOD= 
  TAU= 
Specify details of iteration   G4 
  SIGSQ= 
Minimization Tuning   CONVERGE= 
  CONVERGEOBJ= 
  CONVERGEPARM= 
  SINGULAR= 
  MAXITER= 
Modify Amount of Output   HOUGAARD 
  NOITPRINT 
  NOPRINT 
List Model Structure   LIST 
  LISTALL 
  LISTCODE 
  LISTDEP 
  LISTDER 
  XREF 
Trace Model Execution   FLOW 
  PRINT 
  TRACE 
 BEST=n

requests that PROC NLIN display the residual sums
of squares only for the best n combinations
of possible starting values from the grid.
If you do not specify the BEST= option, PROC NLIN
displays the residual sum of squares for every
combination of possible parameter starting values.
 CONVERGE=c

specifies the convergence criteria for PROC NLIN.
For all iterative
methods except for METHOD=DUD, the relative offset convergence measure
of Bates and Watts is used to determine convergence. This measure
is labeled "R" in the Estimation Summary table. The iterations
are said to have converged for CONVERGE=c if
where r is the residual vector and X is the Jacobian matrix.
The default LOSS function is the sum of squared errors (SSE).
By default, CONVERGE=10^{5}. The R convergence measure cannot
be computed accurately in the special case of a perfect fit (
residuals close to zero). When the SSE is less than the
value of the SINGULAR= option, convergence is assumed.
 CONVERGEOBJ=c (DUD only)

uses the change in the LOSS function as the convergence criterion.
For more details on the LOSS function, see
the section "Special Variable Used to Determine Convergence Criteria".
The iterations are said to have converged for CONVERGEOBJ=c if

[( LOSS^{i1}  LOSS^{i} )/( LOSS^{i} + 10^{6} )] < c
where LOSS^{i} is the LOSS for the ith iteration.
The default LOSS function is the sum of squared errors (SSE).
The constant c should be a small positive number.
See the "Computational Methods" section for more details.
By default, CONVERGE=10^{8}.
 CONVERGEPARM=c (DUD only)

uses the maximum change among parameter
estimates as the convergence criterion.
The iterations are said to have converged for CONVERGEPARM=c if
where is the value of the
jth parameter at the ith iteration.
The default convergence criterion for DUD is CONVERGEOBJ.
If you specify CONVERGEOBJ=c, the specified
c is used instead of the default of 10^{8}.
If you specify CONVERGEPARM=c, the maximum change in parameters
is used as the convergence criterion (instead of LOSS).
If you specify both the CONVERGEOBJ= and CONVERGEPARM=
options, PROC NLIN continues to iterate until the decrease
in LOSS is sufficiently small (as determined by the
CONVERGEOBJ= option) and the maximum change among the parameters
is sufficiently small (as determined by the CONVERGEPARM= option).
 DATA=SASdataset

specifies the SAS data set containing
the data to be analyzed by PROC NLIN.
If you omit the DATA= option, the most
recently created SAS data set is used.
 FLOW

displays a message for each statement in the model program as it is executed.
This debugging option is rarely needed, and it produces large amounts
of output.
 G4

uses a MoorePenrose (g_{4}) inverse in parameter estimation. Refer to
Kennedy and Gentle (1980) for details.
 HOUGAARD

adds Hougaard's measure of skewness to the parameter estimation
table. Computation of the measure requires derivatives
(see the section "Hougaard's Measure of Skewness"). Thus, the HOUGAARD option
is ignored if you specify the option METHOD=DUD, which is described
later in this list.
 LIST

displays the model program and variable lists,
including the statements added by macros. Note that the expressions displayed
by the LIST option
do not necessarily represent the way the expression is actually
calculated, since intermediate results for common subexpressions
can be reused but are shown in expanded form by the LIST
option. To see how the expression is actually evaluated,
see the description for the LISTCODE option, which follows.
 LISTALL

selects the LIST, LISTDEP, LISTDER, and LISTCODE options.
 LISTCODE

displays the derivative tables and compiled model program code.
The LISTCODE option is a debugging feature and is not normally needed.
 LISTDEP

produces a report that lists, for each variable
in the model program, the variables that depend on it and on which it
depends.
 LISTDER

displays a table of derivatives.
The derivatives table lists each nonzero derivative computed for
the problem. The derivative listed can be a constant, a variable
in the model program, or a special derivative variable created
to hold the result of the derivative expression.
 MAXITER=i

limits the number of iterations PROC NLIN performs
before it gives up trying to converge.
The i value must be a positive integer.
By default, MAXITER=100.
 MAXSUBIT=i

places a limit on the number of step halvings.
By default, MAXSUBIT=30.
The value of MAXSUBIT must be a positive integer.
 METHOD=GAUSS  MARQUARDT  NEWTON  GRADIENT  DUD

specifies the iterative method that PROC NLIN uses. The GAUSS, MARQUARDT
and NEWTON methods are more robust than the GRADIENT and DUD methods.
If you omit the METHOD= option, METHOD=GAUSS is used.
See the "Computational Methods" section for more information.
 NOITPRINT

suppresses the display of the results of each iteration.
 NOPRINT

suppresses the display of the output. Note that this option
temporarily disables the Output Delivery System (ODS).
For more information, see Chapter 15, "Using the Output Delivery System."
 OUTEST=SAS dataset

specifies an output data set to contain the
parameter estimates produced at each iteration.
See the "Output Data Sets" section for details.
If you want to create a permanent SAS data
set, you must specify a twolevel name.
See the chapter "SAS Files," in SAS Language
Reference: Concepts for more information on permanent SAS data sets.
 PRINT

displays the result of each statement
in the program as it is executed.
This option produces large amounts of output.
 RHO=value

specifies a value to use in controlling the stepsize search.
By default, RHO=0.1 except when METHOD=MARQUARDT, in which case RHO=10.
See the section "Computational Methods" for more details.
 SAVE

specifies that, when the iteration limit is
exceeded, the parameter estimates from the final
iteration are output to the OUTEST= data set.
These parameter estimates are located
in the observation with _TYPE_=FINAL.
If you omit the SAVE option, the parameter estimates
from the final iteration are not output to the data set unless
convergence is attained.
 SIGSQ=value

specifies a value to replace the mean square error
for computing the standard errors of the estimates.
The SIGSQ= option is used with maximumlikelihood estimation.
 SINGULAR=s

specifies the singularity criterion, s, which is the absolute
magnitude of the smallest pivot value allowed when inverting the
Hessian or approximation to the Hessian. The default value
is 1E8.
 SMETHOD=HALVE  GOLDEN  CUBIC

specifies the stepsize search method that PROC NLIN uses.
The default is SMETHOD=HALVE.
See the section "Computational Methods" for details.
 TAU=value

specifies a value to use in controlling the stepsize search.
By default, TAU=1 except when METHOD=MARQUARDT, in which case TAU=0.01.
See the section "Computational Methods" for details.
 TRACE

displays the result of each operation in each statement
in the model program as it is executed,
in addition to the information displayed by the FLOW and PRINT options.
This debugging option is needed very rarely, and it produces even more output
than the FLOW and PRINT options.
 XREF

displays a crossreference of the variables in the model program showing
where each variable is referenced or given a value. The XREF listing does
not include derivative variables.
Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.