PROC TMODEL includes additional options in the FIT statement to provide more control of the estimation process than PROC MODEL provides. For a complete description of the syntax of the FIT statement, see the section FIT Statement in Chapter 24, MODEL Procedure. The syntax for specifying the new options follows:
FIT < …> < / QUADHESS=LINEAR | ANALYTIC | FDA < OPTIMIZER=type <(ORMP-optimizer-options)>>> ;
specifies which method to use to compute the Hessian matrix during the optimization process. For FIML and t distribution estimations, the HESSIAN= option is used to specify how the Hessian matrix is computed, and the QUADHESS= option has no effect.
ANALYTIC
uses the exact analytical representation of the Hessian matrix during the optimization process. This option might improve convergence properties for certain nonlinear models. It is not available for feasible GLS estimations or random-effects estimations.
FDA
uses a finite difference approximation to the Hessian matrix during the optimization process. This option is available only when the OPTIMIZER=ORMP option is specified.
LINEAR
uses the crossproduct of the Jacobian matrix as an approximation to the Hessian matrix during the optimization process.
By default, QUADHESS=LINEAR.
Options to Control the Optimization Process
The following options control the optimization process. For more information about the optimizers available in PROC TMODEL, see the section Nonlinear Optimization.
OPTIMIZER=type<(ORMP-optimizer-options)>
specifies which optimizer to use to perform the numerical minimization. You can specify only one of the following types. By default, OPTIMIZER=ORMP.
ZOPT
uses the optimizer that is used in PROC MODEL in the minimization.
You can also specify the following options after the slash in the FIT statement: CONVERGE=, MAXITER=, MAXSUBITER=, METHOD=.
ORMP
uses the nonlinear programming solver available in SAS/OR software in the minimization. For more information about the ORMP nonlinear solver, see Chapter 10, The Nonlinear Programming Solver (SAS/OR User's Guide: Mathematical Programming).
You can specify the following ORMP-optimizer-options:
ALGORITHM=ACTIVESET | CONCURRENT | INTERIORPOINT
specifies the optimization technique to use to solve the problem. By default, ALGORITHM=INTERIORPOINT.
FEASTOL=
defines the feasible tolerance. By default, FEASTOL=1E–6.
MAXITER=n
requests that the NLP solver take at most n major iterations to determine an optimum. By default, MAXITER=5,000.
MAXTIME=t
specifies an upper limit of t units of time for the optimization process. If you do not specify this option, the NLP solver does not stop because of time elapsed.
MSBNDRANGE=m
defines the range from which each variable can take values during the sampling process. By default, MSBNDRANG=200.
MSDISTTOL=
specifies the tolerance by which two optimal points are considered distinct. Optimal points are considered distinct if the Euclidean distance between them is at least . By default, MSDISTTOL=1.0E–6.
MSMAXSTARTS=n
specifies the maximum number of starting points to use for local optimization. By default, MSMAXSTARTS=100.
MSMAXTIME=t
specifies the maximum time t (in seconds) for the NLP solver to locate the best local optimum in multistart mode. If you do not specify this option, the multistart algorithm does not stop because of the amount of time elapsed.
MULTISTART
enables multistart mode. In this mode, the local solver solves the problem from multiple starting points, possibly finding a better local minimum as a result. By default, this option is disabled.
OBJLIMIT=m
specifies a limit on the magnitude of the objective value. The algorithm terminates when the objective value becomes less than –m. The minimum acceptable value of m is 1E8. If the specified value of m is less than 1E8, the value is reset to the default value. By default, OBJLIMIT=1E20.
OPTTOL=
defines the measure by which the ORMP optimizer decides whether the current iterate is an acceptable approximation of a local minimum, where is a positive real number. The ORMP optimizer determines that the current iterate is a local minimum when the norm of the scaled vector of the optimality conditions is less than and the true constraint violation is less than the value of the FEASTOL= option. By default OPTTOL=1E–6.
SEED=n
specifies a positive integer to use as the seed for generating random number sequences in multistart mode. To ensure reproducible results, specify a nonzero value. By default, SEED=0.
TIMETYPE=CPU | REAL
specifies the units of time that the MAXTIME= option uses. If you do not specify this option, the multistart algorithm does not stop because of the amount of time elapsed.
Options to Control the Solution of a System of Linear Equations
LUSOLVER=NUMPIVOT | STRUCTPIVOT | OLD | n
specifies the method to use to factor and solve systems of linear equations. These linear systems are encountered when the FIML option (which requests that the FIML method be used to estimate models) is specified in the FIT statement or the PROC TMODEL statement. These linear systems are also encountered when either the NEWTON or OPTIMIZE option is specified in the SOLVE statement (these options specify the numerical solution method). Also, model programs that include differential equations require the solution of linear systems of equations. You can specify the following values:
n
considers numerical values of matrix elements only every nth time a lower triangular times upper triangular (LU) matrix factorization is computed.
NUMPIVOT
considers numerical values of matrix elements each time an LU factorization is computed.
OLD
uses the factorization and solution algorithm that the MODEL procedure uses.
STRUCTPIVOT
considers only the structure of nonzero elements in the linear system for ordering equations in the LU factorization.