The HPQLIM (high-performance qualitative and limited dependent variable model) procedure is a high-performance version of the QLIM procedure in SAS/ETS software, which analyzes univariate limited dependent variable models in which dependent variables are observed only in a limited range of values. Unlike the QLIM procedure, which can be run only on an individual workstation, the HPQLIM procedure takes advantage of a computing environment that enables it to distribute the optimization task to one or more nodes. In addition, each node can use one or more threads to perform the optimization on its subset of the data. When several nodes are used and each node uses several threads to carry out its part of the work, the result is a highly parallel computation that provides a dramatic gain in performance.
With the HPQLIM procedure you can read and write data in distributed form and perform analyses in distributed mode and single-machine mode. For more information about how to affect the execution mode of SAS high-performance analytical procedures, see the section Processing Modes in Chapter 2: Shared Concepts and Topics.
The HPQLIM procedure is specifically designed to operate in the high-performance distributed environment. It can use maximum likelihood or Bayesian methods. In both cases, the likelihood evaluation is performed in a distributed environment. By default, PROC HPQLIM uses multiple threads to perform computations.
The HPQLIM procedure is similar in use to the other SAS procedures that support regression or simultaneous equations models.
For example, the standard model with censoring or truncation is estimated by specifying the endogenous variable to be truncated
or censored. When the data are limited by specific values or variables, the limits of the dependent variable can be specified
with the CENSORED or TRUNCATED option in the ENDOGENOUS or MODEL statement. For example, the two-limit censored model requires
two variables: one that contains the lower (bottom
) bound and one that contains the upper (top
) bound. The following statements execute the model in the distributed computing environment with two threads and four nodes:
proc hpqlim data=a; model y = x1 x2 x3; endogenous y ~ censored(lb=bottom ub=top); performance nthreads=2 nodes=4 details; 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 hpqlim data=a; model y = x1 x2 x3; endogenous y ~ censored(lb=0); performance nthreads=2 nodes=4 details; run;