translogMonoRestr function

Monotonicity Restrictions of a Translog Function

Monotonicity Restrictions of a Translog Function

Create matrix to check or impose the monotonicity restrictions of a translog function.

translogMonoRestr( xNames, data, dataLogged = FALSE, box = FALSE )

Arguments

  • xNames: a vector of strings containing the names of the independent variables.
  • data: dataframe containing the data.
  • dataLogged: logical. Are the values in data already logged?
  • box: logical. Should monotonicity be imposed within an nn-dimensional box that includes all points in data? If FALSE, monotonicity is imposed (only) within an nn-dimensional polygon that includes all points in data. (nn is the number of independent varables.)

Returns

translogMonoRestr returns a matrix of dimension (nN)×c( n \cdot N ) \times c, where nn is the number of independent varables, NN is the number of data points at which monotonicity should be imposed (if argument box is FALSE, NN is the number of rows in data; if argument box is TRUE, N=2nN = 2^n), and c=1+n(n+3)/2c = 1 + n ( n + 3 ) / 2 is the number of (linearly independent) coefficients. Multiplying a row of this matrix (e.g.\ the kkth row of MM) by the vector of coefficients (β\beta) results in the derivative of the dependent variable (yy) with respect to one independent variable (e.g.\ xix_i) at one data point (e.g.\ jj):

M[k,]β=lnylnxiM[k,]β=(dlogy)/(dlogxi) M[k,] \cdot \beta = \frac{ \partial \ln y }{ \partial \ln x_i}M[k,] * \beta = ( d log y )/( d log x_i )

, evaluated at x1jx_{1j}, , xnjx_{nj}, where k=(i1)N+jk = ( i - 1 ) N + j. Hence, the observations run faster than the independent variables.

See Also

translogEst, translogDeriv, and translogCheckMono

Author(s)

Arne Henningsen

Examples

data( germanFarms ) # quantity of variable inputs germanFarms$qVarInput <- germanFarms$vVarInput / germanFarms$pVarInput # matrix to check or impose monotonicity at all observations monoRestrObs <- translogMonoRestr( c( "qLabor", "land", "qVarInput" ), germanFarms ) # matrix to check or impose monotonicity within a box that includes all # observations monoRestrBox <- translogMonoRestr( c( "qLabor", "land", "qVarInput" ), germanFarms, box = TRUE )