코부다 글라스 타입 생산 함수 (효용 함수)의 시각화
7735 단어 Jupyter-notebook파이썬경제학
소개
만나서 반갑습니다, leisurely라고합니다. 이 기사는, 경제학을 공부해 가는데 있어서 피할 수 없는 「코부다글라스형 생산 함수」를 3D 그래프를 이용해 가시화합니다.
왜 이 기사를 쓰려고 했는가? 그것은 교과서나 강의에서 선생님이 칠판에 쓰는 코부다글라스형 생산 함수의 그래프를 이해하기 어렵기 때문입니다. (교과서나 선생님을 비판하고 있는 것이 아니라, 종이나 칠판이라는 2차원에 3차원 그래프를 그린다.
당연히, 교과서나 칠판의 그래프로 이해할 수 있는 분도 계신다고 생각합니다.
게다가 아라도 히로키씨( htps : // 라고 해서 r. 코 m/히로키 아라토 )의 일련의 트윗에서의 「R에 의한 코부다글라스형 생산 함수의 가시화」에 감명을 받았기 때문입니다.
일련의 트윗:
htps : // 라고 해서 r. 코 m/히로키 아라토/s 타츠 s/1001466936989962240
htps : // 라고 해서 r. 코 m/히로키 아라토/s 타츠 s/1001482183515586561
htps : // 라고 해서 r. 코 m/히로키 아라토/s 타츠 s/1001491836785983488
나는 R보다 파이썬을 사용하는 것이 많기 때문에 파이썬에서 구현을 시도했습니다.
구현은 Jupyter Notebook에서 Python을 사용하여 수행됩니다.
※이 기사는 프로그래밍을 배우는 것이 아니라, 프로그래밍이라고 하는 툴을 이용해 경제학을 보다 이해하는 것이 목적입니다. 또, 프로그래밍 모르지만 결과만 보고 싶다고 하는 분을 위해서, 마지막에 결과를 실고 있습니다.
코부다글라스형 생산 함수
만약을 위해, 코부다글라스형 생산함수에 대해 숙고해 둡니다. 생산량을 Y, 자본을 K, 노동 투입량을 L로 한 경우,
Y=K^{\alpha} L^{\beta}
로 표시된 생산 함수입니다. $\alpha$ 및 $\beta$는 양의 상수를 나타냅니다.
$\alpha +\beta = 1$ 이면 1차 동차 함수입니다. 이번에는 1차 동차 함수를 다루겠습니다.
코드 구현
즉시 코드를 구현합니다. 결과만을 보고 싶은 사람은 건너뛰어도 상관없습니다.
코드의 구현에 있어서 「jupyter notebook로 접하는 플롯을 그린다 ( htp // ksk w. 하테나 bぉg. 코m/엔트리/2016/08/04/233103 )」를 참고로 했습니다. 라고 말하고 싶은 곳이지만, 90 % 복사하고 있습니다.
또 코드의 설명에 대해서도 필요 최소한에 그치고 있습니다. 자세한 설명은 상기 URL에서 부탁드립니다.
그럼 코드입니다.
%matplotlib notebook
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
def f(k, l):
return k**(1/2) * l**(1/2)
k = np.arange(0, 100, 2.5)
l = np.arange(0, 100, 2.5)
K, L = np.meshgrid(k, l)
Y = f(K, L)
fig = plt.figure()
ax = Axes3D(fig)
ax.set_xlabel("K")
ax.set_ylabel("L")
ax.set_zlabel("Y")
ax.plot_wireframe(K, L, Y)
plt.show()
이상이 구현한 코드가 됩니다. 하나만 설명하면,
def f(k, l):
return k**(1/2) * l**(1/2)
이 함수의 정의에서 $k$, $l$ 의 지수를 변경시킴으로써 그래프의 형상과 임의의 $n$차 동차 함수로 변화시킬 수 있습니다.
결과: 시각화된 코부다글라스 유형 생산 함수
위의 코드를 실행하면 다음과 같은 그래프가 플롯됩니다.
선생님이 고생하면서 칠판에 쓰여진 그래프다!
이 그래프는 다양한 각도에서도 볼 수 있습니다.
이상이 코부다글라스형 생산함수의 가시화가 됩니다.
여러분의 경제학 공부의 참고가 되시면 감사하겠습니다.
2019.08.22 추가
메쉬에서의 플롯에서는 등량 곡선이 이해하기 어렵기 때문에 등고선에 의한 플롯도 실시했습니다.
어느 쪽이든 효용 최대화 문제의 무차별 곡선을 이해하기 위해 씁니다. 뭐 기본은 함께입니다.
세로축・가로축이 Y・X, 높이가 U를 대신하고 있습니다만 신경쓰지 말아 주세요. (이 경우, 등량 곡선이 아니라 무차별 곡선이군요)
ax.plot_wireframe(K, L, Y) #これを
ax.contour(K, L, Y, 15) #これに書き直す。最後の数字は等高線の数
코드는 위의 코드 중 일부를 다시 작성하십시오.
Reference
이 문제에 관하여(코부다 글라스 타입 생산 함수 (효용 함수)의 시각화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/leisurely/items/b67cf2cd058a2a01295b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Y=K^{\alpha} L^{\beta}
%matplotlib notebook
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
def f(k, l):
return k**(1/2) * l**(1/2)
k = np.arange(0, 100, 2.5)
l = np.arange(0, 100, 2.5)
K, L = np.meshgrid(k, l)
Y = f(K, L)
fig = plt.figure()
ax = Axes3D(fig)
ax.set_xlabel("K")
ax.set_ylabel("L")
ax.set_zlabel("Y")
ax.plot_wireframe(K, L, Y)
plt.show()
def f(k, l):
return k**(1/2) * l**(1/2)
ax.plot_wireframe(K, L, Y) #これを
ax.contour(K, L, Y, 15) #これに書き直す。最後の数字は等高線の数
Reference
이 문제에 관하여(코부다 글라스 타입 생산 함수 (효용 함수)의 시각화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/leisurely/items/b67cf2cd058a2a01295b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)