Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

コブ=ダグラス型関数

コブ=ダグラス型関数(Cobb–Douglas function) は、投入要素間の代替の弾力性が1である生産関数や効用関数

2生産要素のコブ=ダグラス型生産関数

性質

1. 収穫逓減を表現できる

収穫逓減などはα,β\alpha, \betaで設定できる

  • α+β=1\alpha+\beta=1: 収穫一定

  • α+β>1\alpha+\beta>1: 収穫逓増

  • α+β<1\alpha+\beta<1: 収穫逓減

2. 限界生産力が計算しやすい

資本や労働を1単位増やしたときの増分が微分で簡単に出せる

労働の限界生産力は

YL=AKαβLβ1\frac{\partial Y}{\partial L}=A K^\alpha \beta L^{\beta-1}

資本の限界生産力は

YK=AαKα1Lβ\frac{\partial Y}{\partial K}=A \alpha K^{\alpha-1} L^\beta

3. 対数をとると線形になる

両辺の対数をとると

logY=logA+αlogK+βlogL\log Y=\log A+\alpha \log K+\beta \log L

となるので、回帰分析で扱いやすい。

Source
import numpy as np
import matplotlib.pyplot as plt

# パラメータ
A = 1.0
alpha = 0.4
beta = 0.6

# 入力の範囲
K = np.linspace(1, 10, 100)   # 資本
L = np.linspace(1, 10, 100)   # 労働

# 格子点を作る
K_grid, L_grid = np.meshgrid(K, L)

# コブ=ダグラス型生産関数
Y = A * (K_grid ** alpha) * (L_grid ** beta)

# 3Dプロット
fig = plt.figure(figsize=(8, 6))
ax = fig.add_subplot(111, projection="3d")

surf = ax.plot_surface(K_grid, L_grid, Y)

ax.set_xlabel("Capital K")
ax.set_ylabel("Labor L")
ax.set_zlabel("Output Y")
ax.set_title("Cobb-Douglas Production Function")

plt.show()
<Figure size 800x600 with 1 Axes>
Source
import numpy as np
import matplotlib.pyplot as plt

# パラメータ
A = 1.0
alpha = 0.4
beta = 0.6

# 入力の範囲
K = np.linspace(1, 10, 200)
L = np.linspace(1, 10, 200)

K_grid, L_grid = np.meshgrid(K, L)
Y = A * (K_grid ** alpha) * (L_grid ** beta)

# 等高線プロット
plt.figure(figsize=(7, 6))
contour = plt.contourf(K_grid, L_grid, Y, levels=20)
plt.colorbar(contour, label="Output Y")

plt.xlabel("Capital K")
plt.ylabel("Labor L")
plt.title("Cobb-Douglas Production Function (Contour Plot)")
plt.show()
<Figure size 700x600 with 2 Axes>

2財の効用関数

この関数は

  • 両方の財をバランスよく消費すると効用が高い

  • どちらか一方だけでは効用は伸びにくい(完全代替ではない)

という「滑らかで凸な選好」を表す。

パラメータについての仮定

よく使われる仮定

  • α>0,β>0\alpha > 0, \beta > 0(単調性)

  • α<1,β<1\alpha < 1, \beta < 1(限界効用逓減)

  • α+β=1\alpha + \beta = 1(正規化)

性質

1. 限界効用逓減

MUx=Ux=αxα1yβMU_x = \frac{\partial U}{\partial x} = \alpha x^{\alpha-1} y^{\beta}
MUy=Uy=βxαyβ1MU_y = \frac{\partial U}{\partial y} = \beta x^{\alpha} y^{\beta-1}

消費が増えると限界効用は逓減(diminishing marginal utility)

具体的には

  • xx の限界効用が逓減する ⇔ α<1\alpha < 1

  • yy の限界効用が逓減する ⇔ β<1\beta < 1

2. 限界代替率(MRS)

MRS=MUxMUy=αβyxMRS = \frac{MU_x}{MU_y} = \frac{\alpha}{\beta} \cdot \frac{y}{x}
  • 逓減する(無差別曲線が凸)

  • 「xが多いほど、xの価値は相対的に下がる」

3. 同次性(homothetic)

ある単調増加関数 ff と 同次関数 VV が存在して、効用関数 UU

U(x)=f(V(x))U(x)=f(V(x))

と書ける選好を 相似拡大的選好(homothetic preferences) という。

例えば2財の効用関数においては

U(tx,ty)=tα+βU(x,y)U(tx, ty) = t^{\alpha+\beta} U(x, y)

を満たすとき、選好が相似拡大的であるという。コブ=ダグラス型効用関数は相似拡大的である。

選好が相似拡大的であるとき、無差別曲線は「原点からの放射方向」にそのまま拡大される。つまり、消費の比率が同じなら所得が増えても好みは変わらないという性質になる

4. 最適消費(需要関数)

予算制約

pxx+pyy=Ip_x x + p_y y = I

のもとで効用最大化する消費量は

x=αα+βIpxy=βα+βIpyx^* = \frac{\alpha}{\alpha+\beta} \cdot \frac{I}{p_x}\\ y^* = \frac{\beta}{\alpha+\beta} \cdot \frac{I}{p_y}

となる

解釈:

  • 所得の一定割合を各財に使う(支出シェア一定)

  • α,β\alpha, \beta が「支出比率」になる

Source
import numpy as np
import matplotlib.pyplot as plt

# パラメータ
alpha = 0.5
beta = 0.5

# 財 x, y の範囲
x = np.linspace(0.1, 10, 300)
y = np.linspace(0.1, 10, 300)

# 格子点
X, Y = np.meshgrid(x, y)

# 効用関数
U = (X ** alpha) * (Y ** beta)

# 等高線プロット
plt.figure(figsize=(7, 6))
contour = plt.contour(X, Y, U, levels=10)
plt.clabel(contour, inline=True, fontsize=9)

plt.xlabel("x")
plt.ylabel("y")
plt.title("Contour Plot of Cobb-Douglas Utility Function")
plt.grid(True, alpha=0.3)
plt.show()
<Figure size 700x600 with 1 Axes>

ビジネスでの応用例

売上=OOHβOOH×TVCMβTVCM×ϵ売上 = OOH広告^{\beta_{OOH}} \times TVCM^{\beta_{TVCM}} \times \epsilon

MMMモデルを推定した。で、結局どうやって予算最適化すればいいの? #Python - Qiita