The FRONTIER Procedure

BOUNDS Statement

  • BOUNDS bound1 <, bound2 …> ;

The BOUNDS statement imposes simple boundary constraints on the parameter estimates. You can specify any number of BOUNDS statements.

Each bound is composed of parameter names, constants, and inequality operators as follows:

  • item operator item < operator item < operator item …> >

Each item is a constant, a parameter name, or a list of parameter names. Each operator is <, >, <=, or >=. Parameter names are as shown in the Parameter column of the "Parameter Estimates" table. If a parameter name contains a blank or some other special character (such as '*', '-', '(', or ')'), then you must use the internal name of the parameter to refer to that parameter in the BOUNDS statement. You can specify the PRINTINTERNALNAMES option in the PROC FRONTIER statement if you want to see the internal names of the parameters. When you specify the PRINTINTERNALNAMES option, an extra column that shows the internal name of each parameter is added to the "Parameter Estimates" table.

For more information about how parameters are named, see the section Parameter Naming Conventions for the RESTRICT, TEST, BOUNDS, and INIT Statements.

You can use both the BOUNDS statement and the RESTRICT statement to impose boundary constraints. However, the BOUNDS statement provides a simpler syntax for specifying these kinds of constraints. For more information, see the section RESTRICT Statement.

The following BOUNDS statement illustrates the use of parameter lists to specify boundary constraints. It constrains the estimates of the constant term, the intercept, to be negative; the parameters for the input price P1 to be between 0 and 1; and the technical inefficiency term to be greater than 0.5.

bounds intercept < 0,
       0 < P1 < 1,
       _sigma_u > 0.5;

Note that operators to select or construct effects, such as "-", "*", or "|", are not allowed in the BOUND statement.

Last updated: January 27, 2023