柯布-道格拉斯生产函数在引入数据时具有吸引人的统计特性。 该函数如下所示。
Y = z K α L 1 − α Y=z K^\alpha L^{1-\alpha} Y=zKαL1−α
该函数的参数化为:
现在,我们定义一个函数,该函数计算参数为 z = 1 z=1 z=1 和 α = 0.33 \alpha=0.33 α=0.33 的柯布-道格拉斯生产函数的输出,并接受输入 K K K 和 L L L。
def cobb_douglas(K, L):
# Create alpha and z
z = 1
alpha = 0.33
return z * K**alpha * L**(1 - alpha)
我们可以像使用均值函数一样使用这个函数。
cobb_douglas(1.0, 0.5)
输出
0.6285066872609142
经济学家经常对这个问题感兴趣:如果我们修改投入,产出会发生多大变化?例如,采用生产函数 Y 1 = F ( K 1 , L 1 ) Y_1=F\left(K_1, L_1\right) Y1=F(K1,L1),它生产 Y 1 Y_1 Y1 单位的货物。如果我们将输入分别乘以 γ \gamma γ,则 K 2 = γ K 1 K_2=\gamma K_1 K2=γK1 和 L 2 = γ L 1 L_2=\gamma L_1 L2=γL1,则输出为
Y 2 = F ( K 2 , L 2 ) = F ( γ K 1 , γ L 1 ) Y_2=F\left(K_2, L_2\right)=F\left(\gamma K_1, \gamma L_1\right) Y2=F(K2,L2)=F(γK1,γL1)
Y 1 Y_1 Y1 与 Y 2 Y_2 Y2 相比如何?
如果对于任意 K , L K, L K,L,我们将 K , L K, L K,L 乘以一个值 γ \gamma γ 则
让我们尝试一下,看看我们的函数结果是什么!
y1 = cobb_douglas(1.0, 0.5)
print(y1)
y2 = cobb_douglas(2*1.0, 2*0.5)
print(y2)
输出:
0.6285066872609142
1.2570133745218284
Y 1 Y_1 Y1 和 Y 2 Y_2 Y2 有什么关系?
y2 / y1
输出:
2.0
Y 2 Y_2 Y2 恰好是 Y 1 Y_1 Y1 的两倍!
让我们编写一个函数来计算 K K K 和 L L L 不同值的规模回报。
这是一个示例,说明编写函数如何让我们能够以我们最初意想不到的方式重用代码。
def returns_to_scale(K, L, gamma):
y1 = cobb_douglas(K, L)
y2 = cobb_douglas(gamma*K, gamma*L)
y_ratio = y2 / y1
return y_ratio / gamma
returns_to_scale(1.0, 0.5, 2.0)
输出:
1.0
事实证明,通过一点代数,我们可以检查这对于上面的柯布-道格拉斯示例是否始终成立。