| cesEst {micEcon} | R Documentation |
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.
cesEst( yName, xNames, data, vrs = FALSE, ... )
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. |
Analytical gradients are used (only) if the “BFGS”, “CG”, or “L-BFGS-B” method is used.
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. |
Arne Henningsen
translogEst and quadFuncEst.
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" )