*! version 1.0.0 03jul2010
help sfpanelalso see: sfpanel postestimation

Title

sfpanel -- Stochastic frontier models for panel data

Syntax

Time-varying models

True fixed-effects model (Greene, 2005)

sfpanel depvar [indepvars] [if] [in] [weight]
, model(tfe) [tfe_options]

True random-effects model (Greene, 2005)

sfpanel depvar [indepvars] [if] [in] [weight]
, model(tre) [tre_options]

ML random-effects time-varying inefficiency effects model (Battese and Coelli, 1995)

sfpanel depvar [indepvars] [if] [in] [weight]
, model(bc95) [bc95_options]

Iterative Least Squares time-varying fixed-effects model (Lee and Schmidt, 1993)

sfpanel depvar [indepvars] [if] [in]
, model(fels) [fels_options]

ML random-effects time-varying efficiency decay model (Battese and Coelli, 1992)

sfpanel depvar [indepvars] [if] [in] [weight]
[, model(bc92) bc92_options]

ML random-effects flexible time-varying efficiency model (Kumbhakar, 1990)

sfpanel depvar [indepvars] [if] [in] [weight]
, model(kumb90) [kumb90_options]

Modified-LSDV time-varying fixed-effects model (Cornwell, Schmidt and Sickles, 1990)

sfpanel depvar [indepvars] [if] [in]
, model(fecss) [fecss_options]

Time-invariant models

ML random-effects model with time-invariant efficiency (Battese and Coelli, 1988)

sfpanel depvar [indepvars] [if] [in] [weight]
, model(bc88) [bc88_options]

ML random-effects model with time-invariant efficiency (Pitt and Lee, 1981)

sfpanel depvar [indepvars] [if] [in] [weight]
, model(pl81) [pl81_options]

GLS random-effects model

sfpanel depvar [indepvars] [if] [in]
, model(regls) [regls_options]

Fixed-effects model

sfpanel depvar [indepvars] [if] [in] [weight]
, model(fe) [fe_options]

tfe_options

Inefficiency distribution
distribution(exponential) exponential distribution for the inefficiency term, the default

distribution(hnormal) half-normal distribution for the inefficiency term

distribution(tnormal) truncated-normal distribution for the inefficiency term

Ancillary equations
emean(varlist_m[, noconstant]) fit conditional mean model;
only with d(tnormal); use noconstant to suppress constant term

usigma(varlist_u[, noconstant]) specify explanatory variables for the inefficiency variance function;
use noconstant to suppress constant term

vsigma(varlist_v[, noconstant]) specify explanatory variables for the idiosyncratic error variance function;
use noconstant to suppress constant term

Starting values
svfrontier() specify a 1 X k vector of initial values for the coefficients of the frontier

svemean() specify a 1 X k_m vector of initial values for the coefficients of the conditional mean model; only with d(tnormal)

svusigma() specify a 1 X k_u vector of initial values for the coefficients of the inefficiency variance function

svvsigma() specify a 1 X k_v vector of initial values for the coefficients of the idiosyncratic error variance function

nosearch no attempt is made to improve on the initial values

restart select the random method to improve initial values

