Skip to content

Commit ab0498b

Browse files
committed
update all translated lectures
1 parent 939e0f9 commit ab0498b

File tree

103 files changed

+25617
-36935
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

103 files changed

+25617
-36935
lines changed

lectures/ar1_bayes.md

+86-124
Large diffs are not rendered by default.

lectures/ar1_turningpts.md

+145-165
Large diffs are not rendered by default.

lectures/back_prop.md

+123-180
Large diffs are not rendered by default.

lectures/bayes_nonconj.md

+170-621
Large diffs are not rendered by default.

lectures/cake_eating_numerical.md

+168-229
Large diffs are not rendered by default.

lectures/cake_eating_problem.md

+163-229
Large diffs are not rendered by default.

lectures/career.md

+110-149
Large diffs are not rendered by default.

lectures/cass_fiscal.md

+338-414
Large diffs are not rendered by default.

lectures/cass_koopmans_1.md

+266-368
Large diffs are not rendered by default.

lectures/cass_koopmans_2.md

+258-379
Large diffs are not rendered by default.

lectures/coleman_policy_iter.md

+109-160
Large diffs are not rendered by default.

lectures/egm_policy_iter.md

+46-48
Original file line numberDiff line numberDiff line change
@@ -17,24 +17,24 @@ kernelspec:
1717
</div>
1818
```
1919

20-
# {index}`最优增长 IV:内生网格方法 <single: Optimal Growth IV: The Endogenous Grid Method>`
20+
# {index}`最优增长 IV:内生网格法 <single: Optimal Growth IV: The Endogenous Grid Method>`
2121

2222
```{contents} 目录
2323
:depth: 2
2424
```
2525

2626
## 概述
2727

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

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

33-
我们发现时间迭代在精确度和效率方面都明显更好
33+
我们发现时间迭代在准确性和效率方面都明显更好
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

3939
原始参考文献是{cite}`Carroll2006`
4040

@@ -48,13 +48,13 @@ from numba import jit
4848

4949
## 核心思想
5050

51-
让我们先回顾一下理论,然后看看如何进行数值计算
51+
让我们先回顾一下理论,然后看看数值计算如何配合
5252

5353
### 理论
5454

5555
采用{doc}`时间迭代讲座 <coleman_policy_iter>`中设定的模型,遵循相同的术语和符号。
5656

57-
欧拉方程是
57+
欧拉方程为
5858

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

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

68-
它以连续严格递增的消费策略 $\sigma \in \Sigma$ 作为参数。
68+
它以一个连续严格递增的消费策略$\sigma \in \Sigma$作为参数。
6969

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

7272
```{math}
7373
:label: egm_coledef
@@ -78,39 +78,39 @@ u'(c)
7878

7979
### 外生网格
8080

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

83-
具体来说,我们通过有限网格上的一组值来表示策略函数
83+
具体来说,我们用有限网格上的一组值来表示策略函数
8484

85-
在必要时,使用插值或其他方法从这种表示中重构函数本身
85+
在需要时,使用插值或其他方法从这种表示中重建函数本身
8686

87-
{doc}`之前 <coleman_policy_iter>`,为了获得更新后消费策略的有限表示,我们
87+
{doc}`之前 <coleman_policy_iter>`,为了获得更新后消费策略的有限表示,我们
8888

89-
* 固定一个收入点网格 $\{y_i\}$
90-
* 使用{eq}`egm_coledef`和一个寻根程序计算对应于每个 $y_i$ 的消费值 $c_i$
89+
* 固定了一个收入点网格 $\{y_i\}$
90+
* 使用{eq}`egm_coledef`和一个寻根程序计算对应每个$y_i$的消费值$c_i$
9191

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

94-
因此,有了点 $\{y_i, c_i\}$,我们可以通过近似重构 $K \sigma$。
94+
因此,有了点$\{y_i, c_i\}$后,我们可以通过近似重建$K \sigma$。
9595

9696
然后继续迭代...
9797

9898
### 内生网格
9999

100-
上述方法需要一个寻根程序来找到对应于给定收入值 $y_i$$c_i$。
100+
上述方法需要一个寻根程序来找到对应给定收入值$y_i$$c_i$。
101101

102-
寻根计算成本很高,因为它通常涉及大量的函数求值
102+
求根计算成本很高,因为它通常需要大量的函数求值
103103

104-
正如Carroll {cite}`Carroll2006`指出的,如果 $y_i$ 是内生选择的,我们可以避免这一点
104+
正如Carroll {cite}`Carroll2006`指出的那样,如果$y_i$是内生选择的,我们可以避免这种情况
105105

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

