Learn R Programming

frontier (version 1.1-8)

efficiencies.frontier: Returning Efficiency Estimates

Description

This method returns efficiency estimates from stochastic frontier models estimated with frontier.

Usage

# S3 method for frontier
efficiencies( object, asInData = FALSE,
   logDepVar = TRUE, minusU = farrell, farrell = TRUE, 
   margEff = FALSE, newdata = NULL, … )

Arguments

object

a stochastic frontier model returned by frontier.

asInData

logical. If TRUE, the efficiency estimates are returned in the same order as the corresponding observations in the data set used for the estimation (see section ‘value’ below).

logDepVar

logical. Is the dependent variable logged?

minusU

logical. If TRUE (the default), the efficiencies are calculated by E[exp(-u)], i.e. Farrel-type efficiencies are returned for input-oriented models, Shepard-type efficiencies are returned for output-oriented models, and the returned efficiency estimates have values between zero and one, where a one indicates a fully efficient firm and a zero indicates a fully inefficient firm. If FALSE, the efficiencies are calculated by E[exp(u)], i.e. Shepard-type efficiencies are returned for input-oriented models, Farrell-type efficiencies are returned for output-oriented models, and the returned efficiency estimates have values larger than or equal to one, where a one indicates a fully efficient firm and plus infinity indicates a fully inefficient firm.

farrell

logical. This argument is only kept for backward compatibility and will be removed in the future.

margEff

logical. If TRUE, the marginal effects of the \(z\) variables (of an Efficiency Effects Frontier, EEF) on the efficiency measure are returned as an ‘attribute’ to the returned object (i.e. the efficiency estimates). These marginal effects are calculated by the formula derived in Olsen and Henningsen (2011), which was slightly adjusted for the differing model specifications. Currently, this feature is implemented only for models with logged dependent variables.

newdata

an optional data frame from which the values of explanatory variables and the dependent variable are taken to calculate the efficiency estimates. If this argument is NULL (the default), the efficiency estimates are calculated for the observations that were used in the estimation.

currently ignored.

Value

If argument asInData is FALSE (default), a matrix of efficiency estimates is returned, where each row corresponds to a firm (cross-section unit) and each column corresponds to a time period (only if efficiency estimates differ between time periods).

If argument asInData is TRUE, a vector of efficiency estimates is returned, where the efficiency estimates are in the same order as the corresponding observations in the data set used for the estimation.

If argument margEff is TRUE, and the model is an Efficiency Effects Frontier (EFF) with \(z\) variables, and the dependent variable is logged, the returned efficiency estimates have an attribute "margEff" that contains the marginal effects of the \(z\) variables on the efficiency measure.

If the dependent variable is logged, the marginal effect of the \(k\)th \(z\) variable on the efficiency is $$\frac{\partial E[ \exp( - \kappa \, u ) ]}{\partial z_{kit}} = \frac{ \delta_{k} ( 1 - \gamma ) \exp \left( - \kappa \, \bar{\mu}_{it} + \frac{1}{2} \bar{\sigma}^{2} \right) }{ \Phi \left( \frac{\bar{\mu}_{it}}{ \bar{\sigma} } \right) }$$ $$ \cdot \left( \frac{ \phi \left( -\kappa \, \bar{\sigma} + \frac{ \bar{\mu}_{it} }{ \bar{\sigma} } \right) }{ \bar{\sigma} } - \frac{ \Phi \left( -\kappa \, \bar{\sigma} + \frac{ \bar{\mu}_{it} }{ \bar{\sigma} } \right) \, \phi \left( \frac{ \bar{\mu}_{it} }{ \bar{\sigma} } \right)}{ \bar{\sigma} \, \Phi \left( \frac{ \bar{\mu}_{it} }{ \bar{\sigma}}\right) } - \kappa \, \Phi \left( -\kappa \, \bar{\sigma} + \frac{ \bar{\mu}_{it} }{ \bar{\sigma} } \right) \right), $$ where $$ \bar{\mu}_{it} = ( 1 - \gamma ) \, z_{it} ' \delta - \tau \, \gamma \, \epsilon_{it},$$ $$ \bar{\sigma}^{2} = \gamma \, ( 1 - \gamma ) \, \sigma^{2},$$ \(\kappa = 1\) in case of Farrell efficiencies (i.e. efficiencies have values between between 0 and 1), whereas \(\kappa = -1\) otherwise (i.e. efficiencies have values larger than 1), and \(\tau = 1\) if inefficiency decreases the dependent variable, whereas \(\tau = -1\) otherwise (see Olsen and Henningsen 2011).

If argument asInData is FALSE, this attribute is a 3-dimensional array, where the first dimension represents the individual firm, the second deminsion represents the time period, and the third dimension represents the \(z\) variables. In contrast, if argument asInData is TRUE, this attribute is a matrix, where the rows represent the observations and the columns represent the \(z\) variables.

References

Olsen, Jakob Vesterlund and Arne Henningsen (2011): Investment utilization and farm efficiency in Danish agriculture. FOI working paper 2011/13, Institute of Food and Resource Economics, University of Copenhagen, http://EconPapers.repec.org/RePEc:foi:wpaper:2011_13.

See Also

sfa, summary.frontier, and efficiencies.

Examples

Run this code
# NOT RUN {
   # rice producers in the Philippines (panel data)
   data( "riceProdPhil" )
   library( "plm" )
   riceProdPhil <- pdata.frame( riceProdPhil, c( "FMERCODE", "YEARDUM" ) )

   # Error Components Frontier (Battese & Coelli 1992), no time effect
   rice <- sfa( log( PROD ) ~ log( AREA ) + log( LABOR ) + log( NPK ),
      data = riceProdPhil )
   efficiencies( rice )
   riceProdPhil$efficiencies <- efficiencies( rice, asInData = TRUE )

   # efficiency of an 'average' farm
   efficiencies( rice, 
      newdata = data.frame( t( colMeans( riceProdPhil[ , -c(1,2) ] ) ) ) )

   # Error Components Frontier (Battese & Coelli 1992), with time effect
   riceTime <- sfa( log( PROD ) ~ log( AREA ) + log( LABOR ) + log( NPK ),
      data = riceProdPhil, timeEffect = TRUE )
   efficiencies( riceTime )
   riceProdPhil$efficienciesTime <- efficiencies( riceTime, asInData = TRUE )
   
   # Technical Efficiency Effects Frontier (Battese & Coelli 1995)
   rice2 <- sfa( log( PROD ) ~ log( AREA ) + log( LABOR ) + log( NPK ) |
      EDYRS + BANRAT - 1, data = riceProdPhil )
   eff <- efficiencies( rice2, margEff = TRUE )
   attr( eff, "margEff" )   # marginal effects
# }

Run the code above in your browser using DataLab