Description Usage Arguments Details Value Author(s) References Examples
The prodestOP() function accepts at least 6 objects (id, time, output, free, state and proxy variables), and returns a prod object of class S4 with three elements: (i) a list of model-related objects, (ii) a list with the data used in the estimation and estimated vectors of first-stage residuals, and (iii) a list with the estimated parameters and their bootstrapped standard errors .
1 2  | 
Y       | 
 the vector of value added log output.  | 
fX      | 
 the vector/matrix/dataframe of log free variables.  | 
sX      | 
 the vector/matrix/dataframe of log state variables.  | 
pX     | 
 the vector/matrix/dataframe of log proxy variables.  | 
cX      | 
 the vector/matrix/dataframe of control variables. By default   | 
idvar   | 
 the vector/matrix/dataframe identifying individual panels.  | 
timevar | 
 the vector/matrix/dataframe identifying time.  | 
R       | 
 the number of block bootstrap repetitions to be performed in the standard error estimation. By default   | 
opt     | 
 a string with the optimization algorithm to be used during the estimation. By default   | 
theta0  | 
 a vector with the second stage optimization starting points. By default   | 
cluster | 
 an object of class   | 
tol | 
 optimizer tolerance. By default   | 
exit | 
 Indicator for attrition in the data - i.e., if firms exit the market. By default   | 
Consider a Cobb-Douglas production technology for firm i at time t
y_{it} = α + w_{it}β + k_{it}γ + ω_{it} + ε_{it}
where y_{it} is the (log) output, w_it a 1xJ vector of (log) free variables, k_it is a 1xK vector of state variables and ε_{it} is a normally distributed idiosyncratic error term. The unobserved technical efficiency parameter ω_{it} evolves according to a first-order Markov process:
ω_{it} = E(ω_{it} | ω_{it-1}) + u_{it} = g(ω_{it-1}) + u_{it}
and u_{it} is a random shock component assumed to be uncorrelated with the technical efficiency, the state variables in k_{it} and the lagged free variables w_{it-1}. The OP method relies on the following set of assumptions:
a) i_{it} = i(k_{it},ω_{it}) - investments are a function of both the state variable and the technical efficiency parameter;
b) i_{it} is strictly monotone in ω_{it};
c) ω_{it} is scalar unobservable in i_{it} = i(.) ;
d) the levels of i_{it} and k_{it} are decided at time t-1; the level of the free variable, w_{it}, is decided after the shock u_{it} realizes.
Assumptions a)-d) ensure the invertibility of i_{it} in ω_{it} and lead to the partially identified model:
y_{it} = α + w_{it}β + k_{it}γ + h(i_{it}, k_{it}) + ε_{it} = α + w_{it}β + φ(i_{it}, k_{it}) + ε_{it}
which is estimated by a non-parametric approach - First Stage. Exploiting the Markovian nature of the productivity process one can use assumption d) in order to set up the relevant moment conditions and estimate the production function parameters - Second stage. Exploiting the residual e_{it} of:
y_{it} - w_{it}\hat{β} = α + k_{it}γ + g(ω_{it-1}, χ_{it}) + ε_{it}
and g(.) is typically left unspecified and approximated by a n^{th} order polynomial and χ_{it} is an indicator function for the attrition in the market.
The output of the function prodestOP is a member of the S3 class prod. More precisely, is a list (of length 3) containing the following elements:
Model, a list containing:
method: a string describing the method ('OP').
boot.repetitions: the number of bootstrap repetitions used for standard errors' computation.
elapsed.time: time elapsed during the estimation.
theta0: numeric object with the optimization starting points - second stage.
opt: string with the optimization routine used - 'optim', 'solnp' or 'DEoptim'.
opt.outcome: optimization outcome.
FSbetas: first stage estimated parameters.
Data, a list containing:
Y: the vector of value added log output.
free: the vector/matrix/dataframe of log free variables.
state: the vector/matrix/dataframe of log state variables.
proxy: the vector/matrix/dataframe of log proxy variables.
control: the vector/matrix/dataframe of log control variables.
idvar: the vector/matrix/dataframe identifying individual panels.
timevar: the vector/matrix/dataframe identifying time.
FSresiduals: numeric object with the residuals of the first stage.
Estimates, a list containing:
pars: the vector of estimated coefficients.
std.errors: the vector of bootstrapped standard errors.
Members of class prod have an omega method returning a numeric object with the estimated productivity - that is: ω_{it} = y_{it} - (α + w_{it}β + k_{it}γ).
FSres method returns a numeric object with the residuals of the first stage regression, while summary, show and coef methods are implemented and work as usual.
Gabriele Rovigatti
Olley, S G and Pakes, A (1996). "The dynamics of productivity in the telecommunications equipment industry." Econometrica, 64(6), 1263-1297.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30  |     require(prodest)
    ## Chilean data on production.The full version is Publicly available at
    ## http://www.ine.cl/canales/chile_estadistico/estadisticas_economicas/industria/
    ## series_estadisticas/series_estadisticas_enia.php
    data(chilean)
    # we fit a model with two free (skilled and unskilled), one state (capital)
    # and one proxy variable (electricity)
    OP.fit <- prodestOP(chilean$Y, fX = cbind(chilean$fX1, chilean$fX2), chilean$sX,
                        chilean$inv, chilean$idvar, chilean$timevar)
    OP.fit.solnp <- prodestOP(chilean$Y, fX = cbind(chilean$fX1, chilean$fX2),
                              chilean$sX, chilean$inv, chilean$idvar,
                              chilean$timevar, opt='solnp')
    OP.fit.control <- prodestOP(chilean$Y, fX = cbind(chilean$fX1, chilean$fX2),
                                chilean$sX, chilean$inv, chilean$idvar,
                                chilean$timevar, cX = chilean$cX)
    OP.fit.attrition <- prodestOP(chilean$Y, fX = cbind(chilean$fX1, chilean$fX2),
                                chilean$sX, chilean$inv, chilean$idvar,
                                chilean$timevar, exit = TRUE)
    # show results
    summary(OP.fit)
    summary(OP.fit.solnp)
    summary(OP.fit.control)
    # show results in .tex tabular format
     printProd(list(OP.fit, OP.fit.solnp, OP.fit.control, OP.fit.attrition))
 | 
