sfaendog {sfadv}R Documentation

Stochastic frontier analysis with technical inefficiency effects
and endogeneity of one input

Description

It implements a Method of Moments (MM) estimation of stochastic production frontier with explanatory variables influencing technical inefficiency (i.e. the technical inefficiency effects) and accounting for one single endogenous input.

Usage

sfaendog(y, x.exo, x.endo, c.var, ineff, inst, data, nls.algo = c("GN", "LM"), 
      gmm.kernel = c("Bartlett", "Quadratic Spectral", "Truncated", "Parzen", 
      "Tukey-Hanning"), gmm.optim = c("BFGS", "Nelder-Mead", "CG", "SANN"), 
      maxiter = 100)

Arguments

y

A character string specifying the name of the dependent variable of the production function (output). Values of the y variable will be internally coerced to their logged values.

x.exo

A vector of strings containing the names of the exogenous inputs of the production function. Values of the x.exo variables will be internally coerced to their logged values.

x.endo

A character string specifying the name of the input of the production function considered as endogenous. Values of the the x.endo variable will be internally coerced to their logged values.

c.var

A vector of strings containing the names of non-input variables influencing the output (production environment conditions, time trend, etc.).

ineff

A vector of strings containing the names of the variables influencing technical inefficiency.

inst

A vector of strings containing the names of the external instrumental variables.

data

A data frame containing the variables called in y, x.exo, x.endo, c.var, ineff and inst.

nls.algo

A character string specifying the algorithm used in the Non-linear Least Squares (NLS) estimation (see Estimation 'recipe'). The default algorithm is the Gauss-Newton algorithm ("GN"). The other possible value is "LM" for the Levenberg-Marquardt algorithm.
Levenberg-Marquardt being a more robust variation of Gauss-Newton algorithm, specifiying nls.algo = "LM" may help in case of non convergence.

gmm.kernel

A character string specifying the type of kernel used to compute the covariance matrix of the vector of sample moment conditions in the Generalised Method of Moments (GMM) estimations (see Estimation 'recipe'). The default value is "Bartlett" kernel. Other possible options are "Quadratic Spectral", "Truncated", "Parzen", or "Tukey-Hanning" (see gmm for more details).

gmm.optim

A character string specifying the optimisation method to be applied in the GMM estimations (see Estimation 'recipe'). The default value ("BFGS") is the quasi-Newton method. Other possibles methods are "Nelder-Mead", "CG", "SANN" (see optim for more details).

maxiter

A positive integer specifying the maximum number of iterations allowed for the NLS and GMM estimations. The default value is 100.

Details

The function sfaendog() implements the 4-step ‘recipe’ detailed in Latruffe et al. (2017, p.788).

The use of basic formula operators generally involved in model formulae, such as ":", "*", or "^", are allowed in x.exo, x.endo, c.var, ineff and inst.
As in function formula, the function I() can also be used to inhibit the interpretation of operators such as "+", "-", "*" and "^" as formula operators, so that they are used as arithmetical operators.

- Stochastic production frontier model with a single endogenous input

sfaendog() assumes a Cobb-Douglas functional form for the production frontier.

In this case, the stochastic frontier production model is written as:

\ln\textrm{y}=\boldsymbol{\alpha'}_0\ln\textbf{x}-\eta\exp(\boldsymbol{\theta'}_0 \textbf{z})+\textrm{v}

