Skip to content

Commit 3e672e3

Browse files
committed
minor updates
1 parent 367655f commit 3e672e3

File tree

1 file changed

+57
-53
lines changed

1 file changed

+57
-53
lines changed

lectures/samuelson.md

Lines changed: 57 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -34,17 +34,17 @@ tags: [hide-output]
3434

3535
## 概述
3636

37-
本讲将创建保罗·萨缪尔森著名的乘数加速模型的非随机和随机版本 {cite}`Samuelson1939`
37+
本讲将介绍保罗·萨缪尔森著名的乘数加速模型,包括其非随机和随机两个版本 {cite}`Samuelson1939`
3838

39-
在此过程中,我们将扩展[面向对象编程第二讲](https://python-programming.quantecon.org/python_oop.html)中的索洛模型类示例。
39+
在此过程中,我们将扩展[面向对象编程第二讲](https://python-programming.quantecon.org/python_oop.html#example-the-solow-growth-model)中的索洛模型类示例。
4040

41-
我们的目标是
41+
本讲的主要目标包括
4242

43-
* 提供面向对象编程和类的更详细示例
44-
* 回顾一个著名模型
45-
* 回顾线性差分方程,包括确定性和随机性两种
43+
* 通过萨缪尔森模型深入学习面向对象编程和类的使用
44+
* 深入理解这个经典的经济学模型
45+
* 复习线性差分方程的相关知识,包括非随机和随机两种情况
4646

47-
让我们从一些标准导入开始
47+
让我们从一些标准的导入开始
4848

4949
```{code-cell} ipython
5050
import matplotlib.pyplot as plt
@@ -57,7 +57,7 @@ plt.rcParams["figure.figsize"] = (11, 5) #设置默认图形大小
5757
import numpy as np
5858
```
5959

60-
我们还将使用以下内容来完成下面描述的各种任务
60+
我们还将使用以下Python库
6161

6262
```{code-cell} ipython
6363
from quantecon import LinearStateSpace
@@ -70,27 +70,27 @@ from cmath import sqrt
7070

7171
### 萨缪尔森模型
7272

73-
萨缪尔森使用*二阶线性差分方程*来表示一个基于三个组成部分的国民产出模型:
73+
萨缪尔森(Samuelson)使用*二阶线性差分方程*来表示一个基于三个组成部分的国民产出模型:
7474

7575
- *国民产出恒等式*,表明国民产出或国民收入是消费、投资和政府购买的总和。
76-
- 凯恩斯式*消费函数*表明t时期的消费等于一个常数乘以t-1时期的国民产出
77-
- 投资*加速器*表明t时期的投资等于一个称为*加速系数*的常数乘以t-1时期和t-2时期产出之差
76+
- 凯恩斯式的*消费函数*表明$t$时期的消费等于一个常数乘以$t-1$时期的国民产出
77+
- 投资*加速器*表明$t$时期的投资等于一个称为*加速系数*的常数乘以$t-1$时期和$t-2$时期产出之差
7878

79-
消费加投资加政府购买构成了*总需求*这自然而然对应相等数量的*总供给*
79+
消费、投资和政府购买的总和构成了*总需求*根据供需平衡,这必然对应了相同数量的*总供给*
8080

8181
(关于线性差分方程的内容请参见[这里](https://baike.baidu.com/item/%E5%B8%B8%E7%B3%BB%E6%95%B0%E7%BA%BF%E6%80%A7%E9%80%92%E6%8E%A8%E6%95%B0%E5%88%97/8017610)或{cite}`Sargent1987`的第九章。)
8282

83-
Samuelson使用该模型分析了边际消费倾向和加速系数的特定值如何在一定概率上导致国民产出出现暂时性的*商业周期*
83+
萨缪尔森使用该模型分析了边际消费倾向和加速系数的特定值如何在一定概率上导致国民产出出现暂时性的*商业周期*
8484

85-
可能的动态特性包括
85+
可能的动态特性包括以下几种
8686

87-
* 平稳收敛到一个固定的产出水平
87+
* 动态平稳收敛到一个固定的产出水平
8888
* 最终收敛到固定产出水平的衰减商业周期
8989
* 既不衰减也不发散的持续性商业周期
9090

9191
后面我们将介绍一个扩展模型,在国民收入恒等式右侧加入一个随机冲击项,代表总需求的随机波动。
9292

93-
这一修改使国民产出受到二阶*随机线性差分方程*的支配,在适当的参数值下,会产生反复出现的不规则商业周期。
93+
这一修改使国民产出受到二阶*随机线性差分方程*的影响,在适当的参数值下,会产生反复出现的不规则商业周期。
9494

9595
(关于随机线性差分方程的内容,请参见{cite}`Sargent1987`的第XI章。)
9696

@@ -105,8 +105,8 @@ Samuelson使用该模型分析了边际消费倾向和加速系数的特定值
105105
* $\{I_t\}$ 是投资率的序列,是另一个关键内生变量。
106106
* $\{Y_t\}$ 是国民收入水平的序列,也是一个内生变量。
107107

108-
- $a$ 是凯恩斯消费函数 $C_t = \alpha Y_{t-1} + \gamma$ 中的边际消费倾向。
109-
- $b$ 是"投资加速器"$I_t = \beta (Y_{t-1} - Y_{t-2})$ 中的"加速系数"。
108+
- $\alpha$ 是凯恩斯消费函数 $C_t = \alpha Y_{t-1} + \gamma$ 中的边际消费倾向。
109+
- $\beta$ 是"投资加速器" $I_t = \beta (Y_{t-1} - Y_{t-2})$ 中的"加速系数"。
110110
- $\{\epsilon_{t}\}$ 是一个独立同分布的标准正态随机变量序列。
111111
- $\sigma \geq 0$ 是一个"波动性"参数 --- 当设定 $\sigma = 0$ 时,
112112
我们将得到最初要研究的非随机情况。
@@ -116,15 +116,15 @@ Samuelson使用该模型分析了边际消费倾向和加速系数的特定值
116116
```{math}
117117
:label: consumption
118118
119-
C_t = α Y_{t-1} + \gamma
119+
C_t = \alpha Y_{t-1} + \gamma
120120
```
121121

122122
和投资加速器
123123

124124
```{math}
125125
:label: accelerator
126126
127-
I_t = β (Y_{t-1} - Y_{t-2})
127+
I_t = \beta (Y_{t-1} - Y_{t-2})
128128
```
129129

130130
以及国民收入恒等式
@@ -135,7 +135,7 @@ I_t = β (Y_{t-1} - Y_{t-2})
135135
Y_t = C_t + I_t + G_t
136136
```
137137

138-
- 参数 $a$ 是人们的收入*边际消费倾向*
138+
- 参数 $\alpha$ 是人们的收入*边际消费倾向*
139139
- 方程 {eq}`consumption` 表明人们会消费每增加一美元收入中的 $\alpha \in (0,1)$ 部分。
140140
- 参数 $\beta > 0$ 是投资加速系数 - 方程
141141
{eq}`accelerator` 表明当收入增加时人们会投资实物资本,当收入减少时会减少投资。
@@ -169,20 +169,20 @@ $$
169169

170170
我们通常会设置参数$(\alpha,\beta)$,使得从任意一对初始条件$(\bar Y_{-1}, \bar Y_{-2})$开始,国民收入$Y_t$在$t$变大时会收敛到一个常数值。
171171

172-
我们感兴趣的是:
172+
也就是说,我们感兴趣的是:
173173

174174
- $Y_t$在收敛到其**稳态**水平过程中的暂时波动
175-
- 其收敛到稳态水平的**速率**
175+
- 及其收敛到稳态水平的**速率**
176176

177-
到目前为止所描述的确定性版本的模型——意味着没有随机冲击影响总需求——只有暂时的波动
177+
到目前为止我们讨论的是模型的非随机版本,即没有随机冲击影响总需求的情况。在这种情况下,模型只会产生暂时的波动
178178

179-
我们可以通过在总需求中加入随机冲击,将模型转换为具有持续不规则波动的模型
179+
为了使模型更贴近现实,我们可以在总需求中引入随机冲击,这样就能产生持续的、不规则的经济波动
180180

181181
### 模型的随机版本
182182

183183
我们通过在方程{eq}`second_order`的右侧加入一个**冲击****扰动**的随机过程$\{\sigma \epsilon_t \}$,创建模型的**随机**版本,
184184

185-
导致**二阶标量线性随机差分方程**
185+
由此得出**二阶标量线性随机差分方程**
186186

187187
```{math}
188188
:label: second_stochastic
@@ -269,9 +269,9 @@ $$
269269

270270
其中 $c_1$ 和 $c_2$ 是取决于两个初始条件和 $\rho_1, \rho_2$ 的常数。
271271

272-
当根为复数时,进行以下计算是有用的
272+
当根为复数时,以下的计算将非常有用
273273

274-
注意到
274+
注意
275275

276276
$$
277277
\begin{aligned}
@@ -308,7 +308,7 @@ $$
308308

309309
(请画一个余弦函数来辅助自己理解)
310310

311-
**注释:** 遵循{cite}`Samuelson1939`,我们要选择模型的参数$a, b$,使得特征多项式的(可能是复数的)根$\lambda_1, \lambda_2$的绝对值都严格小于1:
311+
**注释:** 遵循{cite}`Samuelson1939`,我们要选择模型的参数$\alpha, \beta$,使得特征多项式的(可能是复数的)根$\lambda_1, \lambda_2$的绝对值都严格小于1:
312312

313313
$$
314314
| \lambda_j | < 1 \quad \quad \text{对于 } j = 1, 2
@@ -322,7 +322,7 @@ $$
322322

323323
该函数需要我们输入$Y_{-1}, Y_{-2}$的初始条件。
324324

325-
该函数会检查$a, b$的设置是否使得$\lambda_1, \lambda_2$的绝对值(也称为"模")小于1。
325+
该函数会检查$\alpha, \beta$的设置是否使得$\lambda_1, \lambda_2$的绝对值(也称为"模")小于1。
326326

327327
该函数还会告诉我们根是否为复数,如果是复数,则会返回它们的实部和虚部。
328328

@@ -332,8 +332,8 @@ $$
332332

333333
我们编写函数的方式允许我们输入几种简单形式的$\{G_t\}$路径,例如:
334334

335-
* 在某个时间点G的一次性跳跃
336-
* 在某个时间点发生的G的永久性跳跃
335+
* 在某个时间点$G$的一次性跳跃
336+
* 在某个时间点发生的$G$的永久性跳跃
337337

338338
我们继续将萨缪尔森的乘数-加速器模型作为实验工具,用来构建一个简单的面向对象编程示例。
339339

@@ -573,15 +573,15 @@ def f(r, ϕ):
573573
并创建特征多项式的 ρ1 和 ρ2,其中
574574
r exp(j ϕ) 和 r exp(- j ϕ) 是复根。
575575
576-
返回验证这些根的乘数系数 a 和加速器系数 b
576+
返回验证这些根的乘数系数 α 和加速器系数 β
577577
"""
578578
g1 = cmath.rect(r, ϕ) # 生成两个复根
579579
g2 = cmath.rect(r, -ϕ)
580580
ρ1 = g1 + g2 # 隐含的 ρ1, ρ2
581581
ρ2 = -g1 * g2
582-
b = -ρ2 # 反向推导验证这些的 ab
583-
a = ρ1 - b
584-
return ρ1, ρ2, a, b
582+
β = -ρ2 # 反向推导验证这些的 αβ
583+
α = ρ1 - β
584+
return ρ1, ρ2, α, β
585585
586586
## 现在让我们在示例中使用这个函数
587587
## 这里是示例参数
@@ -592,9 +592,9 @@ period = 10 # 时间单位中的周期长度
592592
593593
## 应用函数
594594
595-
ρ1, ρ2, a, b = f(r, ϕ)
595+
ρ1, ρ2, α, β = f(r, ϕ)
596596
597-
print(f"a, b = {a}, {b}")
597+
print(f"α, β = {α}, {β}")
598598
print(f"ρ1, ρ2 = {ρ1}, {ρ2}")
599599
```
600600

@@ -609,7 +609,7 @@ print(f"ρ1, ρ2 = {ρ1}, {ρ2}")
609609

610610
### 使用Numpy求根
611611

612-
我们将使用numpy来计算特征多项式的根
612+
我们将使用`numpy`来计算特征多项式的根
613613

614614
```{code-cell} ipython3
615615
r1, r2 = np.roots([1, -ρ1, -ρ2])
@@ -621,7 +621,7 @@ print(f"r, ϕ = {r}, {ϕ}")
621621
print(f"p1, p2 = {p1}, {p2}")
622622
# print(f"g1, g2 = {g1}, {g2}")
623623
624-
print(f"a, b = {a}, {b}")
624+
print(f"α, β = {α}, {β}")
625625
print(f"ρ1, ρ2 = {ρ1}, {ρ2}")
626626
```
627627

@@ -686,15 +686,15 @@ period = 10 # 时间单位中的循环长度
686686
687687
## 应用反向推导函数f
688688
689-
ρ1, ρ2, a, b = f(r, ϕ)
689+
ρ1, ρ2, α, β = f(r, ϕ)
690690
691691
# 去掉虚部,使其成为y_nonstochastic的有效输入
692-
a = a.real
693-
b = b.real
692+
α = α.real
693+
β = β.real
694694
695-
print(f"a, b = {a}, {b}")
695+
print(f"α, β = {α}, {β}")
696696
697-
ytemp = y_nonstochastic(α=a, β=b, y_0=20, y_1=30)
697+
ytemp = y_nonstochastic(α=α, β=β, y_0=20, y_1=30)
698698
plot_y(ytemp)
699699
```
700700

@@ -713,10 +713,10 @@ sympy.solve(z**2 - r1*z - r2, z)
713713
```
714714

715715
```{code-cell} ipython3
716-
a = Symbol("α")
717-
b = Symbol("β")
718-
r1 = a + b
719-
r2 = -b
716+
α = Symbol("α")
717+
β = Symbol("β")
718+
r1 = α + β
719+
r2 = -β
720720
721721
sympy.solve(z**2 - r1*z - r2, z)
722722
```
@@ -1053,9 +1053,13 @@ class Samuelson():
10531053
ax.grid()
10541054
10551055
# 在图中添加参数值
1056-
paramstr = f'$\\alpha={self.α:.2f}$ \n $\\beta={self.β:.2f}$ \n \
1057-
$\\gamma={self.γ:.2f}$ \n $\\sigma={self.σ:.2f}$ \n \
1058-
$\\rho_1={self.ρ1:.2f}$ \n $\\rho_2={self.ρ2:.2f}$'
1056+
paramstr = f'''
1057+
$\\alpha={self.α:.2f}$
1058+
$\\beta={self.β:.2f}$
1059+
$\\gamma={self.γ:.2f}$
1060+
$\\sigma={self.σ:.2f}$
1061+
$\\rho_1={self.ρ1:.2f}$
1062+
$\\rho_2={self.ρ2:.2f}$'''
10591063
props = dict(fc='white', pad=10, alpha=0.5)
10601064
ax.text(0.87, 0.05, paramstr, transform=ax.transAxes,
10611065
fontsize=12, bbox=props, va='bottom')
@@ -1344,7 +1348,7 @@ pure_multiplier.plot_irf(100)
13441348

13451349
## 总结
13461350

1347-
在本讲中,我们编写了函数和类来表示萨缪尔森(1939)乘数-加速器模型的非随机和随机版本,该模型在{cite}`Samuelson1939`中有所描述。
1351+
在本讲中,我们编写了函数和类来表示萨缪尔森乘数-加速器模型的非随机和随机版本,该模型在{cite}`Samuelson1939`中有所描述。
13481352

13491353
我们看到不同的参数值会导致不同的输出路径,这些路径可能是平稳的、发散的或振荡的。
13501354

0 commit comments

Comments
 (0)