@@ -24,21 +24,21 @@ kernelspec:
2424
2525## 概述
2626
27- 本讲使用矩阵来解决一些线性差分方程 。
27+ 本讲使用矩阵来解决线性差分方程 。
2828
2929作为一个实际例子,我们将研究一个保罗·萨缪尔森 1939 年文章 {cite}` Samuelson1939 ` 中的** 二阶线性差分方程** ,该文章引入了** 乘数加速器** 模型。
3030
31- 该模型推动了早期美国凯恩斯主义宏观经济模型的计量经济版本 。
31+ 这个模型对早期美国凯恩斯主义宏观经济学的计量经济学研究产生了重要影响 。
3232
33- 你可以在 {doc}` intermediate:samuelson ` 中阅读该模型的详细信息 。
33+ 如果你想了解更多关于这个模型的细节,可以参考 {doc}` intermediate:samuelson ` 。
3434
35- (该讲座还描述了一些关于二阶线性差分方程的细节 。)
35+ (该讲座也包含了二阶线性差分方程的一些技术细节 。)
3636
37- 在本讲座中,我们还将了解一个非平稳单变量时间序列 $\{ y_t\} _ {t=0}^T$ 的 ** 自回归** 表达和 ** 移动平均** 表达 。
37+ 在本讲座中,我们将探讨如何用两种不同的方式来表示非平稳时间序列 $\{ y_t\} _ {t=0}^T$: ** 自回归** 表示和 ** 移动平均** 表示 。
3838
3939我们还将研究一个涉及解“前瞻性”线性差分方程的“完全预见的”股票价格模型。
4040
41- 我们将使用以下导入 :
41+ 让我们先导入所需的Python包 :
4242
4343``` {code-cell} ipython3
4444import numpy as np
@@ -73,7 +73,7 @@ y_{t} = \alpha_{0} + \alpha_{1} y_{t-1} + \alpha_{2} y_{t-2}
7373实际上,它是 $T$ 个关于 $T$ 个变量 $y_1, y_2, \ldots, y_T$ 的线性方程的集合。
7474
7575``` {note}
76- 为了能够解决一个二阶线性差分方程,我们需要两个**边界条件**,它们可以采取两种 **初始条件**或两种 **终端条件**或可能是每种一种的形式 。
76+ 为了能够解决一个二阶线性差分方程,我们需要两个**边界条件**,它们可以采取两个 **初始条件**或两个 **终端条件**或每种各一个的形式 。
7777```
7878
7979我们将方程写成堆叠系统
125125
126126我们用 Python 来实现一个例子来展现萨缪尔森乘数-加速器模型的基本思想。
127127
128- 我们将参数设置为与讲 {doc}` intermediate:samuelson ` 中使用的值相同 。
128+ 我们使用与 {doc}` intermediate:samuelson ` 讲座相同的参数值 。
129129
130130``` {code-cell} ipython3
131131T = 80
@@ -157,16 +157,15 @@ b[0] = α_0 + α_1 * y_0 + α_2 * y_neg1
157157b[1] = α_0 + α_2 * y_0
158158```
159159
160- 让我们来看看我们的例子中的矩阵 $A$ 和向量 $b$。
160+ 让我们打印出例子中的矩阵 $A$ 和向量 $b$。
161161
162162``` {code-cell} ipython3
163163A, b
164164```
165165
166166现在我们来求解 $y$ 的路径。
167167
168- 如果 $y_t$ 是 $t$ 时间的国民生产总值,那么我们就有了一个版本的
169- 萨缪尔森的国民生产总值动态模型。
168+ 如果 $y_t$ 表示 $t$ 时期的国民生产总值,那么这就是萨缪尔森国民生产总值动态模型的一个版本。
170169
171170要求解 $y = A^{-1} b$,我们可以直接倒置 $A$
172171
@@ -176,7 +175,7 @@ A_inv = np.linalg.inv(A)
176175y = A_inv @ b
177176```
178177
179- or we can use ` np.linalg.solve ` :
178+ 或者我们可以使用 ` np.linalg.solve ` :
180179
181180``` {code-cell} ipython3
182181y_second_method = np.linalg.solve(A, b)
@@ -201,7 +200,7 @@ np.allclose(A, np.tril(A))
201200然而,对于这个小例子来说,稳定性不是问题。此外,我们将下面重复使用`A_inv`,直接计算出它来会有比较好。
202201```
203202
204- Now we can plot.
203+ 现在我们可以绘制时间序列。
205204
206205``` {code-cell} ipython3
207206plt.plot(np.arange(T)+1, y)
@@ -211,7 +210,7 @@ plt.ylabel('y')
211210plt.show()
212211```
213212
214- 通过在{eq}` tswm_1 ` 中设定 $y_t = y_ {t-1} = y_ {t-2} = y^* $,可以得到 $y_t$ 的 {ref}` *稳态*<scalar-dynam:steady-state> ` 值 $y^* $。
213+ 通过在{eq}` tswm_1 ` 中设 $y_t = y_ {t-1} = y_ {t-2} = y^* $,可以得到 $y_t$ 的 {ref}` *稳态*<scalar-dynam:steady-state> ` 值 $y^* $。
215214
216215$$
217216y^* = \frac{\alpha_{0}}{1 - \alpha_{1} - \alpha_{2}}
@@ -243,7 +242,7 @@ plt.show()
243242
244243## 添加随机项
245244
246- 为了让这个例子有趣一些,我们将遵循经济学家[ 尤金·斯卢茨基] ( https://en.wikipedia.org/wiki/Eugen_Slutsky ) 和[ 拉格纳·弗里希] ( https://en.wikipedia.org/wiki/Ragnar_Frisch ) 的方法,用以下** 二阶随机线性差分方程** 替换我们原来的二阶差分方程:
245+ 为了让这个例子有趣一些,我们将遵循经济学家[ 尤金·斯卢茨基] ( https://baike.baidu.com/item/%E5%B0%A4%E9%87%91%C2%B7%E6%96%AF%E5%8B%92%E8%8C%A8%E5%9F%BA/15727527 ) 和[ 拉格纳·弗里希] ( https://baike.baidu.com/item/%E6%8B%89%E6%A0%BC%E7%BA%B3%C2%B7%E5%BC%97%E9%87%8C%E5%B8%8C/11051879 ) 的方法,用以下** 二阶随机线性差分方程** 替换我们原来的二阶差分方程:
247246
248247
249248``` {math}
@@ -297,7 +296,7 @@ plt.ylabel('y')
297296plt.show()
298297```
299298
300- 上面的时间序列在最近几十年中与很多先进国家(去趋势后的)GDP系列非常相似 。
299+ 上面生成的时间序列与许多发达国家近几十年的实际GDP数据(去除趋势后)有着惊人的相似性 。
301300
302301我们可以模拟 $N$ 条路径。
303302
@@ -436,11 +435,11 @@ series_process = population_moments()
436435A_inv = series_process.A_inv
437436```
438437
439- 研究由各种参数值隐含的 $\mu_y, \Sigma_y$ 是非常有意义的 。
438+ 接下来,让我们探索不同参数值对 $\mu_y$ 和 $ \Sigma_y$ 的影响 。
440439
441- 此外,我们可以使用该类展示 $y$ 的 **统计平稳性**仅在非常特殊的初始条件下成立 。
440+ 这个分析也将帮助我们理解一个重要的性质: $y$ 序列的 **统计平稳性**。我们会发现,只有在非常特定的初始条件下,这个序列才是平稳的 。
442441
443- 让我们首先生成 $y$ 的 $N$ 次时间实现,并将它们与总体均值 $\mu_y$ 一起绘制出来 。
442+ 为了直观地理解这一点,我们先生成 $N$ 条 $y$ 序列的样本路径,并将它们与理论均值 $\mu_y$ 进行对比 。
444443
445444```{code-cell} ipython3
446445# 绘制均值
@@ -458,7 +457,7 @@ plt.ylabel('y')
458457plt.show()
459458```
460459
461- 从视觉上看,注意到随着 $t$ 增加,$y_t$ 的各次实现之间的方差在减少 。
460+ 从图中可以观察到一个有趣的现象:随着时间 $t$ 的推移,不同样本路径之间的离散程度在逐渐减小 。
462461
463462绘制总体方差 $\Sigma_y$ 对角线。
464463
@@ -468,9 +467,9 @@ plt.plot(Σ_y.diagonal())
468467plt.show()
469468```
470469
471- 注意总体方差如何增加并接近渐近值 。
470+ 从图中我们可以看到,总体方差随时间增加,最终趋于一个稳定值。这种收敛行为反映了系统的内在稳定性 。
472471
473- 让我们从多个实现中计算样本方差并绘制出来 。
472+ 为了进一步验证这一点,让我们通过模拟多条样本路径来计算样本方差,并将其与理论预测进行对比 。
474473
475474```{code-cell} ipython3
476475series_process = population_moments(α_0=0,
@@ -486,15 +485,15 @@ print("μ_y = ", μ_y)
486485print("Σ_y = \n", Σ_y)
487486```
488487
489- 注意 $y_t$ 和 $y_{t-1}$ 之间的协方差—— 即超对角线上的元素——并*不*相同 。
488+ 观察 $y_t$ 和 $y_{t-1}$ 之间的协方差( 即超对角线上的元素),我们发现它们并不相等 。
490489
491- 这表明由 $y$ 向量表示的时间序列并非**平稳 **。
490+ 这个特征告诉我们,由 $y$ 向量表示的时间序列不具有**平稳性 **。
492491
493- 为了使其平稳,我们必须改变系统,使得*初始条件* $(y_0, y_{-1})$ 不再是固定的数值,而是一个具有特定均值和协方差矩阵的联合正态分布随机向量 。
492+ 要使序列变得平稳,我们需要对系统做一个关键的改变:不再将初始条件 $(y_0, y_{-1})$ 设为固定值,而是让它们服从一个特定的联合正态分布,这个分布具有合适的均值和协方差矩阵 。
494493
495- 我们在 [线性状态空间模型](https://python.quantecon.org/linear_models.html)中描述了如何实现这一点 。
494+ 如果你想了解如何实现这一点,可以参考我们在 [线性状态空间模型](https://python.quantecon.org/linear_models.html)中的详细讨论 。
496495
497- 但为了为分析做好铺垫,接下来我们打印出 $\Sigma_y$ 的右下角 。
496+ 在继续深入分析之前,让我们先来看看 $\Sigma_y$ 矩阵右下角的数值 。
498497
499498```{code-cell} ipython3
500499series_process = population_moments()
@@ -503,27 +502,23 @@ series_process = population_moments()
503502print("bottom right corner of Σ_y = \n", Σ_y[72:,72:])
504503```
505504
506- 注意 $y_t$ 和 $y_{t-1}$ 之间的协方差——即超对角线上的元素——并*不*相同 。
505+ 请注意,随着时间 $t$ 的增加,子对角线和超对角线上的元素似乎趋于收敛 。
507506
508- 这表明由 $y$ 向量表示的时间序列并非**平稳** 。
507+ 这表明我们的过程是渐近平稳的 。
509508
510- 为了使其平稳,我们必须改变系统,使得*初始条件* $(y_0, y_{-1})$ 不再是固定的数值,而是一个具有特定均值和协方差矩阵的联合正态分布随机向量 。
509+ 你可以在[线性状态空间模型](https://python.quantecon.org/linear_models.html)中阅读更多关于更一般线性时间序列模型的平稳性 。
511510
512- 我们在[线性状态空间模型](https://python.quantecon.org/linear_models.html)中描述了如何实现这一点。
513-
514- 但为了为分析做好铺垫,接下来我们打印出 $\Sigma_y$ 的右下角。
511+ 通过观察不同时间段的$\Sigma_y$的非对角线元素,我们可以学到很多关于这个过程的知识,但我们在这里暂时先不展开。
515512
516513+++
517514
518515## 移动平均表示
519516
520- 让我们打印出 $A^{-1}$ 并观察其结构
517+ 让我们来研究 $A^{-1}$ 矩阵的结构。这个矩阵的形状会告诉我们一些关于系统动态特性的重要信息。
521518
522519 * 它是三角形矩阵、接近三角形,还是其他形式 $\ldots$?
523520
524- 为了研究 $A^{-1}$ 的结构,我们将只打印到小数点后三位。
525-
526- 首先让我们打印出 $A^{-1}$ 的左上角部分。
521+ 为了便于观察,我们将打印 $A^{-1}$ 矩阵左上角的一部分,并将数值保留到小数点后三位。
527522
528523```{code-cell} ipython3
529524print(A_inv[0:7,0:7])
546541y_ {t+1}=\sum_ {i=1}^{t+1}\tilde{A}_ {t+1,i}b_ {i}+\sum_ {i=1}^{t}\tilde{A}_ {t+1,i}u_ {i}+u_ {t+1}
547542$$
548543
549- 这是一个具有时间变化系数的 **移动平均**表示。
544+ 这是一个 **移动平均**表示,其系数随时间变化 。
550545
551- 正如系统 {eq}`eq:eqma` 构成了 $y$ 的**移动平均** 表示,系统 {eq}`eq:eqar` 构成了 $y$ 的**自回归**表示 。
546+ 我们可以看到,系统既可以用移动平均形式 {eq}`eq:eqma` 表示,也可以用自回归形式 {eq}`eq:eqar` 表示。这两种表示方式描述了同一个随机过程,只是从不同的角度来看 。
552547
553- ## 一个前瞻性模型
548+ ## 从后视到前瞻
554549
555- 萨缪尔森的模型是 *后视*的,因为我们给它 *初始条件*并让它运行 。
550+ 到目前为止,我们分析的萨缪尔森模型是一个 *后视(backward-looking)*模型 - 给定 *初始条件*后,系统就会向前演化 。
556551
557- 现在我们转向一个*前瞻性 *模型。
552+ 接下来让我们转向一个*前瞻(forward-looking) *模型,这类模型在宏观经济学和金融学中被广泛使用 。
558553
559554我们应用类似的线性代数工具来研究一个广泛用作宏观经济学和金融学基准的*完全预见*模型。
560555
561556例如,假设 $p_t$ 是股票价格,$y_t$ 是其股息。
562557
563- 我们假设 $y_t$ 由我们刚刚分析的二阶差分方程确定,因此
558+ 假设股息 $y_t$ 遵循我们前面分析的二阶差分方程,即
564559
565560$$
566561y = A^{-1} \left(b + u\right)
574569
575570其中 $\beta$ 是折现因子。
576571
577- 该模型断言,在 $t$ 时股票的价格等于(完全预见的)未来股息的折现现值之和
578-
572+ 该模型表明,股票在 $t$ 时刻的价格等于从当期开始直到终期所有未来股息的现值之和。每期股息都按折现因子 $\beta$ 进行贴现,期数越远贴现程度越大。
579573
580574$$
581575\underset{\equiv p}{\underbrace{\left[ \begin{array}{c}
604598```
605599
606600```{code-cell} ipython3
607- # construct B
601+ # 构建 B
608602B = np.zeros((T, T))
609603
610604for i in range(T):
0 commit comments