こんにちは、ナスビーニョです。
経済学では何気もなしにラグランジュ未定乗数法を使って解きますが、今回はなぜラグランジュ未定乗数が上手く機能するのかを紹介していこうと思います。
取り上げるのは、2変数関数の条件付き最大化です。
例えば、ミクロ経済学で出てくる予算制約ありの効用最大化問題などがあります。
U(x,y)=αlogx+βlogy s.t. px+qy=m
0<α, β<1\ ,p>0\ ,q>0\ ,m>0
ここでU(x,y), p, q, mはそれぞれ効用関数、x財の価格、y財の価格、予算とします。
これをラグランジュ未定乗数法と一階の条件を使い解いた時は以下の様になります。
ℒ=αlogx+βlogy+\lambda(m-px-qy)
\frac{\partial ℒ}{\partial x}=\frac{\alpha}{x}-\lambda p=0 ・・・①
\frac{\partial ℒ}{\partial y}=\frac{\beta}{y}-\lambda q=0 ・・・②
\frac{\partial ℒ}{\partial\lambda}=m-px-qy=0 ・・・③
①と②より
\frac{\frac{\alpha}{x}}{\frac{\beta}{y}}=\frac{p}{q}
y=\frac{p}{q}\frac{x}{\alpha}\beta ・・・④
④を③に代入して解くと、
x*=\frac{\alpha m}{p(\alpha+\beta)}
y*=\frac{\beta m}{q(\alpha+\beta)}
となります。少し煩雑かもしれませんが、自分で解いてみるとこのようになるのが分かると思います。ちなみにこの解はよくみるコブダグラス型の効用関数U(x,y)=x^\alpha y^\betaを使って解いた解と一致します。
それでは本題に入って行きましょう。今度はより一般的な形を考えていきます。先ほどの制約あり効用最大化は次のように表されます。
\newcommand{\argmax}{\mathop{\rm arg~max}\limits}\max_{x,y} f(x,y) ・・・①
s.t.\ g(x,y)=0・・・②
ここで陰関数という概念を使います。陰関数とはyをxの形で表わすことが出来ない関数のことを言います。例えば、x+2y=3であればyの値はxによって決まります。このような関数を陽関数と言います。またy=f(x)と表わされます。
しかしx^2+y^2=3などではyは必ずしもxの値によって決まりません。このような場合のf(x,y)=0をyについて解けたと仮定したものを陰関数といいます。詳しい定義はこちら
それではyについて解けたと仮定しましょう。
y=h(x)・・・③(陰関数)
またこの時、g(x,h(x))\equiv 0・・・④が常に成り立ちます。
次に③を①に代入してみましょう。
\newcommand{\argmax}{\mathop{\rm arg~max}\limits}\max_{x} f(x,h(x))
これで1変数の最大化になりました。一階の条件を使い最大化されるxを求めましょう。
f_x+f_yh_x=0・・・⑤
ここでf_x=\frac{\partial f}{\partial x}, f_y=\frac{\partial f}{\partial y}, h_x=\frac{\partial y}{\partial x}を表しています。
f_yh_xとなっているのは合成関数の微分をしているからです。⑤を解くことができればxが求まります。でも何のこっちゃ分からないですよね。もう少し我慢してみてください。
次に④からh_x=\frac{\partial y}{\partial x}の値を求めます。
④は恒等式であり、両辺をxで微分したものも等しいという性質を使います。
g_x+g_yh_x=0
よってh_x=\frac{\partial y}{\partial x}=-\frac{g_x}{g_y} ・・・⑥であることが分かりました。
⑥を⑤に代入するとf_x+f_y(-\frac{g_x}{g_y})=0
整理すると\frac{f_x}{g_x}=\frac{f_y}{g_y}を得ます。
これをλを使い表すことにします。\frac{f_x}{g_x}=\frac{f_y}{g_y}=-\lambda
そうすれば、以下の式を得ます。
f_x+\lambda g_x=0
f_y+\lambda g_y=0
これはℒ(x,y,\lambda)としたときの一階の条件に似ています。
これにg(x,y)=0を足しましょう。
f_x+\lambda g_x=0
f_y+\lambda g_y=0
g(x,y)=0
出来ました!つまり⑤を解くのがこの3つの式を解くものに変わったというわけですね。
さらにこれは ℒ(x,y,\lambda)=f(x,y)+\lambda g(x,y) を一階の条件とおいたのと等しいですよね。
つまり最初からℒ(x,y,\lambda)=f(x,y)+\lambda g(x,y) とおいてこの関数をx,y,λについて最大化してあげればよいのです。
ラグランジュ未定乗数法とはこのように、制約つきの2変数関数の最大化問題を上手く解けるように設定してあげただけとも言えるかもしれません(あまり変なことを言っていたら数学科の人に怒られそうです)。
あとがき
ちなみに調べるとラグランジュ未定乗数法を調べると幾何学的な説明も出てきたりしてさっぱりよく分かりませんが、この陰関数の微分を使った説明はまだわかりやすいかなと思いました。
なぜラグランジュ未定乗数が使えるのか気になった人の役に立てば幸いです!
P.S. 分かりやすく説明するのは難しいです。質問・訂正などがあれば教えてください。この方法は数理経済学という授業で習ったものです。