There should be multiple issues that arise in the estimation of production function. The most common issues are endogeneity and multicollinearity. Observed variables (labor, capital) may be correlated with unobserved inputs or productivity shocks (managerial ability, quality of land, materials). This correlation create biases in the estimation of production function. Moreover, labor and capital inputs typiccally are highly correlated with each other, (firms with more capital need more employees) which refers for multicollinearity and can also cause biased estimator. To deal with these problems, there are some approaches used in literature: (1)using input prices as instruments; (2)Fixed - effects estimators to deal with panel data, (3) GMM estimation used in case of dynamic penel data; (4)Control function approaches By this work, I am trying to practise the approach of control unobservables in estimating production function. This approach was first introduced by (Olley & Pakes, 1992) (OP) and extended by (Levinsohn & Petrin, 2003) (LP) then modified by (Ackerberg, Caves, & Frazer, 2006) (ACF). In detail, OP and LP have the same way to estimate production fuction, which includes two stage: stage one is estimating betal k and betal l from Cobb-Douglass production function whlie using controled variables for unobserved firm-level productivity shocks (investment incase of OP and intermidiated input (energy) in case of LP). Stage two is to estimated predicted productivity shocks (which reffers for total factor productivity) from the original model with estimated and . Ackerberg et al. (2006) found that OP and LP can not solve the problem of multicolinearity in the estimation of production function. Then they prospoed ACF model, which is based on OP and LP models. ACF model tries to not estimate in the first stage, but to seperate the predicted productivity shocks (TFP) and unpredicted productivity shocks (error terms). I am still confusing how and for what do they do that??? ACF model is also along the line with (Wooldridge, 2009) (W_GMM) model, which was suggested by Jeffrey Wolldridge in 2009 Given Cobb-Douglass production function as follow:
The data used in this prastice is “chilean”, which is included in the packages “prodest” to estimate production function. This data was used in OP, LP and ACF original papers. This is firm-level production data of Chile over the period 1986-1996 with 8 variables: log income - value added (Y), log capital (sX), matrix log of labor (skilled and unskilled labor) (fX), log of water(cX), log of electricity (pX), log of investment (inv), panel identifier (idvar) and time (timevar)
library("prodest")
## Loading required package: Rsolnp
## Loading required package: DEoptim
## Loading required package: parallel
##
## DEoptim package
## Differential Evolution algorithm in R
## Authors: D. Ardia, K. Mullen, B. Peterson and J. Ulrich
## 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: Matrix
data("chilean")
str(chilean)
## 'data.frame': 2544 obs. of 9 variables:
## $ Y : num 10.22 10.23 10.23 8.99 8.77 ...
## $ sX : num 5.52 5.53 8.99 9.08 9.37 ...
## $ fX1 : num 0 0 0 0 0 ...
## $ fX2 : num 0 0 0 1.61 1.1 ...
## $ pX : num 3.09 3 3 1.79 1.61 ...
## $ cX : num 4.49 4.5 8.97 8.49 8.91 ...
## $ inv : num 4.49 4.5 8.97 8.49 8.91 ...
## $ idvar : num 10007 10007 10007 10007 10007 ...
## $ timevar: num 1999 2000 2001 2002 2003 ...
hist(chilean$Y)
## Fist stage to estimate the paremeter of k and l in the Cobb-Douglass production function
#LP model
LP_model1 <- prodestLP(chilean$Y,
fX = cbind(chilean$fX1, chilean$fX2),
sX = chilean$sX,
pX = chilean$pX,
idvar = chilean$idvar,
timevar = chilean$timevar,
R = 30)
LP_model1
##
## -------------------------------------------------------
## - Production Function Estimation -
## -------------------------------------------------------
## Method: LP
## -------------------------------------------------------
## fX1 fX2 sX1
## Estimated Parameters: 0.199 0.169 0.117
## (0.026) (0.023) (0.039)
## -------------------------------------------------------
LP_model2 <- prodestLP(chilean$Y,
fX = chilean$fX2,
sX = chilean$sX,
pX = chilean$pX,
idvar = chilean$idvar,
timevar = chilean$timevar)
LP_model2
##
## -------------------------------------------------------
## - Production Function Estimation -
## -------------------------------------------------------
## Method: LP
## -------------------------------------------------------
## fX1 sX1
## Estimated Parameters: 0.061 0.146
## (0.014) (0.047)
## -------------------------------------------------------
# OP model
OP_model <- prodestOP(chilean$Y,
fX = chilean$fX2,
sX = chilean$sX,
pX = chilean$inv,
cX = NULL,
idvar = chilean$idvar,
timevar = chilean$timevar)
OP_model
##
## -------------------------------------------------------
## - Production Function Estimation -
## -------------------------------------------------------
## Method: OP
## -------------------------------------------------------
## fX1 sX1
## Estimated Parameters: 0.088 0.223
## (0.024) (0.039)
## -------------------------------------------------------
# ACF model
ACF_model <- prodestACF(chilean$Y,
fX = cbind(chilean$fX2,chilean$fX1),
sX = chilean$sX,
pX = chilean$pX,
idvar = chilean$idvar,
timevar = chilean$timevar,
R = 20, cX = NULL, opt = "optim", theta0 = NULL, seed = 123456, cluster = NULL)
ACF_model
##
## -------------------------------------------------------
## - Production Function Estimation -
## -------------------------------------------------------
## Method: ACF
## -------------------------------------------------------
## fX1 fX2 sX1
## Estimated Parameters: 0.159 0.155 0.137
## (0.224) (0.186) (0.056)
## -------------------------------------------------------
# Wooldrige GMM model
W_GMMmodel<- prodestWRDG(chilean$Y,
fX = cbind(chilean$fX2,chilean$fX1),
sX = chilean$sX,
pX = chilean$pX,
idvar = chilean$idvar,
timevar = chilean$timevar,
R = 20, cX = NULL, tol = 1e-100, theta0 = NULL, seed = 123456, cluster = NULL)
W_GMMmodel
##
## -------------------------------------------------------
## - Production Function Estimation -
## -------------------------------------------------------
## Method: WRDG
## -------------------------------------------------------
## fX1 fX2 sX1
## Estimated Parameters: 0.217 0.247 0.058
## (0.031) (0.033) (0.063)
## -------------------------------------------------------
Ackerberg, D., Caves, K., & Frazer, G. (2006). Structural identification of production functions. Levinsohn, J., & Petrin, A. (2003). Estimating production functions using inputs to control for unobservables. The Review of Economic Studies, 70(2), 317-341. Olley, G. S., & Pakes, A. (1992). The dynamics of productivity in the telecommunications equipment industry. National Bureau of Economic Research Wooldridge, J. M. (2009). On estimating firm-level production functions using proxy variables to control for unobservables. Economics Letters, 104(3), 112-114.