*! version 1.1.1

Title

robustpf -- Executes estimation of production functions robustly against errors in proxy variables.

Syntax

robustpf
depvar
[if] [in]
[, capital(varname) free(varlist) m(varlist)
proxy(varname) onestep dfp bfgs
init_capital(real) init_free(real) init_m(real) ]

Description

robustpf estimates production functions robustly against errors in proxy variables, based on the identification and estimation theories developed in
Hu, Huang, and Sasaki (2020).
The command takes as input an output variable (depvar), a state variable (capital), and labor variables (free).
In addition, for estimation of a gross-output production function, a user can set intermediate input variables by option m().
A user must set a proxy variable by calling the option proxy(), which often takes one of the intermediate input variables or an investment variable.
Displayed results consist of returns to scale and coefficients of each input variable.

Options

capital(varname) takes a state input variables, such as capital.

free(varlist) takes free input variables, such as labor.

m(varlist) takes intermediate input variables for estimation of the gross-output production function.
This option not called, the command estimates the net-output production function.

proxy(varname) takes the proxy variable used for estimation of the production function.
Receiving no input for this option, the command produces no estimation results.

onestep sets an indicator for implementing just one step of the GMM estimation. Not calling this option will lead to the two-step efficient GMM estimation by default.

dfp sets an indicator for implementing the Davidon–Fletcher–Powell method of optimization. Not calling this option or any other methodological option will lead to the Newton–Raphson method by default.

bfgs sets an indicator for implementing the Broyden–Fletcher–Goldfarb–Shanno method of optimization. Not calling this option or any other methodological option will lead to the Newton–Raphson method by default.

init_capital(real) sets the initial value of the capital coefficient for an optimization routine of the GMM estimation.
The default value is init_capital(0.1).

init_free(real) sets the initial value(s) of the labor coefficient(s) for an optimization routine of the GMM estimation.
The default value is init_free(0.1).

init_m(real) sets the initial value(s) of the intermediate input coefficient(s) for an optimization routine of the GMM estimation.
The default value is init_m(0.3).

(The moment function for GMM estimation is nonlinear, and hence it is recommended to try multiple initial values to improve the possibility of attaining the globally optimal solution.
The value of the objective is stored in e(objective) after implementing the command)

Examples

(Variables: id ID, year year, y output, k capital, ls skilled labor, lu unskilled labor, m material, e electricity, u fuel)

Estimation of net-output production function with material as a proxy:

. use "example_Chile.dta"

. xtset id year

. robustpf y, capital(k) free(ls lu) proxy(m)

Estimation of gross-output production function with material as a proxy:

. use "example_Chile.dta"

. xtset id year

. robustpf y, capital(k) free(ls lu) m(m e) proxy(m)

Stored results

robustpf stores the following in e():

Scalars

e(obs) observations

e(N) firms

e(T) time periods

e(minT) first time period

e(maxT) last time period

e(objective) value of the GMM objective

Macros

e(cmd) robustpf

e(properties) b V

Matrices

e(b) coefficient vector

e(V) variance-covariance matrix of the estimators

e(br) returns to scale (RTS)

e(Vr) variance of the RTS estimator

Functions

e(sample) marks estimation sample

Reference

Hu, Y., G. Huang, and Y. Sasaki. 2020. Estimating Production Functions with Robustness Against Errors in the Proxy Variables. Journal of Econometrics, 215 (2), pp. 375-398.
Link to Paper.

Authors

Yingyao Hu, Johns Hopkins University, Baltimore, MD.

Guofang Huang, Purdue University, West Lafayette, IN.

Yuya Sasaki, Vanderbilt University, Nashville, TN.