最適成長モデルの数値解析
(計算経済学の研究その15)
Numerical Analysis of Optimal Growth Models
釜 国男
*Kunio KAMA
現代のマクロ経済学で最も影響力があるのは動学的一般均衡理論である。細部に違いはあるも のの、大半のモデルはこの理論に基づいている。動学的一般均衡モデルは複雑な構造をもち、そ の解を厳密に求めることは難しい。このため例外的な場合を除いて、数値的な方法で近似解を求 める。最適成長モデルは戦後のマクロ経済学の発展をもたらした重要なモデルであり、いまでも 盛んに研究されている。理論的な研究では具体的な解を求める必要はないが、政策問題を議論す るときには実際に解を求める必要がある。これまで最適成長モデルについてさまざまな解法が開 発されている。離散時間モデルの場合には、反復解法やプロジェクション法、PEA 法などが用 いられる。簡単な連続時間モデルには、摂動法が有効である
1)。連続時間モデルに現れる微分方 程式の数値解法として、差分法が重要である。差分法は計算が簡単で、ベルマン方程式に適用さ れる。この章ではラムゼイモデルのベルマン方程式に差分法を適用する方法について検討する。
1. 差分スキームの収束条件
最初に、つぎの放物型偏微分方程式について考えよう。
0 ) , , , ,
(
2F t x u Du D u
u
t RQ( 0 , T ] u R
N (1)) ( ) , 0
( x u0 x
u RQRN (2)
ここで
B A if B p u x t F A p u x t
F ( , , , , )
d( , , , , ),
tと仮定する。差分法は
(1)の偏微分方程式を次式で近似する方法である。
0 ) ] [ ), , ( , , ,
(h t x uh t x uh t,x
S (3)
*
創価大学経済学部、教授
) ( )
, 0
( x u
,0x
u
h h (4)ここで
hは
t, xの分点の間隔を表す。u
hは点
(t,x)における
uの値、[u
h]t,xは
(t,x)以外の点にお ける値である。(2) の初期条件を満たしながら、(3) 式の反復計算によって
(1)の解を求める。も ちろん、反復計算は無条件に収束するわけではない。この点に関して、
Barles=Souganidis(1991)
の定理が重要である。この定理が成り立つためには、つぎの三つの条件
を満たさなければならない。
(単調性)
二つの関数
u, vについて、u
≤vであれば
) , , , , ( ) , , , ,
( h t x r u S h t x r v
S t
が成り立つ。
(一致性)
滑らかな関数Φ(・,・) に対して、
, ) 0
)]
, ( [ ), , ( , , ,
( ) ) oo
x h
x t
t x t x t h
S )t F(t,x,)(t,x),D),D2))
が成り立つ。
(安定性)
任意の
h>0に対して、近似解は一様有界である。
[Barles=Souganidis の定理]
(3)
と
(4)の近似式が以上の三つの条件を満たすと、数値解は真の解へ局所一様収束する。
動的計画法の
HJB方程式の場合、単調性の条件を満たすことは簡単ではない。これに関連して、
第
3節で説明する前進差分と後退差分の区別は重要である。ほかの二つの条件を満たすことはそれほど難しくない。これらの条件を満たし、しかもプログラミングが簡単な方法を用いるべきである。
2. 熱伝導方程式
つぎの熱伝導方程式に差分法を適用しよう。
0
xxt
u
u
RQ(0,T]uR (5)) ( ) , 0
( x u
0x
u
(6)いま
utを前進差分で近似し、u
xxを中央差分で近似すると、(5) は
2 1
1 1
) (
2 x
u u u
t u
uin in in in in '
'
と表される。これより
»¼
« º
¬ ª
' '
2 1
1 1
) (
2 x
u u t u
u
u
in in in in in (7)となる。この式から
n+1回目の近似値を計算する方法を陽解法という。(3)において
]) , , [, , , ) 1 ( , ,
( t x n t i x u
in 1u
in1u
inu
in1S
'
' '
'
2 1
1 1
) (
2 x
u u u
t u
u
in in in in in'
'
(8)
である。
数値計算では誤差が大なり小なり発生する。分点 (nΔt,(i+1)Δx) における関数値を
uni+1と表し、
u(t,x)
をテイラー展開すると
) ( ) ( ) 24 (
) 1 6 (
) 1 )(
, 2 (
) 1 ,
( 2 3 4 4
1 u u n t x x u n t x x u x u x x x
uin in x ' i ' xx ' i ' xxx ' xxxx ' ' H ' )
( ) ( ) 24 (
) 1 6 (
) 1 )(
, 2 (
) 1 ,
( 2 3 4 4
1 u u n t x x u n t x x u x u x x x
uin in x ' i ' xx ' i ' xxx ' xxxx ' ' H '
) ( ) ( ) 24 (
) 1 6 (
) 1 )(
, 2 (
) 1 ,
( 2 3 4 4
1 u u n t x x u n t x x u x u x x x
uin in x ' i ' xx ' i ' xxx ' xxxx ' ' H ' )
( ) ( ) 24 (
) 1 6 (
) 1 )(
, 2 (
) 1 ,
( 2 3 4 4
1 u u n t x x u n t x x u x u x x x
uin in x ' i ' xx ' i ' xxx ' xxxx ' ' H '
となる。辺々加えて整理すると
'
2 1
1
) (
2 x
u u
uin in in ( ) ( )
12
1 u x 2 o x2
uxx xxxx ' '
これより、u
xxの打切り誤差は
2次のオーダーとなることがわかる。同様に、) ( ) ( ) )(
, 2 (
) 1 ,
( 2 2
1 u u n t x t u n t x t t t
uin in t ' i ' tt ' i ' ' H '
から
) 2 (
) 1 ,
1
(
t t t u x
t n t u
u u
tt i
t in
in ' ' ' '
'
H
となり、u
tの打切り誤差は
1次のオーダーとなる。
(8) の
Sが
uni-1 , uni , uni+1に関して減少関数であれば、(8) のスキームは単調性の条件を満たす。
明らかに
Sは
uni-1と
uni+1に関して減少関数である。つぎの
CFL条件を満たしていると、u
niに関
しても減少関数となる。
)2
2(
1 x
td ' '
時間間隔を格子間隔の
2乗に比例して小さくとると、この条件は満たされる。CFL 条件に違反す ると、積分を繰り返すうちに誤差が累積して数値解は発散してしまう。
陽解法の計算は簡単であるが、時間間隔を自由に選べないという難点がある。つぎに説明する 陰解法にはこうした制約はない。このため時間間隔を大きくとっても、数値的に安定した解が得 られる。(5) の
uxxを中央差分で置き換えると、近似式は
2 11 1 11
1
) (
2 x
u u u
t u
u
in in in in in'
'
となる。整理すると
) (
) 2 1
(
in1 in11 in11in
r u r u u
u
r ' t /( ' x )
2 (9)陰解法はつねに安定的であり、打切り誤差のオーダーは陽解法と変わらない。(3) において
' '
' , , ( 1 ) ,
[,
, ,
]) ( t x n t u
in 1u
in11u
inu
in11S
2
11 1
11 1
) (
2 x
u u
u t
u
u
in in in in in'
'
(10)
である。S は
uin11uin n11ui
に関して減少関数であり、単調性の条件を満たしている。このた め熱伝導方程式には陰解法が使われる。
3. 最適成長モデル
マクロ経済学への応用例として、つぎの標準的な最適成長モデルを取り上げる。
³
f 0) ( max e tU c dt
c
U
. . t
s
k
xF ( k ) G k c
(11)
k ( 0 ) k
0ここで
cは消費、k は資本ストックである。動的計画法のベルマン方程式は
k
cV
( ) maxU
{U
(c
)V
('k
)(F
(k
)G k c
)} (12)と表される。消費が決まると、貯蓄は
s=F(k)–δk–cで与えられる。定常状態の資本と消費は
G U
) ('k
*F
*
*
* F(k ) k
c G
を満たす。数値計算を行うために、つぎの効用関数と生産関数を仮定する。
J
J
) 1 (c c1
U
( J 0 )
Ak
Dk
F ( )
A!00D 1この場合、資本と消費の定常値は
D
G U
D
»¼
« º
¬ ª
1 1
* A
k
*
*
*
A ( k ) k
c
DG
) 1 (
) ) (
(
*U
* 1J
J
c
k V
となる。以下に示す特殊なケースを除いて、ベルマン方程式は解析解を持たない。このため差分 法で近似解を求める。資本ストックを区間
[kmin, kmax]にとり、k
i , i=1,..,Nで近似する。分点の 間隔はΔk=(k
max–kmin)/Nとする。熱伝導方程式と同様に、陽解法と陰解法の二つの方法がある。
以下では、これらの方法について説明しよう。
3.1 陽解法
V(k
i)の初期値を
V0= (V 01, V02,..,VN0)に設定し、収束条件を満たすまでつぎの計算を繰り返 す
2)。
) )
( ( )' ( )
1 (
in i n i
n i n i
i in
in
V V U c V F k k c
V
'
U G
(13)] )' [(
)'
( 1 in
in
U V
c
(14)V'(ki)
は風上差分で近似する。風上差分では、つぎの前進差分と後退差分を使い分ける。
前進差分:
k V V
inFV
in in'
1
, )' (
後退差分:
k V V
inBV
in in' 1
, )'
( (15)
前進差分は資本の増加する方向に差分をとる。一方、後退差分は資本の減少する方向に差分をと
る。貯蓄が正であれば、資本は増加するので前進差分を用い、貯蓄が負であれば資本は減少する
ので後退差分を使う。つまり
n F i i i n
F F k k c
s ( )G , cin,F (U )'1(Vi,nF)'
nB i i n i
B
F k k c
s ( ) G
,c
in,B( U )'
1( V
i,nB)'
°°
¯
°°®
d d
!
B F
i i
B n
B i
n F F i n
i
s s
k k F U
s V
s V V
0 : ) ) ( ('
0 : )' (
0 : )' ( )'
( ,
,
G
とする。V(k) は凹関数であり、(V
i,Fn)'<(Vi,Bn )', SF<S
Bとなる。S
F≤0≤SBとなる場合は、貯蓄 はゼロとして
(Vni)'=U'(F(ki)–δki)とする。
ΔとΔk
が
CFL条件を満たすと、V
niは
V(ki)に収束する。風上差分を用いて、例えば
s>0 の点 では
) )
( ( )
( , 1 ,
1 n
F i i i in in nF n i
i in
in F k k c
k V c V
U V V
V
' '
U G
)' ( )'
( 1 ,
, n
F n i
F
i
U V
c
とする。計算機でつぎのアルゴリズムを実行する。
[ステップ
1]Vと
cの初期値を
i0
V
(1 )) )
(
( 1
J U
G J
D
i
i k
k A
i i
i
A k k
c
0( )
DG
とする。
[ステップ
2](13)から
V1iを求める。
[ステップ
3]V0と
V1の距離、
max1 | 1 0|i i N
i V V
d
d
d
を計算する。d
≤εであれば
V1を解として計算 を終了し、そうでなければ新たに
Viと
ciを計算する。
Δを十分小さくとると、先に示した単調性その他の条件は満たされる。陽解法の計算は簡単であ
るが、多数回反復しないと収束しない。このため実際には陰解法を用いた。
3.2 陰解法
陰解法はつぎの漸化式を用いる。
) )
( ( )' ( )
( 1
1 1
in i n i
n i n i
i in
in
V V U c V F k k c
V
'
U G
(16)] )' [(
)'
( 1 in
in
U V
c
(17)Vni
を
Vn+1i で置き換えた点が陽解法と異なる。このため、(16)から
Vn+1i を直接求めることはできない。そこで、V
n+1i を未知数とする連立1次方程式を解く。風上差分を適用すると近似式は
'
1 ( ) ( , 1)'( ( ) , )
1 n
F i i n i
F n i
n i i in
in V V U c V F k k c
V U G
(Vi,nB1)'(F(ki) Gki cin,B) (18)
)' ( ) '
( 1 i,nF
in U V
c RU(U')1(Vi,nB)' (19)
となる。ここで
} 0 , )
( max{
) )
(
(F ki Gki cin,F F ki Gki cin,F } 0 , )
( min{
) )
(
(F ki Gki cin,B F ki Gki cin,B
である。(15) を代入すると
' '
'
1
( )
11 1(
,)
1 11(
,)
1 n
B i in in nF
i in in in in
in
in
s
k V s V
k V c V
U V V
V U
となる。共通項を集めて整理すると
'
1 in in 1
(
in)
in
V V U c
V U x
iV
in11y
iV
in1z
iV
in11 (20)k x
is
inB'
)
(
,k s k
y
is
inF inB ' '
( )
)
(
, ,k z
is
inF'
)
(
,が得られる。(20) は行列とベクトルを用いて
1 1
1
)
1 (
'
V
nV
nU V
nU
nP
nV
n (21)と表される。ここで
Pnはつぎの
N×Nの三重対角行列である。
(21)
から
n n
n
V Q
S
1 (22)n
n I P
S ¸
¹
¨ ·
©§ ' U 1
n n
n
U V
Q
'1
となる。ただし V
n[ V
1n, V
2n,..., V
Nn]
,U
n[ U ( c
1n), U ( c
2n),.., U ( c
Nn)]
である。Vn+1は
S nの逆行列を用いて
n n
n
S Q
V
1( )
1 (23)で与えられる。近似精度を上げるために分点を増やすと、計算量は急激に増加する。ただし
S nは疎行列であり、V
n+1を効率的に計算する方法を利用できる。計算機でつぎのアルゴリズムを実 行すれば、数回反復しただけで数値解が得られる。
[ステップ
1](16)から
Vni を計算する。[ステップ
2](19)から
cni を計算する。[ステップ
3](22)から
Vn+1 を求める。[ステップ
4]||Vn1Vn||dHであれば停止する。そうでなければステップ
1へ戻る。
任意のΔに対して、Barles-Souganidis 定理の三つの条件が成り立つ。実際に計算してみよう。
資本ストックを
0.004≤k≤8.38の区間にとり、モデルのパラメータを
α=0.3, ρ=0.05, γ= – 3 , δ=0.06, A=1とする。定常状態の資本と消費は、k
*=4.19, c*=1.29となる。Δ=1,000, ε=10
-6と してアルゴリズムを実行すると、11 回反復すれば収束する。比較のために陽解法を適用すると、
1640
回も反復する必要がある。図1 は消費に関する政策関数を示している。消費は資本の単調増 加な凹関数となる。資本が
k*より小さいと貯蓄は正で、大きいと負となる。したがってどのよ うな初期値からはじめても、資本は時間とともに定常値に収束する。
パラメータが
α=–γ, δ=0であれば、価値関数と消費の決定式は
¸¸¹
¨¨ ·
©
§
¸¸¹
¨¨ ·
©
§ D
D
D U U
D 1
1 1 k V A
k c D
U
で与えられる。この場合、消費の決定式は原点を通る直線となる。厳密解があるので誤差を計算 することができる。図
2は
α=0.5, ρ=0.05のケースについて、価値関数の相対誤差をプロットし ている。定常点における相対誤差率は
7.83×10-7%と低く、平均すると
0.003%の誤差が生じる。
全体的に近似精度は高く、差分法は最適成長モデルに対してきわめて有効である。
図 1 消費の政策関数
䢳 䢴 䢵 䢶 䢷 䢸 䢹 䢺
䢲 䢲䢰䢴 䢲䢰䢶 䢲䢰䢸 䢲䢰䢺 䢳 䢳䢰䢴 䢳䢰䢶 䢳䢰䢸 䢳䢰䢺
䣭
䣥䢪䣭䢫
図 2 価値関数の誤差
䢴䢲 䢶䢲 䢸䢲 䢺䢲 䢳䢲䢲 䢳䢴䢲 䢳䢶䢲 䢳䢸䢲 䢳䢺䢲 䢴䢲䢲
䢯䢹 䢯䢸 䢯䢷 䢯䢶 䢯䢵 䢯䢴 䢯䢳 䢲
䣭
䣮䣱䣩䢳䢲䣾䣇䣾log10|E|
4. 確率的最適成長モデル
つぎに全要素生産性が確率的に変化する場合について検討しよう。前節のモデルをつぎのよう に変更する。
dt c U e
E
tc
( )
max
0 0
³
f U.t .
s
dk ( zF ( k ) G k c ) dt
(24)
k ( 0 ) k
0ここで、z は全要素生産性である。動的計画法を適用すると、ベルマン方程式は
¿¾
½
¯®
( ) 1 [ ( , )]
max ) ,
( E dV k z
c dt U z
k
V c
U (25)
と表される。ここで
log(z)は
O-U過程
dW dt z z
dlog( ) Plog( ) V P !0V !0 (26)
に従う。定常状態では
) , 0 (
~ )
log( z N Var
P V 2 Var 2
となる。全要素生産性と資本ストックの平均値は
zmean
exp(Var / 2 )
D
G U
D
¸¸¹
¨¨ ·
©
§
1
zmean 1
ks
である。V(k,z) に伊藤の公式を適用すると
z zdW dt V
z z z V
z z c V k k k zF z V
k
dV G P V V
w w
¸¸¹
¨¨ ·
©
§
w w w
w w
w 2 2
2 2
2 )) 1 log(
( ) )
( ( )
,
(
となる。両辺の期待値をとり
(25)に代入すると
z c
k
V( , ) max
U ¿¾½
¯®
w w w
w w
w 22 2 2
2 )) 1 log(
( ) )
( ( )
( z
z z z V
z z c V k k k zF c V
U G P V (27)
を得る。消費と貯蓄は
)) , ( ( )'
(
U
1V k z
c
k) , ( )
( k k c k z
zF
s G
で与えられる。
差分法を適用するために、区間
[zmin, zmax]に
M個の分点とる。分点の幅は
Δz=(zmin– zmax)/Mである。この場合も陽解法と陰解法の二つの方法があるが、計算速度が格段に速い陰解法を使用 した。V(k
i, zj)の近似値を
Vi,jと表す。V
kについては、貯蓄の符号に基づいて前進差分と後退 差分を使い分けた。V
zzは次式で近似する。
2 1 , , 1 ,
, ( )
2 z
V V Vij Vij ij ij
zz '
w (28)
V
0=[V0i,j], i=1,..,N, j=1,..,Mから始めて、つぎの漸化式を収束するまで繰り返し計算する。
'
, 1 1 ,
, n
j i nj n i
j
i V V
V U U(cin,j)
' '
, 1( , ) , 1 1,1 ( , )
,1
1 n
jB i n j n i
j n i
jF i nj n i
j
i s
k V s V
k V
V
j nj n i
j i
z V
V K
'
1
1 , 1 ,
2
11 1 ,
1 . 1 2 , 2
) ( 2
2 z
V V V
zj inj inj inj '
V
(29)
ここで
njF i i i n j
jF
i
z F k k c
s
, ( )G
,c
in,jF (U
)'1(V
i,njF)'njB i i i n j
jB
i
z F k k c
s
, ( )G
,c
in,jB (U
)'1(V
i,njB)' )log( j
j
j Pz z
K
である。右辺の共通項を集めると、(29) は
'
, 1 1 ,
, n
j i nj n i
j
i V V
V U U(cin,j) , 1,1 ( , ) , 1 , 1,1 ,11 ,11
i j j inj i j in j j inj j inj
n j i j
i V M T V Z V \ V ] V
I
'
, 1 1 ,
, n
j i nj n i
j
i
V V
V U U ( c
in,j)
, 1,1(
,)
, 1 , 1,1 ,11 ,11
i j j inj i j in j j inj j inj
n j i j
i
V M T V Z V \ V ] V
I
(30)となる。係数は
k sinjB
j
i '
)
( ,
I
,k s k
sinjF injB
j
i '
'
( )
)
( , ,
M
,k sinjF
j
i '
)
( ,
Z
,2 2 2
) ( z
z z
j
j j '
K' V T
2 2 2
) ( 2 z
zj
j '
\ V
2 2 2
) ( 2 z
z z
j j
j '
' V ] K
である。(30) は行列とベクトルを用いて
1 1
1
)
1 (
'
n n n n
n
n
V V U P V
V U
(31)と表される。変形すると
n n
n
V Q
S
1 (32)n
n I P
S ¸
¹
¨ ·
©§ '1 U
n n
n
U V
Q
'1
ここで、
] ...
...
....
...
[ 1,n1 Nn,1 1,n2. Nn,2 1,nM Nn,M
n V V V V V V
V ,
)]
( ),.., (
),...., (
),..., (
), ( ),.., (
[ 1n,1 nN,1 1n,2 nN,2 1n,M nN,M
n U c U c U c U c U c U c
U
である。P
nは
R W
P
nと表される。ただし
W
と
Rは疎行列である。高精度の解を得るには大規模な連立
1次方程式を解かなければならないが、疎行列の性質を利用した効率的な計算法がある。陰解法を使うと、有限回の反復計算で解が 得られる。しかも初期値によっては、数回反復しただけで収束する。実際にモデルを解いてみよ う。モデルのパラメータを
α=0.3, ρ=0.05, γ=–3, δ=0.06, μ=0.1, σ2=0.02, Var=0.1とした。定 常状態における
zの平均値は
1.03で、資本の平均値は
kS=4.34となる。Δ=1,000, ε=10
- 6とする と、6 回反復しただけで収束条件を満たす。図
3は消費の政策関数である。横軸に資本ストック と全要素生産性をとり、縦軸は消費である。理論的に予想されるとおり、消費は資本と生産性の 増加関数となる。パラメータの値を変えても、関数の形はあまり変わらない。図
4は
z=0.95と
z=1.10
としたときの貯蓄関数を示している。全要素生産性が上昇すると、貯蓄は増加する。図
には示さないが、価値関数
V(k,z)も資本と生産性の増加関数となる。
図 3 消費の政策関数
0
5
10
15
0.8 0.9 1 1.1 1.2 1.3 0.8 1 1.2 1.4 1.6 1.8 2 2.2
k z
c
5. 結語
標準的なラムゼイモデルの解を差分法で求める方法について検討した。つまりベルマン方程式 を解析的な方法にかわって数値的な方法で解いた。プロジェクション法や摂動法が使われること もあるが、汎用性があるのは差分法である。ただし通常の偏微分方程式と異なり、ベルマン方程 式の場合はかなり複雑な計算を行う必要がある。陽解法と陰解法の二つの方法があるが 、実際に は陰解法を用いた。この場合、大規模な連立
1次方程式を解かなければならない。幸い係数行列 は疎行列であり、効率的な計算方法を利用できる。ここではラムゼイモデルに適用したが、差分 法はほかの多くのモデルにも適用可能な一般的な方法である。
注
1) これらの解法については釜(2015)
を参照せよ。
2) 以下の数値解法についてAchdou and Capuzzo-Dolcetta (2010), Achdou (2011), Achdou et al. (2013)
を 参考にした。
参考文献
釜国男
(2015)『経済モデルの数値解析』多賀出版。Achdou, Y, I. Capuzzo -Dolcetta. (2010),
“Mean Field Games: Numerical Methods”
, SIAM Journal on Numerical Analysis, Vol.48, 1136-1162.Achdou, Y. (2011)
“Finite Difference Methods for Mean Field Games”
in Hamilton - Jacobi Equations:Approximations, Numerical Analysis and Applications (eds L. Paola, A. N, Tchou), (Lecture Notes in Mathematics 2074), Springer, Berlin.
Achdou, Y, F. Camilli, I. Capuzzo-Dolcetta.(2013),
“Mean Field Games: Convergence of a Finite Difference
Method”, SIAM Journal on Numerical Analysis, Vol.51, 2585-2612.Barles, G and P. E. Souganidis. (1991)
“Convergence of Approximation Schemes for Fully Nonlinear Second
Order Equations”, Asymptotic. Analysis, Vol.4, 271-283.図 4 貯蓄関数
䢲 䢴 䢶 䢸 䢺 䢳䢲 䢳䢴 䢳䢶
䢯䢲䢰䢺 䢯䢲䢰䢸 䢯䢲䢰䢶 䢯䢲䢰䢴 䢲 䢲䢰䢴 䢲䢰䢶 䢲䢰䢸
䣭
䣵 Z=1.10
Z=0.95