repeat(#) # of times the random values are tried; the default is 10

rescale determine rescaling of initial values

Other
cost fit cost frontier model. The default is production frontier model

constraints(constraints) apply specified linear constraints

SE/Robust
vce(vcetype) vcetype may be oim, opg, robust, cluster clustvar, bootstrap, or jackknife

robust synonym for vce(robust)

cluster(clustvar) synonym for vce(cluster clustvar)

Reporting
feshow show fixed-effects estimates; seldom used

level(#) set confidence level. The default is level(95)

nocnsreport do not display constraints

nowarning do not display warning message "convergence not achieved"

postscore save observation-by-observation scores in the estimation results list

posthessian save the Hessian corresponding to the full set of coefficients in the estimation results list

display_options control
spacing and display of omitted variables and base and empty cells

Maximization
maximize_options control the maximization process; seldom used

+ coeflegend display coefficients' legend instead of coefficient table

tre_options

Inefficiency distribution
distribution(exponential) exponential distribution for the inefficiency term, the default

distribution(hnormal) half-normal distribution for the
inefficiency term

distribution(tnormal) truncated-normal distribution for the inefficiency term

Ancillary equations
emean(varlist_m[, noconstant]) fit conditional mean model;
only with d(tnormal); use noconstant to suppress constant term

usigma(varlist_u[, noconstant]) specify explanatory variables for the inefficiency variance function;
use noconstant to suppress constant term

vsigma(varlist_v[, noconstant]) specify explanatory variables for the idiosyncratic error variance function;
use noconstant to suppress constant term

Starting values
svfrontier() specify a 1 X k vector of initial values for the coefficients of the frontier

svemean() specify a 1 X k_m vector of initial values for the coefficients of the conditional mean model; only with d(tnormal)

svusigma() specify a 1 X k_u vector of initial values for the coefficients of the inefficiency variance function

svvsigma() specify a 1 X k_v vector of initial values for the coefficients of the idiosyncratic error variance function

nosearch no attempt is made to improve on the initial values

restart select the random method to improve initial values

repeat(#) # of times the random values are tried; the default is 10

rescale determine rescaling of initial values

Other
noconstant suppress constant term in the frontier equation

cost fit cost frontier model. The default is production frontier model

constraints(constraints) apply specified linear constraints

simtype(simtype) method to produce random draws for simulation

nsimulations(#) # of random draws

base(#) prime number used as a base for Halton sequences generation; only with simtype(halton) or simtype(genhalton)

SE/Robust
vce(vcetype) vcetype may be oim, opg, robust, cluster clustvar, bootstrap, or jackknife

robust synonym for vce(robust)

cluster(clustvar) synonym for vce(cluster clustvar)

Reporting
level(#) set confidence level. The default is level(95)

nocnsreport do not display constraints

nowarning do not display warning message "convergence not achieved"

postscore save observation-by-observation scores in the estimation results list

posthessian save the Hessian corresponding to the full set of coefficients in the estimation results list

display_options control
spacing and display of omitted variables and base and empty cells

Maximization
maximize_options control the maximization process; seldom used

+ coeflegend display coefficients' legend instead of coefficient table

simtype

runiform Uniformly distributed random variates

halton Halton sequence with base(#)

genhalton Randomized halton sequence with base(#)

bc95_options

Ancillary equations
emean(varlist_m[, noconstant]) fit
conditional mean model; use noconstant to suppress constant term

usigma(varlist_u[, noconstant]) specify explanatory variables for the inefficiency variance function; use noconstant to suppress constant term

vsigma(varlist_v[, noconstant]) specify explanatory variables for the idiosyncratic error variance function; use noconstant to suppress constant term

Starting values
svfrontier() specify a 1 X k vector of initial values for the coefficients of the frontier

svemean() specify a 1 X k_m vector of initial values for the coefficients of the conditional mean model

svusigma() specify a 1 X k_u vector of initial values for the coefficients of the inefficiency variance function

svvsigma() specify a 1 X k_v vector of initial values for the coefficients of the idiosyncratic error variance function

nosearch no attempt is made to improve on the initial values

restart select the random method to improve initial values

repeat(#) # of times the random values are tried; the default is 10

rescale determine rescaling of initial values

Other
noconstant suppress constant term in the frontier equation

cost fit cost frontier model. The default is production frontier model

constraints(constraints) apply specified linear constraints

SE/Robust
vce(vcetype) vcetype may be oim, opg, robust, cluster clustvar, bootstrap, or jackknife

robust synonym for vce(robust)

cluster(clustvar) synonym for vce(cluster clustvar)

Reporting
level(#) set confidence level. The default is level(95)

nocnsreport do not display constraints

nowarning do not display warning message "convergence not achieved"

postscore save observation-by-observation scores in the estimation results list

posthessian save the Hessian corresponding to the full set of coefficients in the estimation results list

display_options control
spacing and display of omitted variables and base and empty cells

Maximization
maximize_options control the maximization process; seldom used

+ coeflegend display coefficients' legend instead of coefficient table

fels_options

cost fit cost frontier model. The default is production frontier model

SE/Robust
vce(vcetype) vcetype may be oim, opg, robust, cluster clustvar, bootstrap, or jackknife

robust synonym for vce(robust)

cluster(clustvar) synonym for vce(cluster clustvar)

Reporting
level(#) set confidence level. The default is level(95)

display_options control
spacing and display of omitted variables and base and empty cells

+ coeflegend display coefficients' legend instead of coefficient table

bc92_options

Starting values
svfrontier() specify a 1 X k vector of starting values for the frontier

svemean() specify a starting value for the truncation mean of the inefficiency term

svsigma() specify a starting value for the sigma parameter

svgamma() specify a starting value for the gamma parameter

sveta() specify a starting value for the variable controlling the behavior of the firm effects over time

nosearch no attempt is made to improve on the initial values

restart select the random method to improve initial values

repeat(#) # of times the random values are tried; the default is 10

rescale determine rescaling of initial values

Other
noconstant suppress constant term in the frontier equation

cost fit cost frontier model. The default is production frontier model

constraints(constraints) apply specified linear constraints

SE/Robust
vce(vcetype) vcetype may be oim, opg, robust, cluster clustvar, bootstrap, or jackknife

robust synonym for vce(robust)

cluster(clustvar) synonym for vce(clusterclustvar)

Reporting
level(#) set confidence level. The default is level(95)

nocnsreport do not display constraints

nowarning do not display warning message "convergence not achieved"

postscore save observation-by-observation scores in the estimation results list

posthessian save the Hessian corresponding to the full set of coefficients in the estimation results list

display_options control
spacing and display of omitted variables and base and empty cells

Maximization
maximize_options control the maximization process; seldom used

+ coeflegend display coefficients' legend instead of coefficient table

kumb90_options

Ancillary equations
bt(varlist_bt[,noconstant]) time
variables specifying the temporal pattern of inefficiency; use noconstant
to suppress constant term. The default is a quadratic polynomial in time

Starting values
svfrontier() specify a 1 X k vector of starting values for the frontier

svbt() specify a 1 X k_bt vector of starting values for the parameters explaining the temporal pattern of the firm effects

svusigma() specify a starting value for the variance parameter of the inefficiency term

svvsigma() specify a starting value for the variance parameter of the idiosyncratic term

nosearch no attempt is made to improve on the initial values

restart select the random method to improve initial values

repeat(#) # of times the random values are tried; the default is 10

rescale determine rescaling of initial values

Other
noconstant suppress constant term in the frontier equation

cost fit cost frontier model. The default is production frontier model

constraints(constraints) apply specified linear constraints

SE/Robust
vce(vcetype) vcetype may be oim, opg, robust, cluster clustvar, bootstrap, or jackknife

robust synonym for vce(robust)

cluster(clustvar) synonym for vce(cluster clustvar)

Reporting
level(#) set confidence level. The default is level(95)

nocnsreport do not display constraints

nowarning do not display warning message "convergence not achieved"

postscore save observation-by-observation scores in the estimation results list

posthessian save the Hessian corresponding to the full set of coefficients in the estimation results list

display_options control
spacing and display of omitted variables and base and empty cells

Maximization
maximize_options control the maximization process; seldom used

+ coeflegend display coefficients' legend instead of coefficient table

fecss_options

cost fit cost frontier model. The default is production frontier model

SE/Robust
vce(vcetype) vcetype may be oim, opg, robust, cluster clustvar, bootstrap, or jackknife

robust synonym for vce(robust)

cluster(clustvar) synonym for vce(cluster clustvar)

Reporting
level(#) set confidence level. The default is level(95)

display_options control
spacing and display of omitted variables and base and empty cells

+ coeflegend display coefficients' legend instead of coefficient table

bc88_options

Starting values
svfrontier() specify a 1 X k vector of starting values for the frontier

svemean() specify a starting value for the truncation mean of the inefficiency term

svsigma() specify a starting value for the sigma parameter

svgamma() specify a starting value for the gamma parameter

nosearch no attempt is made to improve on the initial values

restart select the random method to improve initial values

repeat(#) # of times the random values are tried; the default is 10

rescale determine rescaling of initial values

Other
noconstant suppress constant term in the frontier equation

cost fit cost frontier model. The default is production frontier model

constraints(constraints) apply specified linear constraints

SE/Robust
vce(vcetype) vcetype may be oim, opg, robust, cluster clustvar, bootstrap, or jackknife

robust synonym for vce(robust)

cluster(clustvar) synonym for vce(cluster clustvar)

Reporting
level(#) set confidence level. The default is level(95)

nocnsreport do not display constraints

nowarning do not display warning message "convergence not achieved"

postscore save observation-by-observation scores in the estimation results list

posthessian save the Hessian corresponding to the full set of coefficients in the estimation results list

display_options control
spacing and display of omitted variables and base and empty cells

Maximization
maximize_options control the maximization process; seldom used

+ coeflegend display coefficients' legend instead of coefficient table

pl81_options

Starting values
svfrontier() specify a 1 X k vector of starting values for the frontier

svusigma() specify a starting value for the coefficient of the inefficiency variance function

svvsigma() specify a starting value for the coefficient of the idiosyncratic error variance function

nosearch no attempt is made to improve on the initial values

restart select the random method to improve initial values

repeat(#) # of times the random values are tried; the default is 10

rescale determine rescaling of initial values

Other
noconstant suppress constant term in the frontier equation

cost fit cost frontier model. The default is production frontier model

constraints(constraints) apply specified linear constraints

SE/Robust
vce(vcetype) vcetype may be oim, opg, robust, cluster clustvar, bootstrap, or jackknife

robust synonym for vce(robust)

cluster(clustvar) synonym for vce(cluster clustvar)

Reporting
level(#) set confidence level. The default is level(95)

nocnsreport do not display constraints

nowarning do not display warning message "convergence not achieved"

postscore save observation-by-observation scores in the estimation results list

posthessian save the Hessian corresponding to the full set of coefficients in the estimation results list

display_options control
spacing and display of omitted variables and base and empty cells

Maximization
maximize_options control the maximization process; seldom used

+ coeflegend display coefficients' legend instead of coefficient table

regls_options

Model
noconstant suppress constant term

cost fit cost frontier model. The default is production frontier model

SE/Robust
vce(vcetype) vcetype may be oim, opg, cluster clustvar, robust, bootstrap,
or jackknife

robust synonym for vce(robust)

cluster(clustvar) synonym for vce(clusterclustvar)

Reporting
level(#) set confidence level. The default is level(95)

display_options control
spacing and display of omitted variables and base and empty cells

+ coeflegend display coefficients' legend instead of coefficient table

fe_options

Model
cost fit cost frontier model. The default is production frontier model

constraints(constraints) apply specified linear constraints

SE/Robust
vce(vcetype) vcetype may be conventional, robust,
cluster clustvar, bootstrap, or jackknife

robust synonym for vce(robust)

cluster(clustvar) synonym for vce(clusterclustvar)

Reporting
level(#) set confidence level. The default is level(95)

display_options control spacing
and display of omitted variables and base and empty cells

+ coeflegend display coefficients' legend instead of coefficient table

A panel and a time variable must be specified. Use xtset.

indepvars may contain factor variables; see fvvarlist.

depvars and indepvars may contain time-series operators; see
tsvarlist.

bootstrap, by, and jackknife, are allowed; see prefix.

Weights are not allowed with the bootstrap prefix.

aweights, fweights, iweights, and pweights are allowed; see weight.

Weights must be constant within panel.

See sfpanel postestimation for
features available after estimation.

Description

sfpanel fits parametric Stochastic production or cost Frontier (SF) models for panel data.
When estimation is done with likelihood-based methods, the SF model is:

y_it = alpha + beta*X_it + v_it ± u

where v_it is a normally distributed error term and u is a one-sided strictly non-negative term representing inefficiency.
The sign of the u term is positive or negative depending on whether the frontier describes a cost or production function, respectively.
Among the time-varying inefficiency models (u=u_it), sfpanel fits:

i) the true fixed-effects (TFE) and the true random-effects (TRE) models developed by Greene (2005),
in which both time-invariant unmeasured heterogeneity (alpha=alpha_i) and time-varying firm inefficiency are considered;

ii) the Battese and Coelli (1995) model, in which the u_it is obtained by truncation at zero of the normal distribution with mean (Z_it*delta),
where Z_it is a set of covariates explaining the mean of inefficiency;

iii) the time decay model by Battese and Coelli (1992), in which u_it=u_i*B(t) , and B(t)=[exp(-eta*(t-T_i))].
u_i is assumed to be truncated-normally distributed with non-zero mean and constant variance, while eta governs the temporal pattern
of inefficiency.

iv) the flexible parametric model by Kumbhakar (1990), in which u_it=u_i*B(t) , and B(t)=[1+exp(bt+ct^2)]^(-1).

Among the time-invariant inefficiency models (u=u_i), sfpanel fits:

v) the Battese and Coelli (1988) model, in which u_i is truncated-normally distributed with non-zero mean and constant variance;

vi) the Pitt and Lee (1981) model, in which u_i is half-normally distributed with constant variance;

When estimation is done with least squares methods, the SF production model is:

y_it = alpha + beta*X_it + v_it

Among the time-varying inefficiency models (alpha=alpha_it), sfpanel fits:

vii) the Lee and Schmidt (1993) model, in which alpha_it = theta_t*delta_i and theta_t are parameters to be estimated.
This model is a special case of Kumbhakar (1990), in which B(t) is represented by a set of dummy variables for time.

viii) the Cornwell et al. (1990) model, in which alpha_it = delta_i0 + delta_i1*t + delta_i2*t^2

Among the time-invariant inefficiency models (alpha=alpha_i), sfpanel fits:

ix) the Schmidt and Sickles (1984) model in which alpha_i can be either fixed or random.

Options for True fixed-effects model (Greene, 2005)

Inefficiency distribution

distribution(distname) specifies the distribution for the inefficiency term
as half-normal (hnormal), truncated-normal (tnormal) or exponential.
The default is exponential.

Ancillary equations

emean(varlist_m [,noconstant]) may be used only with distribution(tnormal).
With this option, sfpanel specifies the mean of the truncated-normal distribution in terms of a linear function of the covariates defined in varlist_m.
Specifying noconstant suppresses the constant in this function.

usigma(varlist_u [,noconstant])
specifies that the inefficiency component is heteroskedastic,
with the variance expressed as a function of the covariates defined in
varlist_u. Specifying noconstant suppresses the
constant term in this function.

vsigma(varlist_v [,noconstant])
specifies that the idiosyncratic error component is heteroskedastic,
with the variance expressed as a function of the covariates defined in
varlist_v. Specifying noconstant suppresses the
constant term in this function.

Starting values

svfrontier() specifies a 1 X k vector of starting values for the frontier. The vector must have the same length as
there are parameters to estimate in the frontier equation.

svemean() specifies a 1 X k_m vector of starting values for variables parameterizing the truncation mean of the inefficiency term. It
cannot be used when the distribution of the inefficiency term is exponential or half-normal.

svusigma() specifies a 1 X k_u vector of starting values for variables parameterizing the variance of the inefficiency term.

svvsigma() specifies a 1 X k_v vector of starting values for variables parameterizing the variance of the idiosyncratic term.

nosearch determines that no attempts are made to improve on the initial
values via a search technique. In this case, the initial values become the
starting values.

restart determines that the random method of improving initial values is
to be attempted. See also moptimize_init_search()

repeat(#) controls how many times random values are tried if the random method is turned
on. The default is 10.

rescale determines whether rescaling is attempted. Rescaling is a deterministic method.
It also usually improves initial values, and usually reduces the number of subsequent iterations
required by the optimization technique.

By default the starting values come from an equivalent cross-sectional frontier model.
For instance, if inefficiency has a truncated-normal distribution and the random shock is a function of some variables,
sfpanel will first run sfcross with a truncated-normal distribution and the vsigma(varlist_v) option.
The estimated coefficients are used as starting values.

Other

cost specifies that sfpanel fits a cost frontier model.

constraints(constraints) applies specified linear constraints.

SE

vce(vcetype) specifies the type of standard error reported, which includes types that are derived from asymptotic theory and
that use bootstrap or jackknife methods; see [R] vce_option.

Reporting

feshow allows the user to display estimates of individual fixed-effects, along with structural parameters.

level(#); see [R] estimation options.

nocnsreport; see [R] estimation options.

nowarning specifies whether the warning message "convergence not achieved" should
not be displayed when this stopping rule is invoked. By default the message is displayed.

postscore saves an observation-by-observation matrix of scores in the estimation results list.
Scores are defined as the derivative of the objective function with respect to the parameters.
This option cannot be used when the size of the scores' matrix is greater than Stata matrix limit; see [R] limits.

posthessian saves the Hessian matrix corresponding to the full set of coefficients
in the estimation results list.

display_options:
noomitted,
vsquish,
noemptycells,
baselevels,
allbaselevels;
see [R] estimation options.

Maximization

maximize_options: difficult, technique(algorithm_spec),
iterate(#), [no]log, trace, gradient,
showstep, hessian, showtolerance, tolerance(#),
ltolerance(#), nrtolerance(#),
nonrtolerance; see [R] maximize. These
options are seldom used.

Options for True random-effects model (Greene, 2005)

Inefficiency distribution

distribution(distname) specifies the distribution for the inefficiency term
as half-normal (hnormal), truncated-normal (tnormal) or exponential.
The default is exponential.

Ancillary equations

emean(varlist_m [,noconstant]) may be used only with distribution(tnormal).
With this option, sfpanel specifies the mean of the truncated-normal distribution in terms of a linear function of the covariates defined in varlist_m.
Specifying noconstant suppresses the constant in this function.

usigma(varlist_u [,noconstant])
specifies that the inefficiency component is heteroskedastic,
with the variance expressed as a function of the covariates defined in
varlist_u. Specifying noconstant suppresses the
constant term in this function.

vsigma(varlist_v [,noconstant])
specifies that the idiosyncratic error component is heteroskedastic,
with the variance expressed as a function of the covariates defined in
varlist_v. Specifying noconstant suppresses the
constant term in this function.

Starting values

svfrontier() specifies a 1 X k vector of starting values for the frontier. The vector must have the same length as
there are parameters to estimate in the frontier equation.

svusigma() specifies a 1 X k_u vector of starting values for variables parameterizing the variance of the inefficiency term.

svvsigma() specifies a 1 X k_v vector of starting values for variables parameterizing the variance of the idiosyncratic term.

nosearch determines that no attempts are made to improve on the initial
values via a search technique. In this case, the initial values become the
starting values.

restart determines that the random method of improving initial values is
to be attempted. See also moptimize_init_search()

repeat(#) controls how many times random values are tried if the random method is turned
on. The default is 10.

rescale determines whether rescaling is attempted. Rescaling is a deterministic method.
It also usually improves initial values, and usually reduces the number of subsequent iterations
required by the optimization technique.

By default the starting values come from an equivalent cross-sectional frontier model.
For instance, if inefficiency has a truncated-normal distribution and the random shock is a function of some variables,
sfpanel will first run sfcross with a truncated-normal distribution and the vsigma(varlist_v) option.
The estimated coefficients are used as starting values.

Other

noconstant; see
[R] estimation options.

cost specifies that sfpanel fits a cost frontier model.

constraints(constraints) applies specified linear constraints.

simtype(simtype) specifies the method to generate random draws.
runiform generates uniformly distributed random variates; halton and genhalton create
respectively Halton sequences and generalized Halton sequences where the base is expressed by the prime
number in base(#). runiform is the default. See also mf_halton for more details on Halton sequences generation.

nsimulations(#) specifies the number of draws for simulation. The default is 250.

base(#) specifies the number, preferably a prime, used as a base for the generation of Halton sequences and
generalized Halton sequences. The default is 7. Note that Halton sequences
based on large primes (#>10) can be highly correlated, and their coverage
worse than that of pseudorandom uniform sequences.

SE

vce(vcetype) specifies the type of standard error reported, which includes types that are derived from asymptotic theory and
that use bootstrap or jackknife methods; see [R] vce_option.

Reporting

level(#); see
[R] estimation options.

nocnsreport; see
[R] estimation options.

nowarning specifies whether the warning message "convergence not achieved" should
not be displayed when this stopping rule is invoked. By default the message is displayed.

postscore saves an observation-by-observation matrix of scores in the estimation results list.
Scores are defined as the derivative of the objective function with respect to the coefficients.
This option cannot be used when the size of the scores' matrix is greater than Stata matrix limit; see [R] limits.

posthessian saves the Hessian matrix corresponding to the full set of coefficients
in the estimation results list.

display_options:
noomitted,
vsquish,
noemptycells,
baselevels,
allbaselevels;
see [R] estimation options.

Maximization

maximize_options: difficult, technique(algorithm_spec), iterate(#), [no]log, trace, gradient,
showstep, hessian, showtolerance, tolerance(#), ltolerance(#), nrtolerance(#),
nonrtolerance; see [R] maximize. These options are seldom used.

Options for ML random-effects time-varying inefficiency effects model (Battese and Coelli, 1995)

Ancillary equations

emean(varlist_m [,noconstant]) fits the Battese and Coelli (1995)
conditional mean model in which the mean of the truncated-normal distribution is expressed
as a linear function of the covariates specified in varlist_m.
Specifying noconstant suppresses the constant in this function.

usigma(varlist_u [,noconstant])
specifies that the inefficiency component is heteroskedastic,
with the variance expressed as a function of the covariates defined in
varlist_u. Specifying noconstant suppresses the
constant term in this function.

vsigma(varlist_v [,noconstant])
specifies that the idiosyncratic error component is heteroskedastic,
with the variance expressed as a function of the covariates defined in
varlist_v. Specifying noconstant suppresses the
constant term in this function.

Starting values

svfrontier() specifies a 1 X k vector of starting values for the frontier. The vector must have the same length as
there are parameters to estimate in the frontier equation.

svemean() specifies a 1 x k_m vector of initial values for the coefficients of the conditional mean model.

svusigma() specifies a 1 X k_u vector of starting values for variables parameterizing the variance of the inefficiency term.

svvsigma() specifies a 1 X k_v vector of starting values for variables parameterizing the variance of the idiosyncratic term.

nosearch determines that no attempts are made to improve on the initial
values via a search technique. In this case, the initial values become the
starting values.

restart determines that the random method of improving initial values is
to be attempted. See also moptimize_init_search()

repeat(#) controls how many times random values are tried if the random method is turned
on. The default is 10.

rescale determines whether rescaling is attempted. Rescaling is a deterministic method.
It also usually improves initial values, and usually reduces the number of subsequent iterations
required by the optimization technique.

Other

noconstant; see
[R] estimation options.

cost specifies that sfpanel fits a cost frontier model.

constraints(constraints) applies specified linear constraints.

SE

vce(vcetype) specifies the type of standard error reported, which includes types that are derived from asymptotic theory and
that use bootstrap or jackknife methods; see [R] vce_option.

Reporting

level(#); see [R] estimation options.

nocnsreport; see [R] estimation options.

nowarning specifies whether the warning message "convergence not achieved" should
not be displayed when this stopping rule is invoked. By default the message is displayed.

postscore saves an observation-by-observation matrix of scores in the estimation results list.
Scores are defined as the derivative of the objective function with respect to the parameters.
This option cannot be used when the size of the scores' matrix is greater than Stata matrix limit; see [R] limits.

posthessian saves the Hessian matrix corresponding to the full set of coefficients
in the estimation results list.

display_options:
noomitted,
vsquish,
noemptycells,
baselevels,
allbaselevels;
see [R] estimation options.

Maximization

maximize_options: difficult, technique(algorithm_spec), iterate(#), [no]log, trace, gradient,
showstep, hessian, showtolerance, tolerance(#),ltolerance(#), nrtolerance(#),
nonrtolerance; see [R] maximize.
These options are seldom used.

Options for Iterative Least Squares time-varying fixed-effects model (Lee and Schmidt, 1993)

cost specifies that sfpanel fits a cost frontier model.

SE

vce(vcetype) specifies the type of standard error reported, which includes types that are derived from asymptotic theory and
that use bootstrap or jackknife methods; see [R] vce_option.

Reporting

level(#); see [R] estimation options.

display_options:
noomitted,
vsquish,
noemptycells,
baselevels,
allbaselevels;
see [R] estimation options.

Options for ML random-effects time-varying efficiency decay model (Battese and Coelli, 1992)

Starting values

svfrontier() specifies a 1 X k vector of starting values for the frontier. The vector must have the same length as
there are parameters to estimate in the frontier equation.

svemean() specifies a starting value for the truncation mean of the inefficiency term.

svsigma() specifies a starting value for the sigma parameter.

svgamma() specifies a starting value for the gamma parameter.

sveta() specifies a starting value for the variable controlling the behavior of the firm effects over time.

nosearch determines that no attempts are made to improve on the initial
values via a search technique. In this case, the initial values become the
starting values.

restart determines that the random method of improving initial values is
to be attempted. See also moptimize_init_search()

repeat(#) controls how many times random values are tried if the random method is turned
on. The default is 10.

rescale determines whether rescaling is attempted. Rescaling is a deterministic method.
It also usually improves initial values, and usually reduces the number of subsequent iterations
required by the optimization technique.

Other

noconstant; see
[R] estimation options.

cost specifies the frontier model be fit in terms of a cost function
instead of a production function. By default, sfpanel fits a
production frontier model.

constraints(constraints) applies specified linear constraints.

SE

vce(vcetype) specifies the type of standard error reported, which includes types that are derived from asymptotic theory and
that use bootstrap or jackknife methods; see [R] vce_option.

Reporting

level(#); see [R] estimation options.

nocnsreport; see [R] estimation options.

nowarning specifies whether the warning message "convergence not achieved" should
not be displayed when this stopping rule is invoked. By default the message is displayed.

postscore saves an observation-by-observation matrix of scores in the estimation results list.
Scores are defined as the derivative of the objective function with respect to the coefficients.
This option cannot be used when the size of the scores' matrix is greater than Stata matrix limit; see [R] limits.

posthessian saves the Hessian matrix corresponding to the full set of coefficients
in the estimation results list.

display_options:
noomitted,
vsquish,
noemptycells,
baselevels,
allbaselevels;
see [R] estimation options.

Maximization

maximize_options: difficult, technique(algorithm_spec), iterate(#), [no]log, trace, gradient,
showstep, hessian, showtolerance, tolerance(#),ltolerance(#), nrtolerance(#),
nonrtolerance; see [R] maximize.
These options are seldom used.

Options for ML random-effects flexible time-varying efficiency model (Kumbhakar, 1990)

Ancillary equations

bt(varlist_bt [,noconstant]) fits a model
that allows a flexible specification of inefficiency handling different types of time behavior, using the formulation
u_it=u_i*(1+exp(varlist_bt))^(-1).
Typically explanatory variables in varlist_bt are represented by a polynomial in time.
Specifying noconstant suppresses the constant in the function.
The default includes a linear and a quadratic term in time without the constant, as in Kumbhakar (1990).

Starting values

svfrontier() specifies a 1 X k vector of starting values for the frontier. The vector must have the same length as
there are parameters to estimate in the frontier equation.

svbt() specifies a 1 x k_bt vector of initial values for the coefficients of the time function controlling the behavior of the firm effects.

svusigma() specifies a starting value for the parameter of the variance of the inefficiency term.

svvsigma() specifies a starting value for the parameter of the variance of the idiosyncratic term.

nosearch determines that no attempts are made to improve on the initial
values via a search technique. In this case, the initial values become the
starting values.

restart determines that the random method of improving initial values is
to be attempted. See also moptimize_init_search()

repeat(#) controls how many times random values are tried if the random method is turned
on. The default is 10.

rescale determines whether rescaling is attempted. Rescaling is a deterministic method.
It also usually improves initial values, and usually reduces the number of subsequent iterations
required by the optimization technique.

Other

noconstant; see
[R] estimation options.

cost specifies the frontier model be fit in terms of a cost function
instead of a production function. By default, sfpanel fits a
production frontier model.

constraints(constraints) applies specified linear constraints.

SE

vce(vcetype) specifies the type of standard error reported, which includes types that are derived from asymptotic theory and
that use bootstrap or jackknife methods; see [R] vce_option.

Reporting

level(#); see [R] estimation options.

nocnsreport; see [R] estimation options.

nowarning specifies whether the warning message "convergence not achieved" should
not be displayed when this stopping rule is invoked. By default the message is displayed.

postscore saves an observation-by-observation matrix of scores in the estimation results list.
Scores are defined as the derivative of the objective function with respect to the coefficients.
This option cannot be used when the size of the scores' matrix is greater than Stata matrix limit; see [R] limits.

posthessian saves the Hessian matrix corresponding to the full set of coefficients
in the estimation results list.

display_options:
noomitted,
vsquish,
noemptycells,
baselevels,
allbaselevels;
see [R] estimation options.

Maximization

maximize_options: difficult, technique(algorithm_spec), iterate(#), [no]log, trace, gradient,
showstep, hessian, showtolerance, tolerance(#),ltolerance(#), nrtolerance(#),
nonrtolerance; see [R] maximize.
These options are seldom used.

Modified-LSDV time-varying fixed-effects model (Cornwell, Schmidt and Sickles, 1990)

cost specifies that sfpanel fits a cost frontier model.

SE

vce(vcetype) specifies the type of standard error reported, which includes types that are derived from asymptotic theory and
that use bootstrap or jackknife methods; see [R] vce_option.

Reporting

level(#); see [R] estimation options.

display_options:
noomitted,
vsquish,
noemptycells,
baselevels,
allbaselevels;
see [R] estimation options.

ML random-effects model with time-invariant efficiency (Battese and Coelli, 1988)

Starting values

svfrontier() specifies a 1 X k vector of starting values for the frontier. The vector must have the same length as
there are parameters to estimate in the frontier equation.

svemean() specifies a starting value for the truncation mean of the inefficiency term.

svsigma() specifies a starting value for the sigma parameter.

svgamma() specifies a starting value for the gamma parameter.

nosearch determines that no attempts are made to improve on the initial
values via a search technique. In this case, the initial values become the
starting values.

restart determines that the random method of improving initial values is
to be attempted. See also moptimize_init_search()

repeat(#) controls how many times random values are tried if the random method is turned
on. The default is 10.

rescale determines whether rescaling is attempted. Rescaling is a deterministic method.
It also usually improves initial values, and usually reduces the number of subsequent iterations
required by the optimization technique.

Other

noconstant; see
[R] estimation options.

cost specifies the frontier model be fit in terms of a cost function
instead of a production function. By default, sfpanel fits a
production frontier model.

constraints(constraints) applies specified linear constraints.

SE

vce(vcetype) specifies the type of standard error reported, which includes types that are derived from asymptotic theory and
that use bootstrap or jackknife methods; see [R] vce_option.

Reporting

level(#); see [R] estimation options.

nocnsreport; see [R] estimation options.

nowarning specifies whether the warning message "convergence not achieved" should
not be displayed when this stopping rule is invoked. By default the message is displayed.

postscore saves an observation-by-observation matrix of scores in the estimation results list.
Scores are defined as the derivative of the objective function with respect to the coefficients.
This option cannot be used when the size of the scores' matrix is greater than Stata matrix limit; see [R] limits.

posthessian saves the Hessian matrix corresponding to the full set of coefficients
in the estimation results list.

display_options:
noomitted,
vsquish,
noemptycells,
baselevels,
allbaselevels;
see [R] estimation options.

Maximization

maximize_options: difficult, technique(algorithm_spec), iterate(#), [no]log, trace, gradient,
showstep, hessian, showtolerance, tolerance(#), ltolerance(#), nrtolerance(#),
nonrtolerance; see [R] maximize. These options are seldom used.

ML random-effects model with time-invariant efficiency (Pitt and Lee, 1981)

Starting values

svfrontier() specifies a 1 X k vector of starting values for the frontier. The vector must have the same length as
there are parameters to estimate in the frontier equation.

svusigma() specifies a starting value for the parameter of the variance of the inefficiency term.

svvsigma() specifies a starting value for the parameter of the variance of the idiosyncratic term.

nosearch determines that no attempts are made to improve on the initial
values via a search technique. In this case, the initial values become the
starting values.

restart determines that the random method of improving initial values is
to be attempted. See also moptimize_init_search()

repeat(#) controls how many times random values are tried if the random method is turned
on. The default is 10.

rescale determines whether rescaling is attempted. Rescaling is a deterministic method.
It also usually improves initial values, and usually reduces the number of subsequent iterations
required by the optimization technique.

Other

noconstant; see
[R] estimation options.

cost specifies the frontier model be fit in terms of a cost function
instead of a production function. By default, sfpanel fits a
production frontier model.

constraints(constraints) applies specified linear constraints.

SE

vce(vcetype) specifies the type of standard error reported, which includes types that are derived from asymptotic theory and
that use bootstrap or jackknife methods; see [R] vce_option.

Reporting

level(#); see [R] estimation options.

nocnsreport; see [R] estimation options.

nowarning specifies whether the warning message "convergence not achieved" should
not be displayed when this stopping rule is invoked. By default the message is displayed.

postscore saves an observation-by-observation matrix of scores in the estimation results list.
Scores are defined as the derivative of the objective function with respect to the coefficients.
This option cannot be used when the size of the scores' matrix is greater than Stata matrix limit; see [R] limits.

posthessian saves the Hessian matrix corresponding to the full set of coefficients
in the estimation results list.

display_options:
noomitted,
vsquish,
noemptycells,
baselevels,
allbaselevels;
see [R] estimation options.

Maximization

maximize_options: difficult, technique(algorithm_spec), iterate(#), [no]log, trace, gradient,
showstep, hessian, showtolerance, tolerance(#), ltolerance(#), nrtolerance(#),
nonrtolerance; see [R] maximize. These options are seldom used.

Options for GLS random-effects model

Model

noconstant; see
[R] estimation options.

cost specifies the frontier model be fit in terms of a cost function
instead of a production function. By default, sfpanel fits a
production frontier model.

SE

vce(vcetype) specifies the type of standard error reported, which includes types that are derived from asymptotic theory and
that use bootstrap or jackknife methods; see [R] vce_option.

Reporting

level(#); see
[R] estimation options.

display_options:
noomitted,
vsquish,
noemptycells,
baselevels,
allbaselevels;
see [R] estimation options.

Options for Fixed-effects model

Model

cost specifies the frontier model be fit in terms of a cost function
instead of a production function. By default, sfpanel fits a
production frontier model.

constraints(constraints) applies specified linear constraints.

SE

vce(vcetype) specifies the type of standard error reported, which includes types that are derived from asymptotic theory and
that use bootstrap or jackknife methods; see [R] vce_option.

Reporting

level(#); see
[R] estimation options.

display_options:
noomitted,
vsquish,
noemptycells,
baselevels,
allbaselevels;
see [R] estimation options.

Remarks

sveqname() specifies initial values for the coefficients of eqname. You can specify the initial values in one of three ways:
1) by specifying the name of a vector contained in the initial values (e.g. svfrontier(b0), where b0 is a conformable
vector); 2) by specifying coefficient names with the values in the same order as they appear in the command syntax
(e.g. svfrontier(x1=.5 x2=.3 _cons=1), if sfpanel y x1 x2); 3) or by specifying a list of values
(e.g. svfrontier(.5 .3 1).

Examples

Setup

. webuse xtfrontier1, clear

Time-varying models:

- Greene (2005), True fixed-effects model

. sfpanel lnwidgets lnmachines lnworkers, model(tfe) dist(exp) usigma(lnworkers)

. constraint define 1 lnmachines + lnworkers = .5

. sfpanel lnwidgets lnmachines lnworkers, model(tfe) dist(exp) constraint(1)

- Greene (2005), True random-effects model

. sfpanel lnwidgets lnmachines lnworkers, model(tre) dist(hnormal) usigma(lnworkers) difficult rescale nsim(50) simtype(genhalton)

- Battese and Coelli (1995)

. sfpanel lnwidgets lnmachines lnworkers, model(bc95) emean(lnworkers)

- Battese and Coelli (1992)

. sfpanel lnwidgets lnmachines lnworkers

- Lee and Schmidt (1993)

. sfpanel lnwidgets lnmachines lnworkers, model(fels)

- Kumbhakar (1990)

. sfpanel lnwidgets lnmachines lnworkers, model(kumb90) rescale difficult

. sfpanel lnwidgets lnmachines lnworkers, model(kumb90) bt(t, nocons) rescale difficult

- Cornwell et al. (1990)

. sfpanel lnwidgets lnmachines lnworkers, model(fecss)

Time-invariant models:

- Battese and Coelli (1988)

. sfpanel lnwidgets lnmachines lnworkers, model(bc88)

- Schmidt and Sickles (1984)

. constraint define 1 lnmachines + lnworkers = .5

. sfpanel lnwidgets lnmachines lnworkers, model(fe) constraint(1)

. sfpanel lnwidgets lnmachines lnworkers, model(regls)

- Pitt and Lee (1981)

. sfpanel lnwidgets lnmachines lnworkers, model(pl81)

Saved results

sfpanel saves the following in e():

Scalars

e(N) number of observations

e(N_g) number of groups

e(k) number of estimated parameters

e(k_eq) number of equations

e(k_dv) number of dependent variables

e(k_autoCns) number of base, empty, and omitted constraints

e(df_m) model degrees of freedom

e(ll) log likelihood

e(g_min) minimum number of observations per group

e(g_avg) average number of observations per group

e(g_max) maximum number of observations per group

e(sigma2) sigma2

e(gamma) gamma

e(sigma_u) standard deviation of inefficiency

e(sigma_v) standard deviation of V_i

e(avg_sigmau) average standard deviation of inefficiency

e(avg_sigmav) average standard deviation of V_i

e(lambda) signal to noise ratio

e(Tcon) 1 if panels balanced; 0 otherwise

e(chi2) chi-squared

e(p) model significance

e(rank) rank of e(V)

e(ic) number of iterations

e(rc) return code

e(converged) 1 if converged, 0 otherwise

Macros

e(cmd) sfpanel

e(cmdline) command as typed

e(title) title in estimation output

e(function) production or cost

e(depvar) name of dependent variable

e(covariates) name of independent variables

e(model) name of specified model

e(ivar) variable denoting groups

e(tvar) variable denoting time

e(crittype) optimization criterion

e(dist) distribution assumption for U_i

e(het) heteroskedastic components

e(Emean) varlist in emean()

e(Usigma) varlist in usigma()

e(Vsigma) varlist in vsigma()

e(simtype) method to produce random draws

e(base) base number to generate Halton sequences

e(nsim) number of random draws

e(predict) program used to implement predict

e(opt) type of optimization

e(user) name of likelihood-evaluator program

e(ml_method) type of ml method

e(singularHmethod) m-marquardt or hybrid; method used when Hessian is singular

e(technique) maximization technique

e(which) max or min; whether optimizer is to perform maximization or minimization

e(wtype) weight type

e(wexp) weight expression

e(chi2type) Wald; type of model chi-squared test

e(vce) vcetype specified in vce()

e(vcetype) title used to label Std. Err.

e(contraints) list of specified constraints

e(properties) b V

Matrices

e(b) coefficient vector

e(Cns) constraints matrix

e(ilog) iteration log (up to 20 iterations)

e(gradient) gradient vector

e(V) variance-covariance matrix of the estimators

e(V_modelbased) model-based variance

e(postscore) observation-by-observation scores

e(posthessian) Hessian corresponding to the full set of coefficients

Functions

e(sample) marks estimation sample

Authors

Federico Belotti

Centre for Economic and International Studies, University of Rome Tor Vergata

Rome, Italy

federico.belotti@uniroma2.it

Silvio Daidone

Centre for Health Economics, University of York

York, UK

silvio.daidone@york.ac.uk

Vincenzo Atella

Centre for Economic and International Studies, University of Rome Tor Vergata

Rome, Italy

atella@uniroma2.it

Giuseppe Ilardi

Economic and Financial Statistics Department, Bank of Italy

Rome, Italy

giuseppe.ilardi@bancaditalia.it

Also see

Help: sfpanel_postestimation, sfcross, sfcross_postestimation.