2.4 Cobb-Douglas production function
2.4.10 First and second partial derivatives
For the Cobb-Douglas production function with three inputs (2.51), the first derivatives (marginal products) are
f1= ∂y
∂x1
= α1A xα11−1xα22 xα33 = α1 y x1
(2.55) f2= ∂y
∂x2
= α2A xα11 xα22−1xα33 = α2 y x2
(2.56) f3= ∂y
∂x3
= α3A xα11 xα22 xα33−1= α3 y x3
(2.57) and the second derivatives are
f11= ∂f1
∂x1 = α1f1
x1 − α1 y x21 = f12
y − f1
x1 (2.58)
f22= ∂f2
∂x2
= α2f2
x2
− α2 y x22 = f22
y − f2
x2
(2.59) f33= ∂f3
∂x3 = α3f3
x3 − α3 y x23 = f32
y − f3
x3 (2.60)
f12= ∂f1
∂x2
= α1f2 x1
= f1 f2
y (2.61)
f13= ∂f1
∂x3 = α1f3
x1 = f1 f3
y (2.62)
f23= ∂f2
∂x3 = α2f3
x2 = f2 f3
y . (2.63)
Generally, for an N -input Cobb-Douglas function, the first and second derivatives are fi= αi y
xi (2.64)
fij = fi fj
y − δijfi
xi, (2.65)
where δij denotes Kronecker’s delta with
δij =
1 if i = j 0 if i 6= j
(2.66)
In the calculations of the partial derivatives (fi), we have simplified the formulas by replacing the right-hand side of the Cobb-Douglas function (2.51) by the output quantities. When we calculated the marginal products (partial derivatives) of the Cobb-Douglas function in in sec-tion 2.4.6, we have used the observed output quantities for y. However, as the fit (R2 value) of our model is not 100 %, the observed output quantities are generally not equal to the output quantities predicted by our model, i.e. the right-hand side of the Cobb-Douglas function (2.51) using the estimated parameters. The better the fit of our model, the smaller is the difference between the observed and the predicted output quantities. If we “believe” in our estimated model, it would be more consistent with microeconomic theory, if we use the predicted output quanti-ties and disregard the stochastic error term (difference between observed and predicted output quantities) that is caused, e.g., by measurement errors, (good or bad) luck, or unusual(ly) (good or bad) weather conditions.
We can calculate the first derivatives (marginal products) with the predicted output quantities (see section2.4.4):
> dat$fCap <- coef(prodCD)["log(qCap)"] * dat$qOutCD / dat$qCap
> dat$fLab <- coef(prodCD)["log(qLab)"] * dat$qOutCD / dat$qLab
> dat$fMat <- coef(prodCD)["log(qMat)"] * dat$qOutCD / dat$qMat Based on these first derivatives, we can also calculate the second derivatives:
> dat$fCapCap <- with( dat, fCap^2 / qOutCD - fCap / qCap )
> dat$fLabLab <- with( dat, fLab^2 / qOutCD - fLab / qLab )
> dat$fMatMat <- with( dat, fMat^2 / qOutCD - fMat / qMat )
> dat$fCapLab <- with( dat, fCap * fLab / qOutCD )
> dat$fCapMat <- with( dat, fCap * fMat / qOutCD )
> dat$fLabMat <- with( dat, fLab * fMat / qOutCD )
2.4.11 Elasticities of substitution
2.4.11.1 Direct Elasticities of Substitution
In order to calculate the elasticities of substitution, we need to construct the bordered Hessian matrix. As the first and second derivatives of the Cobb-Douglas function differ between obser-vations, also the bordered Hessian matrix differs between observations. As a starting point, we construct the bordered Hessian Matrix just for the first observation:
> bhm <- matrix( 0, nrow = 4, ncol = 4 )
> bhm[ 1, 2 ] <- bhm[ 2, 1 ] <- dat$fCap[ 1 ]
> bhm[ 1, 3 ] <- bhm[ 3, 1 ] <- dat$fLab[ 1 ]
> bhm[ 1, 4 ] <- bhm[ 4, 1 ] <- dat$fMat[ 1 ]
> bhm[ 2, 2 ] <- dat$fCapCap[ 1 ]
> bhm[ 3, 3 ] <- dat$fLabLab[ 1 ]
> bhm[ 4, 4 ] <- dat$fMatMat[ 1 ]
> bhm[ 2, 3 ] <- bhm[ 3, 2 ] <- dat$fCapLab[ 1 ]
> bhm[ 2, 4 ] <- bhm[ 4, 2 ] <- dat$fCapMat[ 1 ]
> bhm[ 3, 4 ] <- bhm[ 4, 3 ] <- dat$fLabMat[ 1 ]
> print(bhm)
[,1] [,2] [,3] [,4]
[1,] 0.000000 6.229014e+00 6.031225e+00 59.0909133861 [2,] 6.229014 -6.202845e-05 1.169835e-05 0.0001146146 [3,] 6.031225 1.169835e-05 -5.423455e-06 0.0001109752 [4,] 59.090913 1.146146e-04 1.109752e-04 -0.0006462733
Based on this bordered Hessian matrix, we can calculate the co-factors Fij:
> FCapLab <- - det( bhm[ -2, -3 ] ) [1] -0.06512713
> FCapMat <- det( bhm[ -2, -4 ] ) [1] -0.006165438
> FLabMat <- - det( bhm[ -3, -4 ] ) [1] -0.02641227
So that we can calculate the direct elasticities of substitution (of the first observation):
> esdCapLab <- with( dat[1,], ( qCap * fCap + qLab * fLab ) / + ( qCap * qLab ) * FCapLab / det( bhm ) )
[1] 0.5723001
> esdCapMat <- with( dat[ 1, ], ( qCap * fCap + qMat * fMat ) / + ( qCap * qMat ) * FCapMat / det( bhm ) )
[1] 0.5388715
> esdLabMat <- with( dat[ 1, ], ( qLab * fLab + qMat * fMat ) / + ( qLab * qMat ) * FLabMat / det( bhm ) )
[1] 0.8888284
As all elasticities of substitution are positive, we can conclude that all pairs of inputs are substi-tutes for each other and no pair of inputs is complementary. If the firm substisubsti-tutes capital for labor so that the ratio between the capital and labor quantity (xcap/xlab) increases by 0.57 percent, the (absolute value of the) MRTS between capital and labor (|dxcap/dxlab| = flab/fcap) increases by one percent. Or, the other way round, if the firm substitutes capital for labor so that the absolute value of the MRTS between capital and labor (|dxcap/dxlab| = flab/fcap) increases by one percent, e.g. because the price ratio between labor and capital (wlab/wcap) increases by one percent, the ratio between the capital and labor quantity (xcap/xlab) will increase by 0.57 percent.
We can calculate the elasticities of substitution for all firms by automatically repeating the above commands for each observation using a for loop:2
> dat$esdCapLab <- NA
> dat$esdCapMat <- NA
> dat$esdLabMat <- NA
> for( obs in 1:nrow( dat ) ) {
+ bhmLoop <- matrix( 0, nrow = 4, ncol = 4 )
+ bhmLoop[ 1, 2 ] <- bhmLoop[ 2, 1 ] <- dat$fCap[ obs ] + bhmLoop[ 1, 3 ] <- bhmLoop[ 3, 1 ] <- dat$fLab[ obs ] + bhmLoop[ 1, 4 ] <- bhmLoop[ 4, 1 ] <- dat$fMat[ obs ] + bhmLoop[ 2, 2 ] <- dat$fCapCap[ obs ]
+ bhmLoop[ 3, 3 ] <- dat$fLabLab[ obs ] + bhmLoop[ 4, 4 ] <- dat$fMatMat[ obs ]
+ bhmLoop[ 2, 3 ] <- bhmLoop[ 3, 2 ] <- dat$fCapLab[ obs ] + bhmLoop[ 2, 4 ] <- bhmLoop[ 4, 2 ] <- dat$fCapMat[ obs ] + bhmLoop[ 3, 4 ] <- bhmLoop[ 4, 3 ] <- dat$fLabMat[ obs ] + FCapLabLoop <- - det( bhmLoop[ -2, -3 ] )
+ FCapMatLoop <- det( bhmLoop[ -2, -4 ] )
2As I want to use the bordered Hessian matrix and some of its co-factors after the loop, I do not want to overwrite the values in bhm, FCapLab, FCapMat, and FLabMat in the loop. Therefore, I use not the same variable names for the bordered Hessian matrix and the co-factors in the loop.
+ FLabMatLoop <- - det( bhmLoop[ -3, -4 ] ) + dat$esdCapLab[ obs ] <- with( dat[obs,], + ( qCap * fCap + qLab * fLab ) /
+ ( qCap * qLab ) * FCapLabLoop / det( bhmLoop ) ) + dat$esdCapMat[ obs ] <- with( dat[ obs, ],
+ ( qCap * fCap + qMat * fMat ) /
+ ( qCap * qMat ) * FCapMatLoop / det( bhmLoop ) ) + dat$esdLabMat[ obs ] <- with( dat[ obs, ],
+ ( qLab * fLab + qMat * fMat ) /
+ ( qLab * qMat ) * FLabMatLoop / det( bhmLoop ) ) + }
> range( dat$esdCapLab ) [1] 0.5723001 0.5723001
> range( dat$esdCapMat ) [1] 0.5388715 0.5388715
> range( dat$esdLabMat ) [1] 0.8888284 0.8888284
The direct elasticities of substitution based on the Cobb-Douglas production function are the same for all firms.
2.4.11.2 Allen Elasticities of Substitution
The calculation of the Allen elasticities of substitution is similar to the calculation of the direct elasticities of substitution:
> numerator <- with( dat[1,], qCap * fCap + qLab * fLab + qMat * fMat )
> esaCapLab <- numerator /
+ ( dat$qCap[ 1 ] * dat$qLab[ 1 ] ) * + FCapLab / det( bhm )
[1] 1
> esaCapMat <- numerator /
+ ( dat$qCap[ 1 ] * dat$qMat[ 1 ] ) * + FCapMat / det( bhm )
[1] 1
> esaLabMat <- numerator /
+ ( dat$qLab[ 1 ] * dat$qMat[ 1 ] ) * + FLabMat / det( bhm )
[1] 1
All elasticities of substitution are exactly one. This is no surprise and confirms that our calcula-tions have been done correctly, because the Cobb-Douglas production function always has Allen elasticities of substitution equal to one, irrespective of the input and output quantities and the estimated parameters. Hence, the Cobb-Douglas function cannot be used to analyze the substi-tutability of the inputs, because it will always return Allen elasticities of substitution equal to one, no matter if the true elasticities are close to zero or close to infinity.
Although it seemed that we got “free” estimates of the direct elasticities of substitution from the Cobb-Douglas production function in section2.4.11.1, they are indeed forced to be (fi xi+ fj xj)/(Pkfk xk) = (i y + j y)/(Pkk y) = (i + j)/, where is the elasticity of scale (see equation 2.14). Hence, the Cobb-Douglas production function cannot be used to analyze substitutability between inputs.
2.4.11.3 Morishima Elasticities of Substitution
In order to calculate the Morishima elasticities of substitution, we need to calculate the co-factors of the diagonal elements of the bordered Hessian matrix:
> FCapCap <- det( bhm[ -2, -2 ] )
> FLabLab <- det( bhm[ -3, -3 ] )
> FMatMat <- det( bhm[ -4, -4 ] )
> esmCapLab < with( dat[1,], ( fLab / qCap ) * FCapLab / det( bhm ) -+ ( fLab / qLab ) * FLabLab / det( bhm ) )
[1] 1
> esmLabCap < with( dat[1,], ( fCap / qLab ) * FCapLab / det( bhm ) -+ ( fCap / qCap ) * FCapCap / det( bhm ) )
[1] 1
> esmCapMat < with( dat[1,], ( fMat / qCap ) * FCapMat / det( bhm ) -+ ( fMat / qMat ) * FMatMat / det( bhm ) )
[1] 1
> esmMatCap < with( dat[1,], ( fCap / qMat ) * FCapMat / det( bhm ) -+ ( fCap / qCap ) * FCapCap / det( bhm ) )
[1] 1
> esmLabMat < with( dat[1,], ( fMat / qLab ) * FLabMat / det( bhm ) -+ ( fMat / qMat ) * FMatMat / det( bhm ) )
[1] 1
> esmMatLab < with( dat[1,], ( fLab / qMat ) * FLabMat / det( bhm ) -+ ( fLab / qLab[ 1 ] ) * FLabLab / det( bhm ) )
[1] 1
As with the Allen elasticities of substitution, all Morishima elasticities of substitution based on Cobb-Douglas functions are exactly one.
From the condition2.15, we can show that all Morishima elasticities of substitution are always one (σMij = 1 ∀ i 6= j), if all Allen elasticities of substitution are one (σij = 1 ∀ i 6= j):
σijM = Kjσij− Kjσjj = Kj+X
k6=j
Kkσkj =X
k
Kk= 1 (2.67)
2.4.12 Quasiconcavity
We start by checking whether our estimated Cobb-Douglas production function is quasiconcave at the first observation:
> bhm
[,1] [,2] [,3] [,4]
[1,] 0.000000 6.229014e+00 6.031225e+00 59.0909133861 [2,] 6.229014 -6.202845e-05 1.169835e-05 0.0001146146 [3,] 6.031225 1.169835e-05 -5.423455e-06 0.0001109752 [4,] 59.090913 1.146146e-04 1.109752e-04 -0.0006462733
> det( bhm[ 1:2, 1:2 ] ) [1] -38.80062
> det( bhm[ 1:3, 1:3 ] ) [1] 0.003345742
> det( bhm ) [1] -1.013458e-05
The first principal minor of the bordered Hessian matrix is negative, the second principal minor is positive, and the third principal minor is negative. This means that our estimated Cobb-Douglas production function is quasiconcave at the first observation.
Now we check quasiconcavity at all observations:
> dat$quasiConc <- NA
> for( obs in 1:nrow( dat ) ) {
+ bhmLoop <- matrix( 0, nrow = 4, ncol = 4 )
+ bhmLoop[ 1, 2 ] <- bhmLoop[ 2, 1 ] <- dat$fCap[ obs ] + bhmLoop[ 1, 3 ] <- bhmLoop[ 3, 1 ] <- dat$fLab[ obs ] + bhmLoop[ 1, 4 ] <- bhmLoop[ 4, 1 ] <- dat$fMat[ obs ] + bhmLoop[ 2, 2 ] <- dat$fCapCap[ obs ]
+ bhmLoop[ 3, 3 ] <- dat$fLabLab[ obs ] + bhmLoop[ 4, 4 ] <- dat$fMatMat[ obs ]
+ bhmLoop[ 2, 3 ] <- bhmLoop[ 3, 2 ] <- dat$fCapLab[ obs ] + bhmLoop[ 2, 4 ] <- bhmLoop[ 4, 2 ] <- dat$fCapMat[ obs ] + bhmLoop[ 3, 4 ] <- bhmLoop[ 4, 3 ] <- dat$fLabMat[ obs ] + dat$quasiConc[ obs ] <- det( bhmLoop[ 1:2, 1:2 ] ) < 0 &
+ det( bhmLoop[ 1:3, 1:3 ] ) > 0 & det( bhmLoop ) < 0 + }
> sum( dat$quasiConc ) [1] 140
Our estimated Cobb-Douglas production function is quasiconcave at all of the 140 observations.
In fact, all Cobb-Douglas production functions are quasiconcave in inputs if A ≥ 0, α1 ≥ 0, . . . , αN ≥ 0, while Cobb-Douglas production functions are concave in inputs if A ≥ 0, α1 ≥ 0, . . . , αN ≥ 0, and the technology has decreasing or constant returns to scale (PNi=1αi ≤ 1).3 2.4.13 First-order conditions for profit maximisation
In this section, we will check to what extent the first-order conditions (2.24) for profit maximiza-tion are fulfilled, i.e. to what extent the firms use the optimal input quantities. We do this by comparing the marginal value products of the inputs with the corresponding input prices. We can calculate the marginal value products by multiplying the marginal products by the output price:
> dat$mvpCapCd <- dat$pOut * dat$fCap
> dat$mvpLabCd <- dat$pOut * dat$fLab
> dat$mvpMatCd <- dat$pOut * dat$fMat
3See, e.g.,http://econren.weebly.com/uploads/9/0/1/5/9015734/lecture16.pdforhttp://web.mit.edu/14.
102/www/ps/ps1sol.pdf.
The command compPlot (package miscTools) can be used to compare the marginal value products with the corresponding input prices:
> compPlot( dat$pCap, dat$mvpCapCd )
> compPlot( dat$pLab, dat$mvpLabCd )
> compPlot( dat$pMat, dat$mvpMatCd )
> compPlot( dat$pCap, dat$mvpCapCd, log = "xy" )
> compPlot( dat$pLab, dat$mvpLabCd, log = "xy" )
> compPlot( dat$pMat, dat$mvpMatCd, log = "xy" )
●
Figure 2.17: Marginal value products and corresponding input prices
The resulting graphs are shown in figure 2.17. They indicate that the marginal value products are always nearly equal to or higher than the corresponding input prices. This indicates that (almost) all firms could increase their profit by using more of all inputs. Given that the estimated Cobb-Douglas technology exhibits increasing returns to scale, it is not surprising that (almost) all firms would gain from increasing all input quantities. Therefore, the question arises why the firms in the sample did not do this. This questions has already been addressed in section 2.3.10.
2.4.14 First-order conditions for cost minimization
As the marginal rates of technical substitution differ between observations for the Cobb-Douglas functional form, we use scatter plots for visualizing the comparison of the input price ratios with the negative inverse marginal rates of technical substitution:
> compPlot( dat$pCap / dat$pLab, - dat$mrtsLabCapCD )
> compPlot( dat$pCap / dat$pMat, - dat$mrtsMatCapCD )
> compPlot( dat$pLab / dat$pMat, - dat$mrtsMatLabCD )
> compPlot( dat$pCap / dat$pLab, - dat$mrtsLabCapCD, log = "xy" )
> compPlot( dat$pCap / dat$pMat, - dat$mrtsMatCapCD, log = "xy" )
> compPlot( dat$pLab / dat$pMat, - dat$mrtsMatLabCD, log = "xy" )
●
0.02 0.05 0.20 0.50
0.020.050.100.200.50
0.05 0.10 0.20
0.050.100.20
w Lab / w Mat
− MRTS Mat Lab
Figure 2.18: First-order conditions for cost minimization The resulting graphs are shown in figure2.18.
Furthermore, we use histograms to visualize the (absolute and relative) differences between the input price ratios and the corresponding negative inverse marginal rates of technical substitution:
> hist( - dat$mrtsLabCapCD - dat$pCap / dat$pLab )
> hist( - dat$mrtsMatCapCD - dat$pCap / dat$pMat )
> hist( - dat$mrtsMatLabCD - dat$pLab / dat$pMat )
> hist( log( - dat$mrtsLabCapCD / ( dat$pCap / dat$pLab ) ) )
> hist( log( - dat$mrtsMatCapCD / ( dat$pCap / dat$pMat ) ) )
> hist( log( - dat$mrtsMatLabCD / ( dat$pLab / dat$pMat ) ) )
−MrtsLabCap − wCap / wLab
Frequency
−4 −2 0 2 4
020406080
−MrtsMatCap − wCap / wMat
Frequency
−0.6 −0.4 −0.2 0.0 0.2
01020304050
−MrtsMatLab − wLab / wMat
Frequency
−0.3 −0.2 −0.1 0.0 0.1 0.2
010203040
log(−MrtsLabCap / (wCap / wLab))
Frequency
−2.0 −1.0 0.0 1.0
01020304050
log(−MrtsMatCap / (wCap / wMat))
Frequency
−2.5 −1.5 −0.5 0.5
010203040
log(−MrtsMatLab / (wLab / wMat))
Frequency
−1.5 −0.5 0.0 0.5 1.0
05101520
Figure 2.19: First-order conditions for costs minimization
The resulting graphs are shown in figure 2.19. The left graphs in figures 2.18 and 2.19 show that the ratio between the capital price and the labor price is larger than the absolute value of the marginal rate of technical substitution between labor and capital for the most firms in the sample:
wcap wlab
> −M RT Slab,cap = M Pcap M Plab
(2.68) Hence, most firms can get closer to the minimum of their production costs by substituting labor for capital, because this will decrease the marginal product of labor and increase the marginal product of capital so that the absolute value of the MRTS between labor and capital increases and gets closer to the corresponding input price ratio. Similarly, the graphs in the middle column indicate that most firms should substitute materials for capital and the graphs on the right indicate that the majority of the firms should substitute materials for labor. Hence, the majority
of the firms could reduce production costs particularly by using less capital and more materials4 but there might be (legal) regulations that restrict the use of materials (e.g. fertilizers, pesticides).
2.4.15 Derived Input Demand Functions and Output Supply Functions
Given a Cobb-Douglas production function (2.51), the input quantities chosen by a profit maxi-mizing producer are
xi(p, w) =
αi wi
P A Y
j
αj wj
!αj
1 1−α
if α < 1
0 ∨ ∞ if α = 1
∞ if α > 1
(2.69)
and the output quantity is
y(p, w) =
A Pα Y
j
αj
wj
!αj
1 1−α
if α < 1
0 ∨ ∞ if α = 1
∞ if α > 1
(2.70)
with α = Pjαj. Hence, if the Cobb-Douglas production function exhibits increasing returns to scale ( = α > 1), the optimal input and output quantities are infinity. As our estimated Cobb-Douglas production function has increasing returns to scale, the optimal input quantities are infinity. Therefore, we cannot evaluate the effect of prices on the optimal input quantities.
A cost minimizing producer would choose the following input quantities:
xi(w, y) =
y A
Y
j6=i
αiwj
αj wi
!αj
1 α
(2.71)
For our three-input Cobb-Douglas production function, we get following conditional input demand functions
xcap(w, y) =
y A
αcap
wcap
!αlab+αmat wlab
αlab
αlab wmat
αmat
αmat
1 αcap+αlab+αmat
(2.72)
xlab(w, y) = y A
wcap αcap
!αcap αlab wlab
αcap+αmat wmat αmat
αmat! 1
αcap+αlab+αmat
(2.73)
4 This generally confirms the results of the linear production function for the relationships between capital and labor and the relationship between capital and materials. However, in contrast to the linear production function, the results obtained by the Cobb-Douglas functional form indicate that most firms should substitute materials for labor (rather than the other way round).
xmat(w, y) = y A
wcap
αcap
!αcap wlab
αlab
αlab αmat
wmat
αcap+αlab ! 1
αcap+αlab+αmat
(2.74)
We can use these formulas to calculate the cost-minimizing input quantities based on the observed input prices and the predicted output quantities. Alternatively, we could calculate the cost-minimizing input quantities based on the observed input prices and the observed output quanti-ties. However, in the latter case, the predicted output quantities based on the cost-minimizing input quantities would differ from the predicted output quantities based on the observed input quantities so that a comparison of the cost-minimizing input quantities with the observed input quantities would be less useful.
As the coefficients of the Cobb-Douglas function repeatedly occur in the formulas for calculating the cost-minimizing input quantities, it is convenient to define short-cuts for them:
> A <- exp( coef( prodCD )[ "(Intercept)" ] )
> aCap <- coef( prodCD )[ "log(qCap)" ]
> aLab <- coef( prodCD )[ "log(qLab)" ]
> aMat <- coef( prodCD )[ "log(qMat)" ]
Now, we can calculate the cost-minimizing input quantities:
> dat$qCapCD <- with( dat,
+ ( ( qOutCD / A ) * ( aCap / pCap )^( aLab + aMat ) + * ( pLab / aLab )^aLab * ( pMat / aMat )^aMat + )^(1/( aCap + aLab + aMat ) ) )
> dat$qLabCD <- with( dat,
+ ( ( qOutCD / A ) * ( pCap / aCap )^aCap
+ * ( aLab / pLab )^( aCap + aMat ) * ( pMat / aMat )^aMat + )^(1/( aCap + aLab + aMat ) ) )
> dat$qMatCD <- with( dat,
+ ( ( qOutCD / A ) * ( pCap / aCap )^aCap
+ * ( pLab / aLab )^aLab * ( aMat / pMat )^( aCap + aLab ) + )^(1/( aCap + aLab + aMat ) ) )
Before we continue, we will check whether it is indeed possible to produce the predicted output with the calculated cost-minimizing input quantities:
> dat$qOutTest <- with( dat,
+ A * qCapCD^aCap * qLabCD^aLab * qMatCD^aMat )
> all.equal( dat$qOutCD, dat$qOutTest ) [1] TRUE
Given that the output quantities predicted from the cost-minimizing input quantities are all equal to the output quantities predicted from the observed input quantities, we can be pretty sure that
our calculations are correct. Now, we can use scatter plots to compare the cost-minimizing input quantities with the observed input quantities:
> compPlot( dat$qCapCD, dat$qCap )
> compPlot( dat$qLabCD, dat$qLab )
> compPlot( dat$qMatCD, dat$qMat )
> compPlot( dat$qCapCD, dat$qCap, log = "xy" )
> compPlot( dat$qLabCD, dat$qLab, log = "xy" )
> compPlot( dat$qMatCD, dat$qMat, log = "xy" )
●
0e+00 2e+05 4e+05 6e+05
0e+002e+054e+056e+05
200000 600000 1000000
2000006000001000000
20000 60000 100000
2000060000100000
5e+03 2e+04 1e+05 5e+05
5e+032e+041e+055e+05
5e+04 2e+05 5e+05
5e+042e+055e+05
5e+03 2e+04 5e+04
5e+032e+045e+04
qMatCD
qMat
Figure 2.20: Optimal and observed input quantities
The resulting graphs are shown in figure2.20. As we already found out in section 2.4.14, many firms could reduce their costs by substituting materials for capital.
We can also evaluate the potential for cost reductions by comparing the observed costs with the costs when using the cost-minimizing input quantities:
> dat$costProdCD <- with( dat,
+ pCap * qCapCD + pLab * qLabCD + pMat * qMatCD )
> mean( dat$costProdCD / dat$cost )
[1] 0.9308039
Our model predicts that the firms could reduce their costs on average by 7% by using cost-minimizing input quantities. The variation of the firms’ cost reduction potentials are shown by a histogram:
> hist( dat$costProdCD / dat$cost )
costProdCD / cost
Frequency
0.75 0.80 0.85 0.90 0.95 1.00
051525
Figure 2.21: Minimum total costs as share of actual total costs
The resulting graph is shown in figure 2.21. While many firms have a rather small potential for reducing costs by reallocating input quantities, there are some firms that could save up to 25%
of their total costs by using the optimal combination of input quantities.
We can also compare the observed input quantities with the cost-minimizing input quantities and the observed costs with the minimum costs for each single observation (e.g. when consulting individual firms in the sample):
> round( subset( dat, , c("qCap", "qCapCD", "qLab", "qLabCD", "qMat", "qMatCD", + "cost", "costProdCD") ) )[1:5,]
qCap qCapCD qLab qLabCD qMat qMatCD cost costProdCD 1 84050 33720 360066 405349 34087 38038 846329 790968 2 39663 18431 249769 334442 40819 36365 580545 545777 3 37051 14257 140286 135701 24219 32176 306040 281401 4 21222 13300 83427 69713 18893 25890 199634 191709 5 44675 28400 89223 108761 14424 13107 226578 221302 2.4.16 Derived Input Demand Elasticities
We can measure the effect of the input prices and the output quantity on the cost-minimizing input quantities by calculating the conditional price elasticities based on the partial derivatives of the conditional input demand functions (2.71) with respect to the input prices and the output
quantity. In case of two inputs, we can calculate the demand elasticities of the first input by:
and analogously the demand elasticities of the second input:
x2(w, y) =
22(w, y) =∂x2(w, y)
∂w2
w2
x2(w, y) = −α1
α = α2− α α = α2
α − 1 (2.94)
21(w, y) =∂x2(w, y)
∂w1
w1
x2(w, y) = α1
α (2.95)
2y(w, y) =∂x2(w, y)
∂y
y
x2(w, y) = 1
α. (2.96)
One can similarly derive the input demand elasticities for the general case of N inputs:
ij(w, y) = ∂xi(w, y)
∂wj
wj
xi(w, y) = αj
α − δij (2.97)
iy(w, y) = ∂xi(w, y)
∂y
y
xi(w, y) = 1
α, (2.98)
where δij is (again) Kronecker’s delta (2.66). We have calculated all these elasticities based on the estimated coefficients of the Cobb-Douglas production function; these elasticities are presented in table 2.1. If the price of capital increases by one percent, the cost-minimizing firm will decrease the use of capital by 0.89% and increase the use of labor and materials by 0.11% each. If the price of labor increases by one percent, the cost-minimizing firm will decrease the use of labor by 0.54% and increase the use of capital and materials by 0.46% each. If the price of materials increases by one percent, the cost-minimizing firm will decrease the use of materials by 0.57%
and increase the use of capital and labor by 0.43% each. If the cost-minimizing firm increases the output quantity by one percent, (s)he will increase all input quantities by 0.68%.
Table 2.1: Conditional demand elasticities derived from Cobb-Douglas production function wcap wlab wmat y
xcap -0.89 0.46 0.43 0.68 xlab 0.11 -0.54 0.43 0.68 xmat 0.11 0.46 -0.57 0.68
2.5 Quadratic Production Function
2.5.1 Specification
A quadratic production function is defined as y = β0+X
i
βi xi+1 2
X
i
X
j
βijxi xj, (2.99)
where the restriction βij = βji is required to identify all coefficients, because xixj and xj xi are the same regressors. Based on this general form, we can derive the specification of a quadratic
production function with three inputs:
y = β0+β1x1+β2 x2+β3x3+1
2β11x21+1
2β22x22+1
2β33x23+β12x1x2+β13x1 x3+β23x2x3 (2.100) 2.5.2 Estimation
We can estimate this quadratic production function with the command
> prodQuad <- lm( qOut ~ qCap + qLab + qMat
+ + I( 0.5 * qCap^2 ) + I( 0.5 * qLab^2 ) + I( 0.5 * qMat^2 ) + + I( qCap * qLab ) + I( qCap * qMat ) + I( qLab * qMat ), + data = dat )
> summary( prodQuad ) Call:
lm(formula = qOut ~ qCap + qLab + qMat + I(0.5 * qCap^2) + I(0.5 * qLab^2) + I(0.5 * qMat^2) + I(qCap * qLab) + I(qCap * qMat) + I(qLab * qMat), data = dat)
Residuals:
Min 1Q Median 3Q Max
-3928802 -695518 -186123 545509 4474143
Coefficients:
Estimate Std. Error t value Pr(>|t|) (Intercept) -2.911e+05 3.615e+05 -0.805 0.422072
qCap 5.270e+00 4.403e+00 1.197 0.233532
qLab 6.077e+00 3.185e+00 1.908 0.058581 .
qMat 1.430e+01 2.406e+01 0.595 0.553168
I(0.5 * qCap^2) 5.032e-05 3.699e-05 1.360 0.176039 I(0.5 * qLab^2) -3.084e-05 2.081e-05 -1.482 0.140671 I(0.5 * qMat^2) -1.896e-03 8.951e-04 -2.118 0.036106 * I(qCap * qLab) -3.097e-05 1.498e-05 -2.067 0.040763 * I(qCap * qMat) -4.160e-05 1.474e-04 -0.282 0.778206 I(qLab * qMat) 4.011e-04 1.112e-04 3.608 0.000439 ***
---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1344000 on 130 degrees of freedom Multiple R-squared: 0.8449, Adjusted R-squared: 0.8342 F-statistic: 78.68 on 9 and 130 DF, p-value: < 2.2e-16
Although many of the estimated coefficients are statistically not significantly different from zero, the statistical significance of some quadratic and interaction terms indicates that the linear pro-duction function, which neither has quadratic terms not interaction terms, is not suitable to model the true production technology. As the linear production function is “nested” in the quadratic production function, we can apply a “Wald test” or a likelihood ratio test to check whether the linear production function is rejected in favor of the quadratic production function. These tests can be done by the functions waldtest and lrtest (package lmtest):
> library( "lmtest" )
> waldtest( prodLin, prodQuad ) Wald test
Model 1: qOut ~ qCap + qLab + qMat
Model 2: qOut ~ qCap + qLab + qMat + I(0.5 * qCap^2) + I(0.5 * qLab^2) + I(0.5 * qMat^2) + I(qCap * qLab) + I(qCap * qMat) + I(qLab *
qMat)
Res.Df Df F Pr(>F)
1 136
2 130 6 8.1133 1.869e-07 ***
---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> lrtest( prodLin, prodQuad ) Likelihood ratio test
Model 1: qOut ~ qCap + qLab + qMat
Model 2: qOut ~ qCap + qLab + qMat + I(0.5 * qCap^2) + I(0.5 * qLab^2) + I(0.5 * qMat^2) + I(qCap * qLab) + I(qCap * qMat) + I(qLab *
qMat)
#Df LogLik Df Chisq Pr(>Chisq) 1 5 -2191.3
2 11 -2169.1 6 44.529 5.806e-08 ***
---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
These tests show that the linear production function is clearly inferior to the quadratic production function and hence, should not be used for analyzing the production technology of the firms in this data set.
2.5.3 Properties
We cannot see from the estimated coefficients whether the monotonicity condition is fulfilled.
Unless all coefficients are non-negative (but not necessarily the intercept), quadratic production functions cannot be globally monotone, because there will always be a set of input quantities that result in negative marginal products. We will check the monotonicity condition at each observation in section 2.5.5.
Our estimated quadratic production function does not fulfill the weak essentiality assumption, because the intercept is different from zero (but its deviation from zero is not statistically signif-icant). The production technology described by a quadratic production function with more than one (relevant) input never shows strict essentiality.
The input requirement sets derived from quadratic production functions are always closed and non-empty.
The quadratic production function always returns finite, real, and single values but the non-negativity assumption is only fulfilled, if all coefficients (including the intercept), are non-negative.
All quadratic production functions are continuous and twice-continuously differentiable.
2.5.4 Predicted output quantities
We can obtain the predicted output quantities with the fitted method:
We can obtain the predicted output quantities with the fitted method: