Skip to content

Commit 679a15a

Browse files
authored
Merge pull request #77 from QuantEcon/egm_policy_iter
[Optimal Growth IV] Update Translations
2 parents a36af2f + 32120c3 commit 679a15a

File tree

1 file changed

+46
-46
lines changed

1 file changed

+46
-46
lines changed

lectures/egm_policy_iter.md

Lines changed: 46 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,16 @@ kernelspec:
2727

2828
在之前,我们使用以下方法求解了随机最优增长模型:
2929

30-
1. {doc}`值函数迭代 <optgrowth_fast>`
30+
1. {doc}`价值函数迭代 <optgrowth_fast>`
3131
1. {doc}`基于欧拉方程的时间迭代 <coleman_policy_iter>`
3232

3333
我们发现时间迭代在准确性和效率方面都明显更好。
3434

35-
在本讲中,我们将学习一种对时间迭代的巧妙变形,称为**内生网格方法**(EGM)。
35+
在本讲义中,我们将介绍时间迭代的一种巧妙变体,称为**内生网格法**(EGM)。
3636

37-
EGM是由[Chris Carroll](http://www.econ2.jhu.edu/people/ccarroll/)发明的一种实现政策迭代的数值方法
37+
EGM是由[Chris Carroll](http://www.econ2.jhu.edu/people/ccarroll/)发明的一种用于实现政策迭代的数值方法
3838

39-
原始参考文献是{cite}`Carroll2006`
39+
该方法的原始参考文献是{cite}`Carroll2006`
4040

4141
让我们从一些标准导入开始:
4242

@@ -53,13 +53,13 @@ from numba import jit
5353

5454
## 核心思想
5555

56-
让我们先回顾一下理论,然后看看数值计算如何配合
56+
我们首先回顾理论背景,然后说明数值方法如何融入其中
5757

5858
### 理论
5959

60-
采用{doc}`时间迭代讲座 <coleman_policy_iter>`中设定的模型,遵循相同的术语和符号。
60+
我们沿用{doc}`时间迭代 <coleman_policy_iter>`中的模型设定,遵循相同的术语和符号。
6161

62-
欧拉方程为
62+
欧拉方程为
6363

6464
```{math}
6565
:label: egm_euler
@@ -68,11 +68,11 @@ from numba import jit
6868
= \beta \int (u'\circ \sigma^*)(f(y - \sigma^*(y)) z) f'(y - \sigma^*(y)) z \phi(dz)
6969
```
7070

71-
如我们所见,Coleman-Reffett算子是一个非线性算子$K$,其设计使得$\sigma^*$$K$的不动点。
71+
如前所示,Coleman-Reffett算子是一个非线性算子 $K$,其设计使得 $\sigma^*$$K$ 的不动点。
7272

73-
它以一个连续严格递增的消费策略$\sigma \in \Sigma$作为参数
73+
该算子以一个连续且严格递增的消费策略 $\sigma \in \Sigma$ 作为自变量
7474

75-
它返回一个新函数$K \sigma$,其中$(K \sigma)(y)$是满足以下方程的$c \in (0, \infty)$:
75+
它返回一个新函数 $K \sigma$,其中 $(K \sigma)(y)$ 是满足以下方程的 $c \in (0, \infty)$:
7676

7777
```{math}
7878
:label: egm_coledef
@@ -83,39 +83,39 @@ u'(c)
8383

8484
### 外生网格
8585

86-
如{doc}`时间迭代讲座 <coleman_policy_iter>`中所讨论的,要在计算机上实现该方法,我们需要一个数值近似
86+
如{doc}`时间迭代 <coleman_policy_iter>`中所述,为了在计算机上实现该方法,我们需要数值近似
8787

88-
具体来说,我们用有限网格上的一组值来表示策略函数
88+
具体来说,我们通过在有限网格上取值的方式表示策略函数
8989

90-
在需要时,使用插值或其他方法从这种表示中重建函数本身
90+
在需要时,使用插值或其他方法从该有限表示中重建原函数
9191

92-
{doc}`之前 <coleman_policy_iter>`,为了获得更新后消费策略的有限表示,我们
92+
{doc}`时间迭代 <coleman_policy_iter>`中,为了获得更新后的消费策略的有限表示,我们
9393

94-
* 固定了一个收入点网格 $\{y_i\}$
95-
* 使用{eq}`egm_coledef`和一个寻根程序计算对应每个$y_i$的消费值$c_i$
94+
* 固定一组收入点 $\{y_i\}$
95+
* 使用{eq}`egm_coledef`与求根算法,计算与每个 $y_i$ 对应的消费值 $c_i$
9696

97-
每个$c_i$被解释为函数$K \sigma$$y_i$处的值。
97+
每个 $c_i$ 被解释为函数 $K \sigma$$y_i$ 处的值。
9898

99-
因此,有了点$\{y_i, c_i\}$,我们可以通过近似重建$K \sigma$。
99+
因此,有了点集 $\{y_i, c_i\}$,我们可以通过近似重建 $K \sigma$。
100100

101101
然后继续迭代...
102102

103103
### 内生网格
104104

105-
上述方法需要一个寻根程序来找到对应给定收入值$y_i$$c_i$。
105+
上述方法需要通过求根算法来确定与给定收入值 $y_i$ 对应的消费水平 $c_i$。
106106

107-
求根计算成本很高,因为它通常需要大量的函数求值
107+
然而,求根运算的代价较高,因为其通常涉及大量函数求值
108108

109-
正如Carroll {cite}`Carroll2006`指出的那样,如果$y_i$是内生选择的,我们可以避免这种情况
109+
正如Carroll {cite}`Carroll2006`所指出的,如果 $y_i$ 是内生选择的,则可避免这一过程
110110

111-
唯一需要的假设是$u'$$(0, \infty)$上是可逆的。
111+
唯一需要的假设是$u'$$(0, \infty)$ 上是可逆的。
112112

113-
令$(u')^{-1}$$u'$的反函数。
113+
$(u')^{-1}$$u'$ 的反函数。
114114

115-
基本思路是
115+
其核心思想如下
116116

117-
* 首先,我们为资本($k = y - c$)固定一个*外生*网格$\{k_i\}$
118-
* 然后我们通过以下方式获得$c_i$
117+
* 首先,固定一个关于资本($k = y - c$)*外生*网格 $\{k_i\}$
118+
* 接着,根据以下公式求得 $c_i$:
119119

120120
```{math}
121121
:label: egm_getc
@@ -127,23 +127,23 @@ c_i =
127127
\right\}
128128
```
129129

130-
* 最后,对于每个$c_i$我们设定$y_i = c_i + k_i$。
130+
* 最后,对每个 $c_i$,设定 $y_i = c_i + k_i$。
131131

132-
显然,以这种方式构造的每个$(y_i, c_i)$对都满足{eq}`egm_coledef`
132+
显然,每个通过上述方式构建的 $(y_i, c_i)$ 都满足{eq}`egm_coledef`
133133

134-
有了这些点$\{y_i, c_i\}$,我们可以像之前一样通过近似重构$K \sigma$。
134+
有了点集 $\{y_i, c_i\}$,我们即可通过近似方法重建 $K \sigma$。
135135

136-
EGM这个名称来源于网格$\{y_i\}$是**内生**决定的这一事实
136+
新的EGM算法的关键在于:网格 $\{y_i\}$ **内生**决定的
137137

138138
## 实现
139139

140-
{doc}`之前 <coleman_policy_iter>`,我们将从一个简单的设定开始,其中
140+
{doc}`时间迭代 <coleman_policy_iter>`相同,我们从一个简单设定开始:
141141

142-
* $u(c) = \ln c$
143-
* 生产函数是柯布-道格拉斯形式,且
144-
* 冲击是对数正态分布
142+
* $u(c) = \ln c$
143+
* 生产函数是柯布-道格拉斯形式
144+
* 冲击项服从对数正态分布
145145

146-
这将使我们能够与解析解进行比较
146+
这一设定使我们能够将数值解与解析解进行对比。
147147

148148
```{code-cell} ipython3
149149
:load: _static/lecture_specific/optgrowth/cd_analytical.py
@@ -157,7 +157,7 @@ EGM这个名称来源于网格$\{y_i\}$是**内生**决定的这一事实。
157157

158158
### 算子
159159

160-
以下是使用EGM实现$K$的代码,如上所述。
160+
以下给出使用EGM方法实现算子 $K$ 的代码
161161

162162
```{code-cell} ipython3
163163
@jit
@@ -190,18 +190,18 @@ def K(σ_array, og):
190190
return c
191191
```
192192

193-
注意这里没有任何求根算法
193+
值得注意的是,该算法不需要求根算法
194194

195195
### 测试
196196

197-
首先我们创建一个实例
197+
首先,我们创建一个实例
198198

199199
```{code-cell} ipython3
200200
og = OptimalGrowthModel()
201201
grid = og.grid
202202
```
203203

204-
这是我们的求解程序
204+
下面是求解程序
205205

206206
```{code-cell} ipython3
207207
:load: _static/lecture_specific/coleman_policy_iter/solve_time_iter.py
@@ -214,18 +214,18 @@ grid = og.grid
214214
σ = solve_model_time_iter(og, σ_init)
215215
```
216216

217-
以下是结果策略与真实策略的比较
217+
以下是得到的策略与真实策略的比较
218218

219219
```{code-cell} ipython3
220220
y = grid + σ # y_i = k_i + c_i
221221
222222
fig, ax = plt.subplots()
223223
224224
ax.plot(y, σ, lw=2,
225-
alpha=0.8, label='approximate policy function')
225+
alpha=0.8, label='近似策略函数')
226226
227227
ax.plot(y, σ_star(y, og.α, og.β), 'k--',
228-
lw=2, alpha=0.8, label='true policy function')
228+
lw=2, alpha=0.8, label='真实策略函数')
229229
230230
ax.legend()
231231
plt.show()
@@ -237,15 +237,15 @@ plt.show()
237237
np.max(np.abs(σ - σ_star(y, og.α, og.β)))
238238
```
239239

240-
收敛需要多长时间?
240+
收敛所需的时间为:
241241

242242
```{code-cell} ipython3
243243
%%timeit -n 3 -r 1
244244
σ = solve_model_time_iter(og, σ_init, verbose=False)
245245
```
246246

247-
相对于时间迭代,EGM在没有任何数值求根步骤的情况下,仍然能够显著减少计算时间,同时保持高精度
247+
相较于已被证明高度高效的时间迭代法,内生网格法(EGM)在保持精度不变的前提下,进一步显著减少了运行时间
248248

249-
这是因为没有数值求根步骤
249+
其主要原因在于该方法不需要进行数值求根步骤
250250

251-
我们现在可以非常快速地求解给定参数的随机最优增长模型
251+
因此,我们能够在给定参数下以极高的速度求解最优增长模型

0 commit comments

Comments
 (0)