生涯効用の計算

一個前の記事「負の値をとる変数の変化率(?)」で、負の値をとる変数の変化率の話を書きました。なぜそんなことを書いたのかというと、動学モデルで生涯効用の計算をする必要があったからです。

「生涯効用」

マクロ経済学などでは家計の動学的な最適化行動を想定することが多いです。家計が生涯効用(lifetime utility)を最大にするように消費(や貯蓄)を決定するという想定です。

その際に次のような生涯効用関数が使われます。


\displaystyle A式:\hspace{1em} u = \sum_{t=0}^{\infty} \alpha_t v_t

ただし、u は生涯効用、v_{t} は t 時点における効用で、\alpha_{t} は割引要因です。\alpha_{t} は主観的割引率を \beta とすると \alpha_{t} = (1/(1+\beta)^t となります。

つまり、生涯効用は各時点の効用の割引現在価値の総和として定義されます。

通常、一時点での効用は消費に依存すると仮定されるので、

 \displaystyle
v_t = v(c_t)

のように表現できます。c_{t} は t 時点における消費です。

注:ここでは効用が消費にのみ依存するという前提を置いていますが、余暇にも依存すると想定する場合もあります。マクロ経済学のDSGEモデルはそう仮定することが多いと思います。余暇も含めた考えても以下の議論は変わらないと思います。

一時点での効用を表わす関数 v は "felicity function", "instantaneous utility function", "period utility function" などと呼ばれます。以下では「瞬時的効用関数(instantenous utility function)」と呼ぶことにします。

この瞬時的効用関数としては以下の関数が使われることが多いです。


\displaystyle B式:\hspace{1em} v_t = f(c_t) = \frac{c_t^{1-\theta}}{1-\theta}

ただし、\theta は異時点間の代替の弾力性の逆数を表すパラメータで、\sigma を異時点間の代替の弾力性とすると、\theta = 1/\sigma です。

このタイプは、例えば、著名な David Romer マクロ経済学の教科書『Advanced Macroeconomics』で利用されています。

Romer, D., 2012. Advanced macroeconomics. Fourth edition. New York: McGraw-Hill/Irwin.

これも著名な経済成長論の教科書である Barro and Salai-i-Martin 『Economic Growth』ではB式を少し変えた以下のようなタイプが使われています。


\displaystyle f(c_t) = \frac{c_t^{1-\theta} - 1} {1 - \theta}
Barro, R.J. and Sala-i-Martin, X. (2004) Economic growth, Second Edition, MIT Press.

ただ、これは基本的には Romer の式と同じようなものなので、以下では Romer の方のB式を前提にして話を進めます(Barro and Sala-i-Martin の定式化では、\theta \rightarrow 1 とすると f(c_{t}) \rightarrow  \log(c_{t}) になります)。

B式のように特定化された場合、仮に \sigma \lt 1 とすると、\theta \gt 1 となります。ですので、必ず v_{t} \lt 0 となり、「u \lt 0」となります。つまり、異時点間の代替の弾力性が1より小さいときには、生涯効用は必ず負の値になります

c_{t} の増加によって u は上昇しますから、単調増加の関係はあります。つまり、各期の消費が増加すれば生涯効用は上昇するという関係はあります。ただ、それが、例えば、「−10から−5に上昇する」というようにマイナスの範囲で上昇する関係になるということです。

今、無限期間ではなく、terminal period(T)を有限として「T = 200」とし、さらに、beta = 0.05、sigma = 0.5、 c\_{t} = 100 for all t として u を求めると「u = -0.209988」となります。

beta と sigma は同じままで  c\_{t} = 200 for all t とすると「u = -0.104994」となります。 c\_{t} が多いほどu は上昇します。

以下の図は、beta = 0.05、sigma = 0.5とし、 c_{t} を「10 - 200」の間を動かしたときの u の値をプロットしたものです。


20220908211658



仮に生涯効用 u の大小関係しか関心がないのなら、これで何も問題がありません。大小関係を考えるときには負の値であっても全く問題ないからです。

しかし、u がどれくらい変化したかを考えたいときにはこれでは少し困ります。変化の大きさを測るのにできれば変化率を使いたいのですが、u の変化率が計算できないからです。

負の値をとる変数の変化率を計算できないのかということを考えたのは、上のように生涯効用の変化率を求めようとしたからでした。



「序数的効用」と「基数的効用」

ミクロ経済学の教科書によく出てくることですが、そもそも「効用」という指標については「序数的効用」「基数的効用」という二つの考え方があります。

  • 序数的効用(ordinal utility) → 効用は大小関係にのみ意味があるという考え方
  • 基数的効用(cardinal utility) → 効用の水準に意味があるという考え方。

さらに、基数的効用については ①「絶対的な水準に意味がある」という考え方と、②「絶対的な水準には意味がないが、比率には意味がある」という考え方の二つに分けられると思います。もう少し具体的に言うと

  • ① 効用 = 2 という数字。この 2 という数字に意味があるという考え方。この場合は効用水準の他人との比較も可能。
  • ② 絶対的な値には意味がないが、変化率は意味があるという考え方。この場合、効用が2倍になった、効用が 1/2 になったと言うことが可能。

さすがに前者の考え方を適切だと考える人はほとんどいないと思うので、以下では「基数的=②の考え方」という前提で話を進めます。

以上のように、「序数的」、「基数的」の二つの考え方があるのですが、そもそも序数的な考え方しか意味がないと主張する人も多いと思います。例えば、ミクロ経済学の教科書として有名な、神取道宏先生の『ミクロ経済学の力』という教科書には次のような説明があります。

重要なのは効用の大小であり、効用の絶対的な大きさには意味がありません。

u(ウーロン茶) = 2,
u(ビール) = 1

であると経済学者がいうとき、これが意味するのは、ウーロン茶の満足度はビールの満足度の2倍であるということではなく、単にウーロン茶のほうがビールよりも好きだということなのです。別に

u(ウーロン茶) = 1000000000000,
u(ビール) = 1

としてもよいわけです。

「効用というものは大小関係しか意味がない」と書いていますので、序数的な考え方は意味があるが、基数的な考え方は意味がないと主張しています。このように考えている人は多いと思いますし、こう説明している教科書も多いと思います。しかし、基数的効用の考え方を利用する人も少なくはないと思います。

というのは、動学モデルで普通に使われている生涯効用の計算は基数的な効用を前提とするからです。

上で見たように、生涯効用は各時点の効用(瞬時的効用)の加重和です。「足す」という演算をしていることは、瞬時的効用は大小関係のみではなく、その水準に意味があるということになります。つまり、基数的な意味を持っているということです。

同じようなことは、不確実性を扱うモデルで出てくる「期待効用(expected utility)」 にも言えます。


\displaystyle 
期待効用 = \sum_{i} 状態 i の生じる確率 \times 状態 i での効用水準

というように期待効用は各状態での効用の加重和として計算されます。これはやはり各状態の効用が基数的な意味を持つということを前提としています。そもそも期待効用は「効用の期待値をとったものだから期待効用」なのでしょうから、大小関係しか意味がないとすると期待値を計算することができなくなり、期待効用の考え方・名前自体が成り立たなくなると思います。

こう考えると、よく使われる A 式とB 式による生涯効用関数の特定化は少しおかしいような気します。

B式の瞬時的効用関数を仮定した場合、sigma < 1 なら、生涯効用は必ずマイナスになり変化率も計算できなくなります。つまり生涯効用の値は序数的な意味しかないものになってしまいます。しかし、基数的な意味を持つ効用(瞬時的効用)から計算した全体としての効用(生涯効用)が序数的な意味しかないというのは変じゃないでしょうか?元々、足すことができるという前提で考えている各期間の効用から計算する効用が大小関係しか意味がないというのはどこかしっくりきません。

いっそのこと生涯効用は


\displaystyle u = \left( \sum_{t=0}^{\infty} \alpha_t c^{1-\theta} \right)^{\frac{1}{1-\theta}}

のような CES 型にしたらどうかと思います。こうすれば生涯効用は(\sigmaがどんな値でも)常にプラスになりますし、変化率も計算できます。実際、このタイプの生涯効用関数は MIT の(forward-looking versionの)EPPA model で利用されています。

Babiker, M., A. Gurgel, S. Paltsev & J. Reilly (2008): A Forward Looking Version of the MIT Emissions Prediction and Policy Analysis (EPPA) Model. Joint Program Report Series Report 161, 18 pages (http://globalchange.mit.edu/publication/15538)

ただ、これはこれで解釈に少し困りますが。



基数的な効用というのは確かに理論的にも、現実的にもおかしい部分があるので、序数的な効用しか意味がないと考える人がいるのはわかります。ただ、一方で(瞬時的効用に)基数的な意味を与えながら、もう一方(生涯効用)では序数的な意味しか考えないというのはちょっとおかしい気がします。

そもそも「2倍になる」ということが意味を持つ「瞬時的効用」の加重和をとることで求めているのに、「生涯効用が2倍になるという表現はおかしい」というのはなんだかおかしいです。


長々と書いてきたのですが、この生涯効用、期待効用の計算における序数、基数の問題については、以下の教科書で詳しく扱われています。

林貴志(2013)『ミクロ経済学(増補版)』,ミネルヴァ書房




ただ、著者の林先生は私とは全然違う考え方をしています。これについてはまた今度。

この続き→ 「生涯効用の計算(つづき)」