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
| Class Level Information | ||
|---|---|---|
| Class | Levels | Values |
| cl | 2 | 0 1 |
| Observation Information | |
|---|---|
| Number of Observations | 100000 |
| Number of Missing Observations | 0 |
| Summary Statistics of Dependent Variable | ||||
|---|---|---|---|---|
| Variable | Mean | Standard Error | Minimum | Maximum |
| y | 2.649665 | 1.503944 | -4.0917 | 8.684373 |
| Model Fit Summary | |
|---|---|
| Dependent Variable | y |
| Data Set | INPUT_DATASET |
| Model | Production |
| Inefficiency Term Distribution | Truncated normal |
| Log Likelihood | -172207 |
| Maximum Absolute Gradient | 0.41805 |
| Number of Iterations | 20 |
| Optimization Method | Quasi-Newton |
| AIC | 344428 |
| SBC | 344494.6 |
| Covariance Estimation | Hessian |
| Parameter Estimates | |||||
|---|---|---|---|---|---|
| Parameter | DF | Estimate | Standard Error | t Value | Approx Pr > |t| |
| Intercept | 1 | 5.031248 | 0.052109 | 96.55 | <.0001 |
| x1 | 1 | -0.504582 | 0.004228 | -119.35 | <.0001 |
| x2 | 1 | 0.786293 | 0.014637 | 53.72 | <.0001 |
| cl 0 | 1 | -0.636774 | 0.008630 | -73.79 | <.0001 |
| cl 1 | 0 | 0 | . | . | . |
| _Sigma_v | 1 | 0.977354 | 0.015281 | 63.96 | <.0001 |
| _Sigma_u | 1 | 1.344170 | 0.023412 | 57.41 | <.0001 |
| _Mu | 1 | 0.731860 | 0.127985 | 5.72 | <.0001 |
| Variance Statistics | ||
|---|---|---|
| Parameter | Estimate | Standard Error |
| Sigma2 | 2.762015 | 0.080819 |
| Gamma | 0.654158 | 0.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.