where \textrm{ln} is the log; \textrm{y} is the observed output; \boldsymbol{\alpha}_0 and \boldsymbol{\theta}_0 are vectors of parameters to be estimated; \textbf{x} is a vector containing the inputs as well as a constant term one; \textrm{v} is a random term which accounts for the effects of unobserved heterogeneity across observations and for stochastic events affecting the production process; \eta\exp(\boldsymbol{\theta'}_0\textbf{z}) is a non-negative term accounting for the presence of technical inefficiency; \textbf{z} is a vector of variables influencing technical inefficiency (the inefficiency effects), including a constant term one; and \eta is a positive random term with mean one.

If all inputs are exogenous, the above equation can be estimated by NLS.

sfaendog() accounts for the endogeneity of one input, with a MM estimator based on Chamberlain's (1987) ‘efficient instruments’. In the case of endogeneity of one input, the stochastic frontier production model defined above can be rewritten as:

\ln\textrm{y}=\boldsymbol{\alpha}_{\textup{x},0}\ln\mathbf{x}_x+\alpha_{e,0}\ln{x_e}- \eta\exp(\boldsymbol{\theta'}_0\textbf{z})+\textrm{v}

where \mathbf{x}_x is the vector containing the exogenous inputs and the constant term one; x_e is the endogenous input; and the subscript 0 denotes the ‘true’ parameters value. The vector of exogenous variables is denoted by \textbf{w}=(\ln\textbf{x}_x,\textbf{q},\textbf{z}) where \textbf{q} is the vector of external instrumental variables.

Assuming that E[\textrm{v}|\textbf{w}]=0, and that \eta and (\textrm{v},\textbf{w}) are independent, the stochastic frontier production model can be rewritten as:

\ln\textrm{y}=\boldsymbol{\alpha}_{\textup{x},0}\ln\mathbf{x}_x+\alpha_{e,0}\ln{x_e}- \exp(\boldsymbol{\theta'}_0\textbf{z})+e\;\;\textrm{with}\;\;E[e|\textbf{w}]=0

where the error term e is defined as e\equiv e(\boldsymbol{\delta}_0)=\ln\textrm{y}-\boldsymbol{\alpha}_{\textup{x},0}\ln\textbf{x}_x -\alpha_{e,0}\ln{x_e}+\exp(\boldsymbol{\theta'}_0\textbf{z})

- Estimation 'recipe'

The estimation 'recipe' detailed in Latruffe et al. (2017, p.788) and implemented through sfaendog() consists in the following four steps:

Please note that, the applicability of default options in nls.algo, gmm.kernel, and gmm.optim is highly data-dependent and the user may have to play around with different options.

Value

sfaendog returns a list of class ⁠'sfaendog'⁠.

The object of class ⁠'sfaendog'⁠ is a list containing at least the following components:

Step1

Results of Step1 (see Estimation 'recipe'), inheriting from class ⁠'lm'⁠ for which details on components are given in lm.

FishTest

The list of external instrumental variables (inst) used in the specification, as well as Fisher test results showing the strength of these external instrumental variables.

Step2

Results of Step2b (see Estimation 'recipe'), inheriting from class ⁠'nls'⁠ for which details on components are given in nls.

Step3

Results of Step3 (see Estimation 'recipe'), inheriting from class ⁠'gmm'⁠ for which details on components are given in gmm.

Step4

Results of Step4 (see Estimation 'recipe'), inheriting from class ⁠'gmm'⁠ for which details on components are given in gmm.

The function summary is used to obtain and print a summary of the results.

Author(s)

Yann Desjeux, Laure Latruffe

References

Chamberlain G. (1987). Asymptotic Efficiency in Estimation with Conditional Moment Restrictions. Journal of Econometrics, 34(3), 305–334. https://doi.org/10.1016/0304-4076(87)90015-7

Latruffe L., Bravo-Ureta B.E., Carpentier A., Desjeux Y., and Moreira V.H. (2017). Subsidies and Technical Efficiency in Agriculture: Evidence from European Dairy Farms. American Journal of Agricultural Economics, 99(3), 783–799. https://doi.org/10.1093/ajae/aaw077

See Also

summary for creating and printing summary results.

Examples

## Not run: 
  y <- "farm_output"
  x.exo <- c("agri_land", "tot_lab", "tot_asset")
  x.endo <-  "costs"
  c.var <- c("LFA", "T", "I(T^2)")
  ineff <- c("hired_lab", "rented_land", "debt_asset", "subs", "region", "region:T")
  inst <- c("milkprice", "I(milkprice^2)", "price_ind", "milkprice:region")
  
  RES <- sfaendog(y, x.exo, x.endo, c.var, ineff, inst, data=Farms)
  
  summary(RES)
## End(Not run)

[Package sfadv version 1.0.1 Index]