cesEst {micEcon}R Documentation

Estimate a CES function

Description

Estimate a Constant-Elasticities-of-Scale (CES) function with two exogenous variables by Least Squares.

y = gamma * ( alpha * x1^rho + ( 1 - alpha ) * x2^rho )^(phi/rho)

where the elesticity of substitution is s = 1 / ( 1 - rho )

Warning: The econometric estimation of a CES function is (almost) always very problematic, because very different parameter vectors could result in very similar values of the objective function (sum of squared residuals). Hence, even if optim reports that the nonlinear minimization has converged, there might be another rather different parameter vector that results in a lower sum of squared residuals.

Usage

cesEst( yName, xNames, data, vrs = FALSE, ... )

Arguments

yName a string containing the name of the dependent variable.
xNames a vector of two strings containing the names of the independent variables.
data data frame containing the data.
vrs logical. Allow for variable returns to scale?
... further arguments are passed to optim.

Details

Analytical gradients are used (only) if the “BFGS”, “CG”, or “L-BFGS-B” method is used.

Value

A list of class cesEst. It is the object returned by optim plus following elements:

hessian Hessian matrix of the objective function with respect to the estimated parameters.
vcov covariance matrix of the estimated parameters.
call the matched call.

Author(s)

Arne Henningsen

See Also

translogEst and quadFuncEst.

Examples

   data( germanFarms )
   # output quantity:
   germanFarms$qOutput <- germanFarms$vOutput / germanFarms$pOutput
   # quantity of intermediate inputs
   germanFarms$qVarInput <- germanFarms$vVarInput / germanFarms$pVarInput

   ## CES: Land & Labor
   cesLandLabor <- cesEst( "qOutput", c( "land", "qLabor" ), germanFarms )

   # variable returns to scale
   cesLandLaborVrs <- cesEst( "qOutput", c( "land", "qLabor" ), germanFarms,
      vrs = TRUE )

   # using the BFGS optimization method
   cesLandLaborBfgs <- cesEst( "qOutput", c( "land", "qLabor" ), germanFarms,
      method = "BFGS" )

   # using the L-BFGS-B optimization method with constrained alpha
   cesLandLaborBfgsCon <- cesEst( "qOutput", c( "land", "qLabor" ),
      germanFarms, method = "L-BFGS-B", lower = c( -Inf, 0, -Inf ),
      upper = c( Inf, 1, Inf ) )

   # using the SANN optimization method
   cesLandLaborSann <- cesEst( "qOutput", c( "land", "qLabor" ), germanFarms,
      method = "SANN" )

   ## CES: Land & Intermediate Inputs
   cesLandInt <- cesEst( "qOutput", c( "land", "qVarInput" ), germanFarms )

   # variable returns to scale
   cesLandIntVrs <- cesEst( "qOutput", c( "land", "qVarInput" ), germanFarms,
      vrs = TRUE )

   # using the BFGS optimization method
   cesLandIntBfgs <- cesEst( "qOutput", c( "land", "qVarInput" ), germanFarms,
      method = "BFGS" )

   # using the L-BFGS-B optimization method with constrained alpha
   cesLandIntBfgsCon <- cesEst( "qOutput", c( "land", "qVarInput" ), germanFarms,
      method = "L-BFGS-B", lower = c( -Inf, 0, -Inf ),
      upper = c( Inf, 1, Inf ) )

   # using the SANN optimization method
   cesLandIntSann <- cesEst( "qOutput", c( "land", "qVarInput" ), germanFarms,
      method = "SANN" )

[Package micEcon version 0.6-0 Index]