Previous Page | Next Page

The CALIS Procedure

Constrained Estimation by Using Program Code

The CALIS procedure offers a very flexible way to constrain parameter estimates. You can use your own programming statements to express special properties of the parameter estimates. This tool is also present in McDonald’s COSAN implementation but is considerably easier to use in the CALIS procedure. PROC CALIS is able to compute analytic first- and second-order derivatives that you would have to specify using the COSAN program. There are also three PROC CALIS statements you can use:

  • the BOUNDS statement, to specify simple bounds on the parameters used in the optimization process

  • the LINCON statement, to specify general linear equality and inequality constraints on the parameters used in the optimization process

  • the NLINCON statement, to specify general nonlinear equality and inequality constraints on the parameters used in the optimization process. The variables listed in the NLINCON statement must be specified in the program code.

There are some traditional ways to enforce parameter constraints by using parameter transformations (McDonald 1980).

  • One-sided boundary constraints: For example, the parameter should be at least as large (or at most as small) as a given constant value (or ),

         

    This inequality constraint can be expressed as an equality constraint

         

    in which the fundamental parameter is unconstrained.

  • Two-sided boundary constraints: For example, the parameter should be located between two given constant values and , ,

         

    This inequality constraint can be expressed as an equality constraint

         

    in which the fundamental parameter is unconstrained.

  • One-sided order constraints: For example, the parameters , ..., should be ordered in the form

         

    These inequality constraints can be expressed as a set of equality constraints

         

    in which the fundamental parameters , ..., are unconstrained.

  • Two-sided order constraints: For example, the parameters , ..., should be ordered in the form

         

    These inequality constraints can be expressed as a set of equality constraints

         

    in which the fundamental parameters , ..., are unconstrained.

  • Linear equation constraints: For example, the parameters , , should be linearly constrained in the form

         

    which can be expressed in the form of three explicit equations in which the fundamental parameters and are unconstrained:

         

Refer to McDonald (1980) and Browne (1982) for further notes on reparameterizing techniques. If the optimization problem is not too large to apply the Levenberg-Marquardt or Newton-Raphson algorithm, boundary constraints should be requested by the BOUNDS statement rather than by reparameterizing code. If the problem is so large that you must use a quasi-Newton or conjugate gradient algorithm, reparameterizing techniques might be more efficient than the BOUNDS statement.

Previous Page | Next Page | Top of Page