FRONTIER Procedure

Example 19.2 Stochastic Frontier Cost Models

This example shows how to estimate the three types of stochastic frontier cost models.

The data for the cost model are provided by Christensen and Greene (1976). The data describe costs and production inputs of 145 US electricity producers in 1955. The model that is estimated follows the nonhomogeneous version of the Cobb-Douglas cost function:

log left-parenthesis StartFraction Cost Over FPrice EndFraction right-parenthesis equals beta 0 plus beta 1 log left-parenthesis StartFraction KPrice Over FPrice EndFraction right-parenthesis plus beta 2 log left-parenthesis StartFraction LPrice Over FPrice EndFraction right-parenthesis plus beta 3 log left-parenthesis Output right-parenthesis plus beta 4 one half log left-parenthesis Output right-parenthesis squared plus epsilon

All dollar values are normalized by fuel price. The quadratic log of the output is added to capture nonlinearities due to scale effects in cost functions. Five new variables, log_C_PF, log_PK_PF, log_PL_PF, log_y, and log_y_sq, are created to reflect transformations. The following statements create the data set and transformed variables:

     title1 'Estimating a Stochastic Frontier Cost Model';

     data electricity;
        input Firm Year Cost Output LPrice LShare KPrice KShare FPrice FShare;
     datalines;
     1  1955  .0820  2.0  2.090  .3164  183.000  .4521  17.9000  .2315
     2  1955  .6610  3.0  2.050  .2073  174.000  .6676  35.1000  .1251
     3  1955  .9900  4.0  2.050  .2349  171.000  .5799  35.1000  .1852

   ... more lines ...   

 /* Data transformations */
 data electricity;
    set electricity;
    label Firm="firm index"
          Year="1955 for all observations"
          Cost="Total cost"
          Output="Total output"
          LPrice="Wage rate"
          LShare="Cost share for labor"
          KPrice="Capital price index"
          KShare="Cost share for capital"
          FPrice="Fuel price"
          FShare"Cost share for fuel";
    log_C_PF=log(Cost/FPrice);
    log_PK_PF=log(KPrice/FPrice);
    log_PL_PF=log(LPrice/FPrice);
    log_y=log(Output);
    log_y_sq=log_y**2/2;
 run;

 data mylib.electricity;
     set electricity;
  run;

The following statements estimate a stochastic frontier exponential cost model that uses the Christensen and Greene (1976) data:

 /*-- Stochastic Frontier Cost Model --*/
 proc frontier data=mylib.electricity;
    model log_C_PF = log_PK_PF log_PL_PF log_y log_y_sq / type=exponential cost;
 run;

Output 19.2.1 shows the results.

Output 19.2.1: Exponential Distribution

Estimating a Stochastic Frontier Cost Model

The FRONTIER Procedure

Observation Information
Number of Observations159
Number of Missing Observations0

Summary Statistics of Dependent Variable
VariableMeanStandard
Error
MinimumMaximum
log_C_PF-1.382061.495751-5.676191.728358

Model Fit Summary
Dependent Variablelog_C_PF
Data SetELECTRICITY
ModelCost
Inefficiency Term DistributionExponential
Log Likelihood-23.3043
Maximum Absolute Gradient0.000105
Number of Iterations12
Optimization MethodNewton-Raphson
AIC60.6086
SBC82.09093
Covariance EstimationHessian

Parameter Estimates
ParameterDFEstimateStandard
Error
t ValueApprox
Pr > |t|
Intercept1-4.9832100.543328-9.17<.0001
log_PK_PF10.0902420.1092020.830.4086
log_PL_PF10.5042990.1182634.26<.0001
log_y10.4271820.0666806.41<.0001
log_y_sq10.0661200.0100796.56<.0001
_Sigma_v10.1549980.0202717.65<.0001
_Sigma_u10.2655810.0336147.90<.0001

Variance Statistics
ParameterEstimateStandard
Error
Sigma20.0945580.015889
Gamma0.7459290.083677


Similarly, the stochastic frontier cost model can be estimated using the TYPE=HALF or TYPE=TRUNCATED option, which represents half-normal or truncated-normal errors, respectively.

The following statements estimate the half-normal model:

/*-- Stochastic Frontier Cost Model --*/
proc frontier data=mylib.electricity;
   model log_C_PF = log_PK_PF log_PL_PF log_y log_y_sq / type=half cost;
run;

Output 19.2.2 shows the result.

Output 19.2.2: Half-Normal Distribution

Estimating a Stochastic Frontier Cost Model

The FRONTIER Procedure

Model Fit Summary
Dependent Variablelog_C_PF
Data SetELECTRICITY
ModelCost
Inefficiency Term DistributionHalf-normal
Log Likelihood-34.953
Maximum Absolute Gradient0.000265
Number of Iterations12
Optimization MethodNewton-Raphson
AIC83.90607
SBC105.3884
Covariance EstimationHessian

Parameter Estimates
ParameterDFEstimateStandard
Error
t ValueApprox
Pr > |t|
Intercept1-4.4346250.690198-6.43<.0001
log_PK_PF10.0696230.1362500.510.6094
log_PL_PF10.4745800.1468123.230.0012
log_y10.2568740.0807773.180.0015
log_y_sq10.0880510.0118177.45<.0001
_Sigma_v10.2076370.0392225.29<.0001
_Sigma_u10.3738100.0736055.08<.0001

Variance Statistics
ParameterEstimateStandard
Error
Sigma20.1828470.042585
Gamma0.7642120.132839


The following statements estimate the truncated-normal model:

/*-- Stochastic Frontier Cost Model --*/
proc frontier data=mylib.electricity;
   model log_C_PF = log_PK_PF log_PL_PF log_y log_y_sq / type=truncated cost;
run;

Output 19.2.3 shows the results.

Output 19.2.3: Truncated-Normal Distribution

Estimating a Stochastic Frontier Cost Model

The FRONTIER Procedure

Model Fit Summary
Dependent Variablelog_C_PF
Data SetELECTRICITY
ModelCost
Inefficiency Term DistributionTruncated normal
Log Likelihood-36.5435
Maximum Absolute Gradient0.007395
Number of Iterations18
Optimization MethodNewton-Raphson
AIC89.0871
SBC113.6383
Covariance EstimationHessian

Parameter Estimates
ParameterDFEstimateStandard
Error
t ValueApprox
Pr > |t|
Intercept1-3.90433437.001296-0.110.9160
log_PK_PF10.0717370.1437940.500.6179
log_PL_PF10.4625890.1555982.970.0029
log_y10.1304960.0583632.240.0254
log_y_sq10.1035760.00995810.40<.0001
_Sigma_v10.3024040.6330300.480.6329
_Sigma_u10.0356315.3652200.010.9947
_Mu10.19283136.9950700.010.9958

Variance Statistics
ParameterEstimateStandard
Error
Sigma20.0927180.010408
Gamma0.0136934.123680


Last updated: July 09, 2026