108-
$(u')^{-1}$$u'$ 的逆函数
108+
令$(u')^{-1}$$u'$的反函数
109109

110-
思路是这样的
110+
基本思路是
111111

112-
* 首先,我们为资本$k = y - c$固定一个*外生*网格 $\{k_i\}$。
113-
* 然后通过以下方式获得 $c_i$
112+
* 首先,我们为资本($k = y - c$)固定一个*外生*网格$\{k_i\}$。
113+
* 然后我们通过以下方式获得$c_i$
114114

115115
```{math}
116116
:label: egm_getc
@@ -122,37 +122,37 @@ c_i =
122122
\right\}
123123
```
124124

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

127-
显然,以这种方式构造的每个 $(y_i, c_i)$ 对都满足{eq}`egm_coledef`
127+
显然,以这种方式构造的每个$(y_i, c_i)$对都满足{eq}`egm_coledef`
128128

129-
有了点 $\{y_i, c_i\}$,我们可以像之前一样通过近似重构 $K \sigma$。
129+
有了这些点$\{y_i, c_i\}$,我们可以像之前一样通过近似重构$K \sigma$。
130130

131-
EGM这个名称来源于网格 $\{y_i\}$ **内生**确定的这一事实
131+
EGM这个名称来源于网格$\{y_i\}$是**内生**决定的这一事实
132132

133133
## 实现
134134

135-
如{doc}`之前 <coleman_policy_iter>`一样,我们将从一个简单的设定开始,其中
135+
如{doc}`之前 <coleman_policy_iter>`,我们将从一个简单的设定开始,其中
136136

137137
* $u(c) = \ln c$,
138-
* 生产函数是Cobb-Douglas形式,且
139-
* 冲击是对数正态分布的
138+
* 生产函数是柯布-道格拉斯形式,且
139+
* 冲击是对数正态分布
140140

141-
这将允许我们与解析解进行比较
141+
这将使我们能够与解析解进行比较
142142

143143
```{code-cell} python3
144144
:load: _static/lecture_specific/optgrowth/cd_analytical.py
145145
```
146146

147-
我们重用`OptimalGrowthModel`
147+
我们重用 `OptimalGrowthModel`
148148

149149
```{code-cell} python3
150150
:load: _static/lecture_specific/optgrowth_fast/ogm.py
151151
```
152152

153153
### 算子
154154

155-
这里是使用上述EGM实现的 $K$ 算子
155+
以下是使用EGM实现$K$的代码,如上所述
156156

157157
```{code-cell} python3
158158
@jit
@@ -162,7 +162,7 @@ def K(σ_array, og):
162162
163163
"""
164164
165-
# 简化名称
165+
# 简化命名
166166
f, β = og.f, og.β
167167
f_prime, u_prime = og.f_prime, og.u_prime
168168
u_prime_inv = og.u_prime_inv
@@ -185,7 +185,7 @@ def K(σ_array, og):
185185
return c
186186
```
187187

188-
注意这里没有任何寻根算法
188+
注意这里没有任何求根算法
189189

190190
### 测试
191191

@@ -202,31 +202,31 @@ grid = og.grid
202202
:load: _static/lecture_specific/coleman_policy_iter/solve_time_iter.py
203203
```
204204

205-
让我们调用它
205+
让我们运行它
206206

207207
```{code-cell} python3
208208
σ_init = np.copy(grid)
209209
σ = solve_model_time_iter(og, σ_init)
210210
```
211211

212-
这是结果策略与真实策略的对比图
212+
以下是结果策略与真实策略的比较
213213

214214
```{code-cell} python3
215215
y = grid + σ # y_i = k_i + c_i
216216
217217
fig, ax = plt.subplots()
218218
219219
ax.plot(y, σ, lw=2,
220-
alpha=0.8, label='近似策略函数')
220+
alpha=0.8, label='approximate policy function')
221221
222222
ax.plot(y, σ_star(y, og.α, og.β), 'k--',
223-
lw=2, alpha=0.8, label='真实策略函数')
223+
lw=2, alpha=0.8, label='true policy function')
224224
225225
ax.legend()
226226
plt.show()
227227
```
228228

229-
两个策略之间的最大绝对偏差是
229+
两个策略之间的最大绝对偏差是
230230

231231
```{code-cell} python3
232232
np.max(np.abs(σ - σ_star(y, og.α, og.β)))
@@ -239,10 +239,8 @@ np.max(np.abs(σ - σ_star(y, og.α, og.β)))
239239
σ = solve_model_time_iter(og, σ_init, verbose=False)
240240
```
241241

242-
相对于已经被证明非常高效的时间迭代,EGM在不影响精确度的情况下进一步缩短了运行时间。
243-
244-
这是因为这个算法没有使用寻根算法。
245-
246-
我们现在掌握了一个可以快速求解最优增长模型的工具。
242+
相对于时间迭代,EGM在没有任何数值求根步骤的情况下,仍然能够显著减少计算时间,同时保持高精度。
247243

244+
这是因为没有数值求根步骤。
248245

246+
我们现在可以非常快速地求解给定参数的随机最优增长模型。

0 commit comments

Comments
 (0)