FRONTIER Procedure

Example 19.1 Stochastic Frontier Production Model: Truncated-Normal

This example shows how to estimate a stochastic frontier production model in which the inefficiency term has a truncated-normal distribution.

The following DATA step generates a data table that contains 100,000 observations from this model. The model contains three input variables, one of which is a classification variable.

    data input_dataset;
       keep y x1 x2 cl j;
       call streaminit(24569);
         do j = 1 to 100000;
            x1 = 2 + rand("normal");
            x2 = rand("uniform");
            cl = rand("bernoulli",0.4);
            sigma_v  = rand("normal");
            sigma_u = 0;
            do until(sigma_u > 0);
               sigma_u = rand("normal",0.75,1.3);
            end;
            xb = 5 - 0.5*x1 + 0.8*x2 - 0.65*(cl = 0);
            y  =  xb + sigma_v - sigma_u;
            output;
         end;
    run;

    data mylib.input_dataset;
       set input_dataset;
    run;

The following statements estimate the model:

 /*-- Stochastic Frontier Production Model: Truncated-Normal --*/
 proc frontier data=mylib.input_dataset method=quanew;
    class cl;
    model y = x1 x2 cl/ production type=trunc;
 run;

Output 19.1.1 shows the results.

Output 19.1.1: Production Model with Truncated-Normal Distribution

The FRONTIER Procedure

Class Level Information
ClassLevelsValues
cl20 1

Observation Information
Number of Observations100000
Number of Missing Observations0

Summary Statistics of Dependent Variable
VariableMeanStandard
Error
MinimumMaximum
y2.6496651.503944-4.09178.684373

Model Fit Summary
Dependent Variabley
Data SetINPUT_DATASET
ModelProduction
Inefficiency Term DistributionTruncated normal
Log Likelihood-172207
Maximum Absolute Gradient0.41805
Number of Iterations20
Optimization MethodQuasi-Newton
AIC344428
SBC344494.6
Covariance EstimationHessian

Parameter Estimates
ParameterDFEstimateStandard
Error
t ValueApprox
Pr > |t|
Intercept15.0312480.05210996.55<.0001
x11-0.5045820.004228-119.35<.0001
x210.7862930.01463753.72<.0001
cl 01-0.6367740.008630-73.79<.0001
cl 100...
_Sigma_v10.9773540.01528163.96<.0001
_Sigma_u11.3441700.02341257.41<.0001
_Mu10.7318600.1279855.72<.0001

Variance Statistics
ParameterEstimateStandard
Error
Sigma22.7620150.080819
Gamma0.6541580.007898


In addition to the parameters that are estimated for the other stochastic frontier models, PROC FRONTIER also estimates the parameter _Mu for truncated-normal models. _Mu is the mean of the truncated-normal distribution. The parameter cl_1 indicates the classification variable for the level 1 and is dropped in the estimation to prevent perfect collinearity in the model. For more information, see the section Dropping a Class-Level Parameter to Avoid Collinearity.

Last updated: July 09, 2026