Loading required package: dplyr
Attaching package: 'dplyr'
The following objects are masked from 'package:stats':
    filter, lag
The following objects are masked from 'package:base':
    intersect, setdiff, setequal, union
Loading required package: parallel
Loading required package: Matrix
-------------------------------------------------------------
-               Production Function Estimation              -
-------------------------------------------------------------
                   Method :    OP              
-------------------------------------------------------------
                               fX1       fX2       sX1 
Estimated Parameters      :   0.314     0.256     0.168 
                             (0.025)   (0.017)   (0.039)
-------------------------------------------------------------
N                         :  2544
-------------------------------------------------------------
Bootstrap repetitions     :  20
1st Stage Parameters      :  0.314     0.256     -0.95 
Optimizer                 :  optim
-------------------------------------------------------------
Elapsed Time              :  0.02 mins
-------------------------------------------------------------
-------------------------------------------------------------
-               Production Function Estimation              -
-------------------------------------------------------------
                   Method :    OP              
-------------------------------------------------------------
                               fX1       fX2       sX1 
Estimated Parameters      :   0.314     0.256     0.168 
                             (0.04)   (0.032)   (0.032)
-------------------------------------------------------------
N                         :  2544
-------------------------------------------------------------
Bootstrap repetitions     :  20
1st Stage Parameters      :  0.314     0.256     -0.95 
Optimizer                 :  solnp
-------------------------------------------------------------
Elapsed Time              :  0.03 mins
-------------------------------------------------------------
-------------------------------------------------------------
-               Production Function Estimation              -
-------------------------------------------------------------
                   Method :    OP              
-------------------------------------------------------------
                               fX1       fX2       sX1       cX1 
Estimated Parameters      :   0.314     0.256     0.168     0.311 
                             (0.04)   (0.032)   (0.028)   (0.284)
-------------------------------------------------------------
N                         :  2544
-------------------------------------------------------------
Bootstrap repetitions     :  20
1st Stage Parameters      :  0.314     0.256     0.311     -0.95 
Optimizer                 :  optim
-------------------------------------------------------------
Elapsed Time              :  0.01 mins
-------------------------------------------------------------\begin{tabular}{ccccccccc}\hline\hline
 & & OP & & OP & & OP & & OP \\\hline
 fX1 & & 0.314 & & 0.314 & & 0.314 & & 0.314 \\
 & & (0.025) & & (0.04) & & (0.04) & & (0.036) \\
 &  &  &  &  \\
 fX2 & & 0.256 & & 0.256 & & 0.256 & & 0.256 \\
 & & (0.017) & & (0.032) & & (0.032) & & (0.026) \\
 &  &  &  &  \\
 sX1 & & 0.168 & & 0.168 & & 0.168 & & 0.202 \\
 & & (0.039) & & (0.032) & & (0.028) & & (0.038) \\
 &  &  &  &  \\
 &  &  &  &  \\
N & & 2544 & & 2544 & & 2544 & & 2544 \\\hline\hline
\end{tabular}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.