# The QLIM Procedure

## Getting Started: QLIM Procedure

The QLIM procedure is similar in use to the other regression or simultaneous equations model procedures in the SAS System. For example, the following statements are used to estimate a binary choice model by using the probit probability function:

```   proc qlim data=a;
model y = x1;
endogenous y ~ discrete;
run;
```

The response variable, `y`, is numeric and has discrete values. PROC QLIM enables the user to specify the type of endogenous variables in the ENDOGENOUS statement. The binary probit model can be also specified as follows:

```   model y = x1 / discrete;
```

When multiple endogenous variables are specified in the QLIM procedure, these equations are estimated as a system. Multiple endogenous variables can be specified with one MODEL statement in the QLIM procedure when these models have the same exogenous variables:

```   model y1 y2 = x1 x2 / discrete;
```

The preceding specification is equivalent to the following statements:

```   proc qlim data=a;
model y1 = x1 x2;
model y2 = x1 x2;
endogenous y1 y2 ~ discrete;
run;
```

Some equations in multivariate models can be continuous while other equations can be discrete. A bivariate model with a discrete and a continuous equation is specified as follows:

```   proc qlim data=a;
model y1 = x1 x2;
model y2 = x3 x4;
endogenous y1 ~ discrete;
run;
```

The standard tobit model is estimated by specifying the endogenous variable to be truncated or censored. The limits of the dependent variable can be specified with the CENSORED or TRUNCATED option in the ENDOGENOUS or MODEL statement when the data are limited by specific values or variables. For example, the two-limit censored model requires two variables that contain the lower (`bottom`) and upper (`top`) bound:

```   proc qlim data=a;
model y = x1 x2 x3;
endogenous y ~ censored(lb=bottom ub=top);
run;
```

The bounds can be numbers if they are fixed for all observations in the data set. For example, the standard tobit model can be specified as follows:

```   proc qlim data=a;
model y = x1 x2 x3;
endogenous y ~ censored(lb=0);
run;
```