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" )